From 8dabf24b41c6544531fe9ee011e468ade175d6b2 Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Fri, 31 May 2019 14:43:58 +0300 Subject: [PATCH] Gradle: provide descriptions for JS tasks #KT-31560 Fixed --- .../jetbrains/kotlin/gradle/targets/js/KotlinJsTarget.kt | 1 + .../kotlin/gradle/targets/js/npm/NpmSimpleLinker.kt | 2 +- .../kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt | 5 +++++ .../gradle/targets/js/subtargets/KotlinJsSubTarget.kt | 3 +++ .../kotlin/gradle/targets/js/subtargets/KotlinNodeJs.kt | 7 +++++++ 5 files changed, 17 insertions(+), 1 deletion(-) 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 10a340ab22e..fc9dbe4523e 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 @@ -35,6 +35,7 @@ class KotlinJsTarget(project: Project, platformType: KotlinPlatformType) : val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix) val runTask get() = project.tasks.maybeCreate(runTaskName).also { + it.description = "Run js on all configured platforms" if (runTaskName != runTaskNameSuffix) { project.whenEvaluated { project.tasks.maybeCreate(runTaskNameSuffix).dependsOn(it) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmSimpleLinker.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmSimpleLinker.kt index b5831efbb84..5626880213f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmSimpleLinker.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmSimpleLinker.kt @@ -90,7 +90,7 @@ class NpmSimpleLinker(val rootProject: Project) { } if (result.exitValue != 0) { - error("Cannot create window junctions: nodejs exited with ${result.exitValue}") + error("Cannot create windows junctions: nodejs exited with ${result.exitValue}") } } } 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 a09edfd3bb5..5523b2e5945 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 @@ -19,6 +19,9 @@ class KotlinBrowserJs(target: KotlinJsTarget) : KotlinJsSubTarget(target, "browser"), KotlinJsBrowserDsl { + override val testTaskDescription: String + get() = "Run all ${target.name} tests inside browser using karma and webpack" + private val webpackTaskName = disambiguateCamelCased("webpack") override fun configureDefaultTestFramework(it: KotlinJsTest) { @@ -43,6 +46,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) : it.dependsOn(target.project.nodeJs.root.npmResolveTask, compileKotlinTask) it.compilation = compilation + it.description = "build webpack bundle" project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME).dependsOn(it) } @@ -57,6 +61,7 @@ class KotlinBrowserJs(target: KotlinJsTarget) : it.bin = "webpack-dev-server" it.compilation = compilation + it.description = "start webpack dev server" it.devServer = KotlinWebpackConfigWriter.DevServer( open = true, 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 4a0ee17d573..16493865f9c 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 @@ -62,6 +62,8 @@ abstract class KotlinJsSubTarget( } } + abstract val testTaskDescription: String + private fun configureTests(compilation: KotlinJsCompilation) { // apply plugin (cannot be done at task instantiation time) val nodeJs = NodeJsPlugin.apply(target.project).root @@ -70,6 +72,7 @@ abstract class KotlinJsSubTarget( val compileTask = compilation.compileKotlinTask testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP + testJs.description = testTaskDescription testJs.dependsOn(target.project.nodeJs.root.npmResolveTask, compileTask, nodeJs.nodeJsSetupTask) 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 b72cbe9f279..c98ce6a89ef 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 @@ -19,6 +19,9 @@ class KotlinNodeJs(target: KotlinJsTarget) : KotlinJsSubTarget(target, "node"), KotlinJsNodeDsl { + override val testTaskDescription: String + get() = "Run all ${target.name} tests inside nodejs using the builtin test framework" + override fun runTask(body: NodeJsExec.() -> Unit) { (project.tasks.getByName(runTaskName) as NodeJsExec).body() } @@ -30,7 +33,11 @@ class KotlinNodeJs(target: KotlinJsTarget) : override fun configureRun(compilation: KotlinJsCompilation) { val project = target.project + "true".toBoolean() + val runTaskHolder = project.createOrRegisterTask(disambiguateCamelCased("run")) { runTask -> + runTask.description = "run compiled js in nodejs" + val compileKotlinTask = compilation.compileKotlinTask runTask.dependsOn(target.project.nodeJs.root.npmResolveTask, compileKotlinTask)