Gradle, js, node: fix source map support configuration
#KT-30573 Fixed
This commit is contained in:
+21
-11
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||||
|
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.TaskHolder
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
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
|
||||||
@@ -26,29 +28,37 @@ class KotlinNodeJs(target: KotlinJsTarget) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun configureRun(compilation: KotlinJsCompilation) {
|
override fun configureRun(compilation: KotlinJsCompilation) {
|
||||||
// source maps support
|
|
||||||
compilation.dependencies {
|
|
||||||
runtimeOnly(kotlin("test-nodejs-runner"))
|
|
||||||
}
|
|
||||||
|
|
||||||
val project = target.project
|
val project = target.project
|
||||||
|
|
||||||
project.createOrRegisterTask<NodeJsExec>(disambiguateCamelCased("run")) { runTask ->
|
val runTaskHolder = project.createOrRegisterTask<NodeJsExec>(disambiguateCamelCased("run")) { runTask ->
|
||||||
val compileKotlinTask = compilation.compileKotlinTask
|
val compileKotlinTask = compilation.compileKotlinTask
|
||||||
runTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask)
|
runTask.dependsOn(target.npmResolveTaskHolder.getTaskOrProvider(), compileKotlinTask)
|
||||||
|
|
||||||
val npmProject = project.npmProject
|
val npmProject = project.npmProject
|
||||||
runTask.args(npmProject.compileOutput(compileKotlinTask))
|
runTask.args(npmProject.compileOutput(compileKotlinTask))
|
||||||
|
|
||||||
target.npmResolveTaskHolder.doGetTask().doLast {
|
target.runTask.dependsOn(runTask)
|
||||||
// source maps support
|
}
|
||||||
|
|
||||||
|
addSourceMapSupport(compilation, runTaskHolder, project)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun addSourceMapSupport(
|
||||||
|
compilation: KotlinJsCompilation,
|
||||||
|
runTaskHolder: TaskHolder<NodeJsExec>,
|
||||||
|
project: Project
|
||||||
|
) {
|
||||||
|
compilation.dependencies {
|
||||||
|
runtimeOnly(kotlin("test-nodejs-runner"))
|
||||||
|
}
|
||||||
|
|
||||||
|
target.npmResolveTaskHolder.doGetTask().doLast {
|
||||||
|
runTaskHolder.configure { runTask ->
|
||||||
runTask.args(
|
runTask.args(
|
||||||
"--require",
|
"--require",
|
||||||
npmProject.require("kotlin-test-nodejs-runner/kotlin-nodejs-source-map-support")
|
project.npmProject.require("kotlin-test-nodejs-runner/kotlin-nodejs-source-map-support")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
target.runTask.dependsOn(runTask)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user