description = '' apply plugin: 'kotlin' JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_8) def includeJava9 = BuildPropertiesExtKt.getIncludeJava9(project.kotlinBuildProperties) sourceSets { main { java { srcDir "${rootDir}/core/reflection.jvm/src" } resources { srcDir("${rootDir}/core/reflection.jvm/resources") } } if (includeJava9) { java9 } } dependencies { api RepoDependencies.kotlinStdlib(project) compileOnly project(':core:descriptors') compileOnly project(':core:descriptors.jvm') compileOnly project(':core:deserialization') compileOnly project(':core:descriptors.runtime') compileOnly project(':core:util.runtime') compileOnly "org.jetbrains:annotations:13.0" } if (includeJava9) { configurations.register('java9PatchModule') { extendsFrom(configurations.compileOnly) exclude(group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib') canBeResolved = true } LibrariesCommon.configureJava9Compilation( project, 'kotlin.reflect', [sourceSets.main.output, configurations.java9PatchModule] ) } compileKotlin { compilerOptions { freeCompilerArgs = [ "-Xallow-kotlin-package", "-Xno-optimized-callable-references", "-Xno-kotlin-nothing-value-exception", "-opt-in=kotlin.RequiresOptIn", "-opt-in=org.jetbrains.kotlin.utils.addToStdlib.UnsafeCastFunction", "-Xno-new-java-annotation-targets", ] moduleName = "kotlin-reflection" } } LibrariesCommon.configureFrontendIr(project) jar { LibrariesCommon.manifestAttributes(project, manifest, "internal") } tasks.register("java9Jar", Jar) { archiveClassifier.set("java9") if (includeJava9) { from sourceSets.java9.output } } artifacts { archives java9Jar runtimeElements java9Jar }