88 lines
2.0 KiB
Groovy
88 lines
2.0 KiB
Groovy
description = 'Kotlin Standard Library JDK 8 extension'
|
|
|
|
apply plugin: 'kotlin'
|
|
|
|
configurePublishing(project)
|
|
configureSourcesJar()
|
|
RepoArtifacts.javadocJar(project)
|
|
|
|
dependencies {
|
|
api project(':kotlin-stdlib')
|
|
api project(':kotlin-stdlib-jdk7')
|
|
testApi project(':kotlin-test:kotlin-test-junit')
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
kotlin {
|
|
}
|
|
}
|
|
test {
|
|
kotlin {
|
|
}
|
|
}
|
|
java9 {
|
|
java {
|
|
srcDir 'java9'
|
|
}
|
|
}
|
|
moduleTest {
|
|
java {
|
|
srcDir 'moduleTest'
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
moduleTestApi project(':kotlin-stdlib')
|
|
moduleTestApi project(':kotlin-stdlib-jdk7')
|
|
moduleTestCompileOnly project
|
|
moduleTestApi project(':kotlin-test:kotlin-test-junit')
|
|
moduleTestApi "org.ow2.asm:asm:9.0"
|
|
}
|
|
|
|
jar {
|
|
manifestAttributes(manifest, project, 'Main', true)
|
|
from sourceSets.java9.output
|
|
}
|
|
|
|
sourcesJar {
|
|
from sourceSets.java9.allSource
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
sources sourcesJar
|
|
}
|
|
|
|
compileKotlin {
|
|
kotlinOptions.moduleName = project.name
|
|
}
|
|
|
|
compileTestKotlin {
|
|
}
|
|
|
|
configureFrontendIr(project)
|
|
|
|
LibrariesCommon.configureJava9Compilation(project, 'kotlin.stdlib.jdk8')
|
|
|
|
tasks.named("compileModuleTestJava", JavaCompile) {
|
|
sourceCompatibility = JavaVersion.VERSION_1_9
|
|
targetCompatibility = JavaVersion.VERSION_1_9
|
|
}
|
|
|
|
compileModuleTestKotlin {
|
|
kotlinJavaToolchain.toolchain.use(JvmToolchain.getToolchainLauncherFor(project, JdkMajorVersion.JDK_9_0))
|
|
}
|
|
|
|
check.dependsOn(tasks.register("moduleInfoTest", Test) {test ->
|
|
test.dependsOn(moduleTestClasses)
|
|
test.group = "verification"
|
|
test.testClassesDirs = sourceSets.moduleTest.output.classesDirs
|
|
test.classpath = files(sourceSets.moduleTest.runtimeClasspath, tasks.jar)
|
|
test.javaLauncher.set(JvmToolchain.getToolchainLauncherFor(project, JdkMajorVersion.JDK_9_0))
|
|
doFirst {
|
|
test.systemProperty("stdlibJars", test.classpath.filter { it.name.contains('kotlin-stdlib') }.join(File.pathSeparator))
|
|
}
|
|
})
|