Gradle, js: create run task only when project evaluated
As it may be created after js target configuration by java application plugin
This commit is contained in:
+9
-1
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Compa
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
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.plugin.mpp.KotlinOnlyTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.whenEvaluated
|
||||||
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.dsl.KotlinJsNodeDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
||||||
@@ -31,7 +32,14 @@ class KotlinJsTarget(project: Project, platformType: KotlinPlatformType) :
|
|||||||
)
|
)
|
||||||
|
|
||||||
val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix)
|
val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix)
|
||||||
val runTask get() = project.tasks.maybeCreate(runTaskName)
|
val runTask
|
||||||
|
get() = project.tasks.maybeCreate(runTaskName).also {
|
||||||
|
if (runTaskName != runTaskNameSuffix) {
|
||||||
|
project.whenEvaluated {
|
||||||
|
project.tasks.maybeCreate(runTaskNameSuffix).dependsOn(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val browser by lazy {
|
val browser by lazy {
|
||||||
KotlinBrowserJs(this).also {
|
KotlinBrowserJs(this).also {
|
||||||
|
|||||||
-4
@@ -24,10 +24,6 @@ open class KotlinJsTargetConfigurator(kotlinPluginVersion: String) :
|
|||||||
target.compilations.forEach {
|
target.compilations.forEach {
|
||||||
it.compileKotlinTask.dependsOn(target.project.nodeJs.root.npmResolveTask)
|
it.compileKotlinTask.dependsOn(target.project.nodeJs.root.npmResolveTask)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.disambiguationClassifier != null) {
|
|
||||||
target.project.tasks.maybeCreate(runTaskNameSuffix).dependsOn(target.runTask)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureTest(target: KotlinOnlyTarget<KotlinJsCompilation>) {
|
override fun configureTest(target: KotlinOnlyTarget<KotlinJsCompilation>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user