Distinguish outputs of JS IR tasks.
Now JS IR link and sync tasks will output produced artifacts based on compilation name, binary name and binary mode. This will remove Gradle 7 error about missing task dependencies, which should not depend on each other. ^KT-44949 In Progress
This commit is contained in:
+1
-1
@@ -58,7 +58,7 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
|
||||
|
||||
assertTasksExecuted(":compileProductionExecutableKotlinJs")
|
||||
|
||||
assertFileExists("build/js/packages/kotlin-js-nodejs/kotlin/kotlin-js-nodejs.js")
|
||||
assertFileExists("build/js/packages/kotlin-js-nodejs/kotlin/productionExecutable/kotlin-js-nodejs.js")
|
||||
}
|
||||
|
||||
File("${projectDir.canonicalPath}/src").deleteRecursively()
|
||||
|
||||
+5
-5
@@ -20,10 +20,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName
|
||||
import org.jetbrains.kotlin.gradle.targets.js.JsAggregatingExecutionSource
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
@@ -111,6 +108,9 @@ constructor(
|
||||
binary.linkTask.configure {
|
||||
it.kotlinOptions.outputFile = project.buildDir
|
||||
.resolve(COMPILE_SYNC)
|
||||
.resolve(compilation.name)
|
||||
.resolve(binary.name)
|
||||
.resolve(binary.mode.name.toLowerCase())
|
||||
.resolve(npmProject.main)
|
||||
.canonicalPath
|
||||
|
||||
@@ -133,7 +133,7 @@ constructor(
|
||||
task.from(project.tasks.named(compilation.processResourcesTaskName))
|
||||
|
||||
task.into(
|
||||
npmProject.dist
|
||||
npmProject.dist.resolve(binary.name)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
-5
@@ -97,11 +97,6 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
@get:Internal
|
||||
val nodeModulesToLoad: List<String> by lazy {
|
||||
listOf("./" + compilation.npmProject.main)
|
||||
}
|
||||
|
||||
override val nodeModulesRequired: Boolean
|
||||
@Internal get() = testFramework!!.nodeModulesRequired
|
||||
|
||||
|
||||
+1
-3
@@ -314,9 +314,7 @@ class KotlinKarma(
|
||||
nodeJsArgs: MutableList<String>,
|
||||
debug: Boolean
|
||||
): TCServiceMessagesTestExecutionSpec {
|
||||
val file = task.nodeModulesToLoad
|
||||
.map { npmProject.require(it) }
|
||||
.single()
|
||||
val file = task.inputFileProperty.get().asFile.toString()
|
||||
|
||||
val adapterJs = createAdapterJs(file, debug)
|
||||
|
||||
|
||||
+1
-3
@@ -74,9 +74,7 @@ class KotlinMocha(@Transient override val compilation: KotlinJsCompilation, priv
|
||||
|
||||
val mocha = npmProject.require("mocha/bin/mocha")
|
||||
|
||||
val file = task.nodeModulesToLoad
|
||||
.map { npmProject.require(it) }
|
||||
.single()
|
||||
val file = task.inputFileProperty.get().asFile.toString()
|
||||
|
||||
val adapter = createAdapterJs(file)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user