diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt index 258451919c2..c35622d6124 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt @@ -23,8 +23,6 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName class KotlinJsTarget(project: Project, platformType: KotlinPlatformType) : KotlinOnlyTarget(project, platformType), KotlinJsTargetDsl { val npmResolveTaskHolder = project.locateOrRegisterTask("npmResolve") {} - val npmResolveTask - get() = npmResolveTaskHolder.getTaskOrProvider() val testTaskName get() = lowerCamelCaseName(disambiguationClassifier, testTaskNameSuffix) val testTask get() = project.tasks.maybeCreate(testTaskName) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt index e6d20c518d9..19b4bd24fb0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/KotlinJsTargetConfigurator.kt @@ -23,7 +23,7 @@ open class KotlinJsTargetConfigurator(kotlinPluginVersion: String) : super.configureTarget(target) target.compilations.forEach { - it.compileKotlinTask.dependsOn(target.npmResolveTask) + it.compileKotlinTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider()) } if (target.disambiguationClassifier != null) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index 26b27aa1677..847cd91a571 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle.targets.js.subtargets import org.gradle.language.base.plugins.LifecycleBasePlugin import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl import org.jetbrains.kotlin.gradle.targets.js.nodejs.nodeJs @@ -45,7 +44,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) : project.createOrRegisterTask(disambiguateCamelCased("webpack")) { val compileKotlinTask = compilation.compileKotlinTask - it.dependsOn(target.npmResolveTask, compileKotlinTask) + it.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask) it.entry = npmProject.compileOutput(compileKotlinTask) @@ -54,7 +53,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) : project.createOrRegisterTask(disambiguateCamelCased("run")) { val compileKotlinTask = compilation.compileKotlinTask - it.dependsOn(target.npmResolveTask, compileKotlinTask) + it.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask) it.bin = "webpack-dev-server" it.entry = npmProject.compileOutput(compileKotlinTask) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt index 303f0a37ee5..6308d904036 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinJsSubTarget.kt @@ -63,14 +63,14 @@ abstract class KotlinJsSubTarget( testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP - testJs.dependsOn(target.npmResolveTask, compileTask, nodeJs.nodeJsSetupTask) + testJs.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileTask, nodeJs.nodeJsSetupTask) testJs.onlyIf { compileTask.outputFile.exists() } testJs.targetName = disambiguationClassifier - testJs.nodeModulesToLoad.add(compileTask.outputFile.name) + testJs.nodeModulesToLoad.add(compileTask.outputFile.nameWithoutExtension) testJs.configureConventions() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt index d23d204e5f5..233f5becad4 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt @@ -6,7 +6,6 @@ package org.jetbrains.kotlin.gradle.targets.js.subtargets import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec @@ -15,7 +14,7 @@ import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask class KotlinNodeJs(target: KotlinJsTarget) : - KotlinJsSubTarget(target, "nodeJs"), + KotlinJsSubTarget(target, "node"), KotlinJsNodeDsl { override fun runTask(body: NodeJsExec.() -> Unit) { @@ -34,17 +33,22 @@ class KotlinNodeJs(target: KotlinJsTarget) : val project = target.project - project.createOrRegisterTask(disambiguateCamelCased("run")) { + project.createOrRegisterTask(disambiguateCamelCased("run")) { runTask -> val compileKotlinTask = compilation.compileKotlinTask - it.dependsOn(target.npmResolveTask, compileKotlinTask) + runTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask) val npmProject = project.npmProject - it.args(npmProject.compileOutput(compileKotlinTask)) + runTask.args(npmProject.compileOutput(compileKotlinTask)) - // source maps support - it.args("--require", npmProject.getModuleEntryPath("kotlin-test-nodejs-runner")) + target.npmResolveTaskHolder.doGetTask().doLast { + // source maps support + runTask.args( + "--require", + npmProject.require("kotlin-test-nodejs-runner/kotlin-nodejs-source-map-support") + ) + } - target.runTask.dependsOn(it) + target.runTask.dependsOn(runTask) } } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/nodejs/KotlinNodeJsTestRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/nodejs/KotlinNodeJsTestRunner.kt index 81f3fc0a2a5..90c56928952 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/nodejs/KotlinNodeJsTestRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/nodejs/KotlinNodeJsTestRunner.kt @@ -9,10 +9,8 @@ import org.gradle.api.tasks.Input import org.gradle.process.ProcessForkOptions import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec -import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies import org.jetbrains.kotlin.gradle.targets.js.internal.parseNodeJsStackTraceAsJvm import org.jetbrains.kotlin.gradle.targets.js.npm.KotlinGradleNpmPackage -import org.jetbrains.kotlin.gradle.targets.js.npm.NpmPackageVersion import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject import org.jetbrains.kotlin.gradle.targets.js.npm.RequiredKotlinJsDependency import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework @@ -54,7 +52,7 @@ class KotlinNodeJsTestRunner : KotlinJsTestFramework { val args = nodeJsArgs + testRuntimeNodeModules.map { - npmProjectLayout.getModuleEntryPath(it) + npmProjectLayout.require(it) } + cliArgs.toList()