Files
kotlin-fork/libraries/stdlib/jdk7/build.gradle
T
Vyacheslav Gerasimov ab146bd6d4 Build: Fix deprecated Gradle configurations usages
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00

119 lines
2.7 KiB
Groovy

description = 'Kotlin Standard Library JDK 7 extension'
apply plugin: 'kotlin'
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_7)
JvmToolchain.updateJvmTarget(project, "1.6")
configurePublishing(project)
configureSourcesJar()
configureJavadocJar()
sourceSets {
main {
kotlin {
srcDir 'src'
}
}
test {
kotlin {
srcDir 'test'
if(!BuildPropertiesKt.getKotlinBuildProperties(project).inIdeaSync) {
srcDir '../jvm/test'
srcDir '../common/test'
srcDir '../test'
}
}
}
noJdk7Test {
kotlin {
srcDir 'testNoJdk7'
}
}
java9 {
java {
srcDir 'java9'
}
}
}
configurations {
noJdk7TestApi.extendsFrom(testApi)
}
dependencies {
api project(':kotlin-stdlib')
testApi project(':kotlin-test:kotlin-test-junit')
}
jar {
manifestAttributes(manifest, project, 'Main', true)
from sourceSets.java9.output
}
configureModularJar {
dependsOn(jar)
manifestAttributes(manifest, project, 'Main', true)
from zipTree(jar.outputs.files.singleFile)
}
artifacts {
archives sourcesJar
sources sourcesJar
archives modularJar
}
compileKotlin {
kotlinOptions.freeCompilerArgs = [
"-Xallow-kotlin-package",
"-Xmultifile-parts-inherit",
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlin.contracts.ExperimentalContracts",
"-Xsuppress-deprecated-jvm-target-warning",
]
kotlinOptions.moduleName = project.name
}
compileTestKotlin {
kotlinOptions.freeCompilerArgs = [
"-Xallow-kotlin-package",
"-Xmulti-platform",
"-opt-in=kotlin.RequiresOptIn",
"-opt-in=kotlin.ExperimentalUnsignedTypes",
"-opt-in=kotlin.ExperimentalStdlibApi",
"-opt-in=kotlin.io.path.ExperimentalPathApi",
"-Xcommon-sources=${fileTree('../test').join(',')}",
"-Xsuppress-deprecated-jvm-target-warning",
]
}
configureFrontendIr(project)
LibrariesCommon.configureJava9Compilation(project, 'kotlin.stdlib.jdk7')
task testJdk6Tests(type: Test) {
dependsOn(':kotlin-stdlib:testClasses')
group = "verification"
doFirst {
testClassesDirs = project(':kotlin-stdlib').sourceSets.test.output
classpath = files(
testClassesDirs,
sourceSets.test.compileClasspath
)
}
}
task testNoJdk7(type: Test, dependsOn: noJdk7TestClasses) {
group = "verification"
testClassesDirs = sourceSets.noJdk7Test.output.classesDirs
classpath = sourceSets.noJdk7Test.runtimeClasspath
}
check.dependsOn testJdk6Tests, testNoJdk7