[Gradle, JS] Fix testBrowserDistribution
This commit is contained in:
+6
-2
@@ -628,8 +628,12 @@ Finished executing task ':$taskName'|
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun Project.gradleProperties(): File =
|
fun Project.gradleProperties(): File =
|
||||||
listOf("gradle.properties").mapNotNull {
|
listOf("gradle.properties").map {
|
||||||
File(projectDir, it).takeIf(File::exists)
|
File(projectDir, it).also { file ->
|
||||||
|
if (!file.exists()) {
|
||||||
|
file.createNewFile()
|
||||||
|
}
|
||||||
|
}
|
||||||
}.single()
|
}.single()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+20
-11
@@ -1,10 +1,12 @@
|
|||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import org.gradle.api.logging.LogLevel
|
import org.gradle.api.logging.LogLevel
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.JsMode
|
||||||
import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE
|
import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE
|
||||||
import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
|
import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
|
||||||
import org.jetbrains.kotlin.gradle.util.getFileByName
|
import org.jetbrains.kotlin.gradle.util.getFileByName
|
||||||
import org.jetbrains.kotlin.gradle.util.getFilesByNames
|
import org.jetbrains.kotlin.gradle.util.getFilesByNames
|
||||||
|
import org.jetbrains.kotlin.gradle.util.jsMode
|
||||||
import org.jetbrains.kotlin.gradle.util.modify
|
import org.jetbrains.kotlin.gradle.util.modify
|
||||||
import org.junit.Assume.assumeFalse
|
import org.junit.Assume.assumeFalse
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
@@ -507,26 +509,33 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
|
|||||||
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||||
gradleSettingsScript().modify(::transformBuildScriptWithPluginsDsl)
|
gradleSettingsScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||||
|
|
||||||
|
if (!irBackend) {
|
||||||
|
gradleProperties().appendText(jsMode(JsMode.LEGACY))
|
||||||
|
}
|
||||||
|
|
||||||
build("build") {
|
build("build") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
|
||||||
assertTasksExecuted(
|
assertTasksExecuted(":app:browserProductionWebpack")
|
||||||
":app:processDceKotlinJs",
|
|
||||||
":app:browserProductionWebpack"
|
|
||||||
)
|
|
||||||
|
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-base")
|
assertFileExists("build/js/packages/kotlin-js-browser-base")
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-lib")
|
assertFileExists("build/js/packages/kotlin-js-browser-lib")
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app")
|
assertFileExists("build/js/packages/kotlin-js-browser-app")
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce")
|
|
||||||
|
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin.js")
|
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-app.js")
|
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-lib.js")
|
|
||||||
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-base.js")
|
|
||||||
|
|
||||||
assertFileExists("app/build/distributions/app.js")
|
assertFileExists("app/build/distributions/app.js")
|
||||||
assertFileExists("app/build/distributions/app.js.map")
|
|
||||||
|
if (!irBackend) {
|
||||||
|
assertTasksExecuted(":app:processDceKotlinJs")
|
||||||
|
|
||||||
|
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce")
|
||||||
|
|
||||||
|
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin.js")
|
||||||
|
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-app.js")
|
||||||
|
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-lib.js")
|
||||||
|
assertFileExists("build/js/packages/kotlin-js-browser-app/kotlin-dce/kotlin-js-browser-base.js")
|
||||||
|
|
||||||
|
assertFileExists("app/build/distributions/app.js.map")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build("clean", "browserDistribution") {
|
build("clean", "browserDistribution") {
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.gradle.util
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.JsMode
|
||||||
|
|
||||||
|
fun jsMode(mode: JsMode) =
|
||||||
|
"\n${JsMode.jsModeProp}=$mode"
|
||||||
+1
@@ -11,5 +11,6 @@ kotlin {
|
|||||||
target {
|
target {
|
||||||
browser {
|
browser {
|
||||||
}
|
}
|
||||||
|
produceExecutable()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-1
@@ -8,8 +8,9 @@ dependencies {
|
|||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
target {
|
target {
|
||||||
|
useCommonJs()
|
||||||
|
produceKotlinLibrary()
|
||||||
browser {
|
browser {
|
||||||
useCommonJs()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-1
@@ -9,8 +9,9 @@ dependencies {
|
|||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
target {
|
target {
|
||||||
|
useCommonJs()
|
||||||
browser {
|
browser {
|
||||||
useCommonJs()
|
|
||||||
}
|
}
|
||||||
|
produceKotlinLibrary()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+5
-2
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.gradle.plugin
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.jetbrains.kotlin.gradle.dsl.Coroutines
|
import org.jetbrains.kotlin.gradle.dsl.Coroutines
|
||||||
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
|
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.JsMode.Companion.jsModeProp
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.DisabledNativeTargetsReporter
|
import org.jetbrains.kotlin.gradle.targets.native.DisabledNativeTargetsReporter
|
||||||
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
|
||||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||||
@@ -172,7 +173,7 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
|||||||
* Use Kotlin/JS backend mode
|
* Use Kotlin/JS backend mode
|
||||||
*/
|
*/
|
||||||
val jsMode: JsMode
|
val jsMode: JsMode
|
||||||
get() = property("kotlin.js.mode")?.let { JsMode.byCompilerArgument(it) } ?: JsMode.IR
|
get() = property(jsModeProp)?.let { JsMode.byCompilerArgument(it) } ?: JsMode.IR
|
||||||
|
|
||||||
private fun propertyWithDeprecatedVariant(propName: String, deprecatedPropName: String): String? {
|
private fun propertyWithDeprecatedVariant(propName: String, deprecatedPropName: String): String? {
|
||||||
val deprecatedProperty = property(deprecatedPropName)
|
val deprecatedProperty = property(deprecatedPropName)
|
||||||
@@ -208,12 +209,14 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal enum class JsMode {
|
enum class JsMode {
|
||||||
LEGACY,
|
LEGACY,
|
||||||
IR,
|
IR,
|
||||||
MIXED;
|
MIXED;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
const val jsModeProp = "kotlin.js.mode"
|
||||||
|
|
||||||
fun byCompilerArgument(argument: String): JsMode? =
|
fun byCompilerArgument(argument: String): JsMode? =
|
||||||
JsMode.values().firstOrNull { it.name.equals(argument, ignoreCase = true) }
|
JsMode.values().firstOrNull { it.name.equals(argument, ignoreCase = true) }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user