Gradle, js: fix nodejs run target
This commit is contained in:
-2
@@ -23,8 +23,6 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
|||||||
class KotlinJsTarget(project: Project, platformType: KotlinPlatformType) :
|
class KotlinJsTarget(project: Project, platformType: KotlinPlatformType) :
|
||||||
KotlinOnlyTarget<KotlinJsCompilation>(project, platformType), KotlinJsTargetDsl {
|
KotlinOnlyTarget<KotlinJsCompilation>(project, platformType), KotlinJsTargetDsl {
|
||||||
val npmResolveTaskHolder = project.locateOrRegisterTask<NpmResolveTask>("npmResolve") {}
|
val npmResolveTaskHolder = project.locateOrRegisterTask<NpmResolveTask>("npmResolve") {}
|
||||||
val npmResolveTask
|
|
||||||
get() = npmResolveTaskHolder.getTaskOrProvider()
|
|
||||||
|
|
||||||
val testTaskName get() = lowerCamelCaseName(disambiguationClassifier, testTaskNameSuffix)
|
val testTaskName get() = lowerCamelCaseName(disambiguationClassifier, testTaskNameSuffix)
|
||||||
val testTask get() = project.tasks.maybeCreate(testTaskName)
|
val testTask get() = project.tasks.maybeCreate(testTaskName)
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ open class KotlinJsTargetConfigurator(kotlinPluginVersion: String) :
|
|||||||
super.configureTarget(target)
|
super.configureTarget(target)
|
||||||
|
|
||||||
target.compilations.forEach {
|
target.compilations.forEach {
|
||||||
it.compileKotlinTask.dependsOn(target.npmResolveTask)
|
it.compileKotlinTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider())
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.disambiguationClassifier != null) {
|
if (target.disambiguationClassifier != null) {
|
||||||
|
|||||||
+2
-3
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
|||||||
|
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.KotlinJsTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.nodeJs
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.nodeJs
|
||||||
@@ -45,7 +44,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) :
|
|||||||
|
|
||||||
project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("webpack")) {
|
project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("webpack")) {
|
||||||
val compileKotlinTask = compilation.compileKotlinTask
|
val compileKotlinTask = compilation.compileKotlinTask
|
||||||
it.dependsOn(target.npmResolveTask, compileKotlinTask)
|
it.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask)
|
||||||
|
|
||||||
it.entry = npmProject.compileOutput(compileKotlinTask)
|
it.entry = npmProject.compileOutput(compileKotlinTask)
|
||||||
|
|
||||||
@@ -54,7 +53,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) :
|
|||||||
|
|
||||||
project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("run")) {
|
project.createOrRegisterTask<KotlinWebpack>(disambiguateCamelCased("run")) {
|
||||||
val compileKotlinTask = compilation.compileKotlinTask
|
val compileKotlinTask = compilation.compileKotlinTask
|
||||||
it.dependsOn(target.npmResolveTask, compileKotlinTask)
|
it.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask)
|
||||||
|
|
||||||
it.bin = "webpack-dev-server"
|
it.bin = "webpack-dev-server"
|
||||||
it.entry = npmProject.compileOutput(compileKotlinTask)
|
it.entry = npmProject.compileOutput(compileKotlinTask)
|
||||||
|
|||||||
+2
-2
@@ -63,14 +63,14 @@ abstract class KotlinJsSubTarget(
|
|||||||
|
|
||||||
testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP
|
testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP
|
||||||
|
|
||||||
testJs.dependsOn(target.npmResolveTask, compileTask, nodeJs.nodeJsSetupTask)
|
testJs.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileTask, nodeJs.nodeJsSetupTask)
|
||||||
|
|
||||||
testJs.onlyIf {
|
testJs.onlyIf {
|
||||||
compileTask.outputFile.exists()
|
compileTask.outputFile.exists()
|
||||||
}
|
}
|
||||||
|
|
||||||
testJs.targetName = disambiguationClassifier
|
testJs.targetName = disambiguationClassifier
|
||||||
testJs.nodeModulesToLoad.add(compileTask.outputFile.name)
|
testJs.nodeModulesToLoad.add(compileTask.outputFile.nameWithoutExtension)
|
||||||
|
|
||||||
testJs.configureConventions()
|
testJs.configureConventions()
|
||||||
|
|
||||||
|
|||||||
+12
-8
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.KotlinJsTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
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
|
import org.jetbrains.kotlin.gradle.tasks.createOrRegisterTask
|
||||||
|
|
||||||
class KotlinNodeJs(target: KotlinJsTarget) :
|
class KotlinNodeJs(target: KotlinJsTarget) :
|
||||||
KotlinJsSubTarget(target, "nodeJs"),
|
KotlinJsSubTarget(target, "node"),
|
||||||
KotlinJsNodeDsl {
|
KotlinJsNodeDsl {
|
||||||
|
|
||||||
override fun runTask(body: NodeJsExec.() -> Unit) {
|
override fun runTask(body: NodeJsExec.() -> Unit) {
|
||||||
@@ -34,17 +33,22 @@ class KotlinNodeJs(target: KotlinJsTarget) :
|
|||||||
|
|
||||||
val project = target.project
|
val project = target.project
|
||||||
|
|
||||||
project.createOrRegisterTask<NodeJsExec>(disambiguateCamelCased("run")) {
|
project.createOrRegisterTask<NodeJsExec>(disambiguateCamelCased("run")) { runTask ->
|
||||||
val compileKotlinTask = compilation.compileKotlinTask
|
val compileKotlinTask = compilation.compileKotlinTask
|
||||||
it.dependsOn(target.npmResolveTask, compileKotlinTask)
|
runTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask)
|
||||||
|
|
||||||
val npmProject = project.npmProject
|
val npmProject = project.npmProject
|
||||||
it.args(npmProject.compileOutput(compileKotlinTask))
|
runTask.args(npmProject.compileOutput(compileKotlinTask))
|
||||||
|
|
||||||
// source maps support
|
target.npmResolveTaskHolder.doGetTask().doLast {
|
||||||
it.args("--require", npmProject.getModuleEntryPath("kotlin-test-nodejs-runner"))
|
// 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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-3
@@ -9,10 +9,8 @@ import org.gradle.api.tasks.Input
|
|||||||
import org.gradle.process.ProcessForkOptions
|
import org.gradle.process.ProcessForkOptions
|
||||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
||||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
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.internal.parseNodeJsStackTraceAsJvm
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.KotlinGradleNpmPackage
|
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.NpmProject
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiredKotlinJsDependency
|
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiredKotlinJsDependency
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
|
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
|
||||||
@@ -54,7 +52,7 @@ class KotlinNodeJsTestRunner : KotlinJsTestFramework {
|
|||||||
|
|
||||||
val args = nodeJsArgs +
|
val args = nodeJsArgs +
|
||||||
testRuntimeNodeModules.map {
|
testRuntimeNodeModules.map {
|
||||||
npmProjectLayout.getModuleEntryPath(it)
|
npmProjectLayout.require(it)
|
||||||
} +
|
} +
|
||||||
cliArgs.toList()
|
cliArgs.toList()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user