description = 'Kotlin Standard Library JDK 8 extension' apply plugin: 'kotlin' configurePublishing(project) configureSourcesJar() configureJavadocJar() 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)) } })