2e515f3945
But still compile stdlib, reflect, kotlin.test and scripting runtimes with JVM target 1.6 to simplify migration from Kotlin 1.6 to 1.7. #KT-45165 Fixed
79 lines
1.9 KiB
Groovy
79 lines
1.9 KiB
Groovy
description = ''
|
|
|
|
apply plugin: 'kotlin'
|
|
|
|
JvmToolchain.configureJvmToolchain(project, JdkMajorVersion.JDK_1_6)
|
|
|
|
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 kotlinStdlib()
|
|
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"
|
|
kotlinCompilerClasspath project(':libraries:tools:stdlib-compiler-classpath')
|
|
}
|
|
|
|
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 {
|
|
kotlinOptions {
|
|
freeCompilerArgs = [
|
|
"-Xallow-kotlin-package",
|
|
"-Xno-optimized-callable-references",
|
|
"-Xno-kotlin-nothing-value-exception",
|
|
"-Xsuppress-deprecated-jvm-target-warning",
|
|
"-opt-in=kotlin.RequiresOptIn",
|
|
]
|
|
moduleName = "kotlin-reflection"
|
|
}
|
|
}
|
|
|
|
configureFrontendIr(project)
|
|
|
|
jar {
|
|
manifestAttributes(manifest, project, "internal")
|
|
}
|
|
|
|
task java9Jar(type: Jar) {
|
|
classifier = "java9"
|
|
if (includeJava9) {
|
|
from sourceSets.java9.output
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
archives java9Jar
|
|
runtimeElements java9Jar
|
|
}
|