[stdlib-mpp] Support java9 source set compilations in MPP library projects

#KT-56106
This commit is contained in:
Ilya Gorbunov
2023-03-21 06:38:30 +01:00
committed by Space Team
parent 9ed6574979
commit ff499a6361
@@ -7,6 +7,7 @@
import org.gradle.api.JavaVersion import org.gradle.api.JavaVersion
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.file.FileCollection import org.gradle.api.file.FileCollection
import org.gradle.api.java.archives.Manifest import org.gradle.api.java.archives.Manifest
import org.gradle.api.plugins.BasePluginExtension import org.gradle.api.plugins.BasePluginExtension
@@ -20,11 +21,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
@JvmOverloads @JvmOverloads
fun Project.configureJava9Compilation( fun Project.configureJava9Compilation(
moduleName: String, moduleName: String,
moduleOutputs: Collection<FileCollection> = setOf(sourceSets["main"].output) moduleOutputs: Collection<FileCollection> = setOf(sourceSets["main"].output),
compileClasspathConfiguration: Configuration = configurations["compileClasspath"],
) { ) {
configurations["java9CompileClasspath"].extendsFrom(configurations["compileClasspath"]) configurations["java9CompileClasspath"].extendsFrom(compileClasspathConfiguration)
tasks.named("compileJava9Kotlin", KotlinCompile::class.java) { tasks.withType(KotlinCompile::class.java).matching {
it.name == "compileJava9Kotlin" || it.name == "compileJava9KotlinJvm"
}.configureEach {
configureTaskToolchain(JdkMajorVersion.JDK_9_0) configureTaskToolchain(JdkMajorVersion.JDK_9_0)
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
kotlinOptions.jvmTarget = JdkMajorVersion.JDK_9_0.targetName kotlinOptions.jvmTarget = JdkMajorVersion.JDK_9_0.targetName