af6f17c243
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
111 lines
2.7 KiB
Groovy
111 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
|
|
}
|
|
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
sources sourcesJar
|
|
}
|
|
|
|
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"
|
|
def kotlinStdLibTestOutput = project(':kotlin-stdlib').sourceSets.test.output
|
|
def objectFactory = project.objects
|
|
doFirst {
|
|
testClassesDirs = kotlinStdLibTestOutput
|
|
classpath = objectFactory.fileCollection().from(
|
|
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
|
|
|