Gradle, js: fix supporting sub targets DSL in build.gradle.kts

This commit is contained in:
Sergey Rostov
2019-05-19 13:25:54 +03:00
parent 3a9f3525f1
commit 9a90627b32
4 changed files with 22 additions and 21 deletions
@@ -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")
}
}
}
@@ -26,6 +26,10 @@ kotlin.sourceSets {
}
}
kotlin.target {
nodejs()
}
kotlin.target.compilations.create("benchmark") {
defaultSourceSet.dependencies {
val main by kotlin.target.compilations
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<results>
<testsuite name="MainTest" tests="1" skipped="0" failures="0" errors="0" timestamp="..." hostname="..." time="...">
<testsuite name="com.example.MainTest" tests="1" skipped="0" failures="0" errors="0" timestamp="..." hostname="..." time="...">
<properties />
<testcase name="testHello" classname="MainTest" time="..." />
<testcase name="testHello" classname="com.example.MainTest" time="..." />
<system-out />
<system-err />
</testsuite>
@@ -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<KotlinJsCompilation>
override lateinit var target: KotlinJsTarget
open fun target(body: KotlinOnlyTarget<KotlinJsCompilation>.() -> Unit) = target.run(body)
open fun target(body: KotlinJsTarget.() -> Unit) = target.run(body)
@Deprecated(
"Needed for IDE import using the MPP import mechanism",