From 9a90627b32a0afe0732d0107d98feda4e3ba263b Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Sun, 19 May 2019 13:25:54 +0300 Subject: [PATCH] Gradle, js: fix supporting sub targets DSL in build.gradle.kts --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 30 ++++++++----------- .../kotlin-js-plugin-project/build.gradle.kts | 4 +++ .../kotlin-js-plugin-project/tests.xml | 4 +-- .../gradle/dsl/KotlinProjectExtension.kt | 5 ++-- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 85229503d20..4745656864e 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -380,24 +380,20 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { assertFileExists(moduleDir + "kotlin-js-plugin-1.0-sources.jar") - assertFileExists("build/test_node_modules/kotlin.js") - assertFileExists("build/test_node_modules/kotlin.js.map") - assertFileExists("build/test_node_modules/kotlin-test.js") - assertFileExists("build/test_node_modules/kotlin-test.js.map") - assertFileExists("build/test_node_modules/kotlin-test-nodejs-runner.js") - assertFileExists("build/test_node_modules/kotlin-test-nodejs-runner.js.map") - assertFileExists("build/test_node_modules/kotlin-nodejs-source-map-support.js") - assertFileExists("build/test_node_modules/kotlin-nodejs-source-map-support.js.map") - assertFileExists("build/test_node_modules/kotlin-js-plugin.js") - assertFileExists("build/test_node_modules/kotlin-js-plugin.js.map") - assertFileExists("build/test_node_modules/kotlin-js-plugin_test.js") - assertFileExists("build/test_node_modules/kotlin-js-plugin_test.js.map") + assertFileExists("build/js/node_modules/kotlin/kotlin.js") + assertFileExists("build/js/node_modules/kotlin/kotlin.js.map") + assertFileExists("build/js/node_modules/kotlin-test/kotlin-test.js") + assertFileExists("build/js/node_modules/kotlin-test/kotlin-test.js.map") + assertFileExists("build/js/node_modules/kotlin-test-nodejs-runner/kotlin-test-nodejs-runner.js") + assertFileExists("build/js/node_modules/kotlin-test-nodejs-runner/kotlin-test-nodejs-runner.js.map") + assertFileExists("build/js/node_modules/kotlin-test-nodejs-runner/kotlin-nodejs-source-map-support.js") + assertFileExists("build/js/node_modules/kotlin-test-nodejs-runner/kotlin-nodejs-source-map-support.js.map") + assertFileExists("build/js/node_modules/kotlin-js-plugin/kotlin/kotlin-js-plugin.js") + assertFileExists("build/js/node_modules/kotlin-js-plugin/kotlin/kotlin-js-plugin.js.map") + assertFileExists("build/js/node_modules/kotlin-js-plugin-test/kotlin/kotlin-js-plugin-test.js") + assertFileExists("build/js/node_modules/kotlin-js-plugin-test/kotlin/kotlin-js-plugin-test.js.map") - val slash = File.separator - assertFileContains( - "build/test_node_modules/kotlin-js-plugin_test.js.map", - "\"sources\":[\"..$slash..${slash}src${slash}test${slash}kotlin${slash}MainTest.kt\"]" - ) + assertTestResults("testProject/kotlin-js-plugin-project/tests.xml", "nodeTest") } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/build.gradle.kts index 789cc7752a6..ba59c3c01dc 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/build.gradle.kts @@ -26,6 +26,10 @@ kotlin.sourceSets { } } +kotlin.target { + nodejs() +} + kotlin.target.compilations.create("benchmark") { defaultSourceSet.dependencies { val main by kotlin.target.compilations diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml index e1319f50928..f6ab85a398a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml @@ -1,8 +1,8 @@ - + - + diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt index 892d2411816..4d8c039cffd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt @@ -27,6 +27,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaTarget +import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget import kotlin.reflect.KClass private const val KOTLIN_PROJECT_EXTENSION_NAME = "kotlin" @@ -86,9 +87,9 @@ open class Kotlin2JsProjectExtension : KotlinSingleJavaTargetExtension() { } open class KotlinJsProjectExtension : KotlinSingleTargetExtension() { - override lateinit var target: KotlinOnlyTarget + override lateinit var target: KotlinJsTarget - open fun target(body: KotlinOnlyTarget.() -> Unit) = target.run(body) + open fun target(body: KotlinJsTarget.() -> Unit) = target.run(body) @Deprecated( "Needed for IDE import using the MPP import mechanism",