[Gradle, JS] Fix multimodule IC for K/JS plugin
#KT-52946 Fixed
This commit is contained in:
committed by
Space
parent
18560db373
commit
1e76404163
+16
-2
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.daemon.client.CompileServiceSession
|
|||||||
import org.jetbrains.kotlin.daemon.common.CompilerId
|
import org.jetbrains.kotlin.daemon.common.CompilerId
|
||||||
import org.jetbrains.kotlin.daemon.common.configureDaemonJVMOptions
|
import org.jetbrains.kotlin.daemon.common.configureDaemonJVMOptions
|
||||||
import org.jetbrains.kotlin.daemon.common.filterExtractProps
|
import org.jetbrains.kotlin.daemon.common.filterExtractProps
|
||||||
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtensionOrNull
|
||||||
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
||||||
@@ -34,6 +35,7 @@ import org.jetbrains.kotlin.gradle.plugin.variantImplementationFactory
|
|||||||
import org.jetbrains.kotlin.gradle.tasks.*
|
import org.jetbrains.kotlin.gradle.tasks.*
|
||||||
import org.jetbrains.kotlin.gradle.utils.IsolatedKotlinClasspathClassCastException
|
import org.jetbrains.kotlin.gradle.utils.IsolatedKotlinClasspathClassCastException
|
||||||
import org.jetbrains.kotlin.gradle.utils.archivePathCompatible
|
import org.jetbrains.kotlin.gradle.utils.archivePathCompatible
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.findByType
|
||||||
import org.jetbrains.kotlin.gradle.utils.newTmpFile
|
import org.jetbrains.kotlin.gradle.utils.newTmpFile
|
||||||
import org.jetbrains.kotlin.gradle.utils.relativeOrCanonical
|
import org.jetbrains.kotlin.gradle.utils.relativeOrCanonical
|
||||||
import org.jetbrains.kotlin.incremental.IncrementalModuleEntry
|
import org.jetbrains.kotlin.incremental.IncrementalModuleEntry
|
||||||
@@ -306,7 +308,8 @@ internal open class GradleCompilerRunner(
|
|||||||
nameToModules.getOrPut(module.name) { HashSet() }.add(module)
|
nameToModules.getOrPut(module.name) { HashSet() }.add(module)
|
||||||
|
|
||||||
if (task is Kotlin2JsCompile) {
|
if (task is Kotlin2JsCompile) {
|
||||||
jarForSourceSet(project, task.sourceSetName.get())?.let {
|
(jarForJavaSourceSet(project, task.sourceSetName.get()) ?: jarForSingleTargetJs(project, task.sourceSetName.get()))?.let {
|
||||||
|
project.logger.info("iteration jarToModule[$it] = $module")
|
||||||
jarToModule[it] = module
|
jarToModule[it] = module
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -361,7 +364,7 @@ internal open class GradleCompilerRunner(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun jarForSourceSet(
|
private fun jarForJavaSourceSet(
|
||||||
project: Project,
|
project: Project,
|
||||||
sourceSetName: String
|
sourceSetName: String
|
||||||
): File? {
|
): File? {
|
||||||
@@ -374,6 +377,17 @@ internal open class GradleCompilerRunner(
|
|||||||
return jarTask?.archiveFile?.get()?.asFile
|
return jarTask?.archiveFile?.get()?.asFile
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun jarForSingleTargetJs(
|
||||||
|
project: Project,
|
||||||
|
sourceSetName: String,
|
||||||
|
): File? {
|
||||||
|
if (sourceSetName != KotlinCompilation.MAIN_COMPILATION_NAME) return null
|
||||||
|
val jarTaskName = project.extensions.findByType<KotlinJsProjectExtension>()?.js()?.artifactsTaskName
|
||||||
|
|
||||||
|
val jarTask = jarTaskName?.let { project.tasks.findByName(jarTaskName) } as? Jar
|
||||||
|
return jarTask?.archiveFile?.get()?.asFile
|
||||||
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
internal fun clearBuildModulesInfo() {
|
internal fun clearBuildModulesInfo() {
|
||||||
cachedGradle = WeakReference<Gradle>(null)
|
cachedGradle = WeakReference<Gradle>(null)
|
||||||
|
|||||||
Reference in New Issue
Block a user