[Gradle, JS] Fix testBrowserDistribution
This commit is contained in:
+6
-2
@@ -628,8 +628,12 @@ Finished executing task ':$taskName'|
|
||||
}
|
||||
|
||||
fun Project.gradleProperties(): File =
|
||||
listOf("gradle.properties").mapNotNull {
|
||||
File(projectDir, it).takeIf(File::exists)
|
||||
listOf("gradle.properties").map {
|
||||
File(projectDir, it).also { file ->
|
||||
if (!file.exists()) {
|
||||
file.createNewFile()
|
||||
}
|
||||
}
|
||||
}.single()
|
||||
|
||||
/**
|
||||
|
||||
+20
-11
@@ -1,10 +1,12 @@
|
||||
package org.jetbrains.kotlin.gradle
|
||||
|
||||
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_IR_BACKEND_MESSAGE
|
||||
import org.jetbrains.kotlin.gradle.util.getFileByName
|
||||
import org.jetbrains.kotlin.gradle.util.getFilesByNames
|
||||
import org.jetbrains.kotlin.gradle.util.jsMode
|
||||
import org.jetbrains.kotlin.gradle.util.modify
|
||||
import org.junit.Assume.assumeFalse
|
||||
import org.junit.Test
|
||||
@@ -507,26 +509,33 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
|
||||
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||
gradleSettingsScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||
|
||||
if (!irBackend) {
|
||||
gradleProperties().appendText(jsMode(JsMode.LEGACY))
|
||||
}
|
||||
|
||||
build("build") {
|
||||
assertSuccessful()
|
||||
|
||||
assertTasksExecuted(
|
||||
":app:processDceKotlinJs",
|
||||
":app:browserProductionWebpack"
|
||||
)
|
||||
assertTasksExecuted(":app:browserProductionWebpack")
|
||||
|
||||
assertFileExists("build/js/packages/kotlin-js-browser-base")
|
||||
assertFileExists("build/js/packages/kotlin-js-browser-lib")
|
||||
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.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") {
|
||||
|
||||
+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 {
|
||||
browser {
|
||||
}
|
||||
produceExecutable()
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -8,8 +8,9 @@ dependencies {
|
||||
|
||||
kotlin {
|
||||
target {
|
||||
useCommonJs()
|
||||
produceKotlinLibrary()
|
||||
browser {
|
||||
useCommonJs()
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -9,8 +9,9 @@ dependencies {
|
||||
|
||||
kotlin {
|
||||
target {
|
||||
useCommonJs()
|
||||
browser {
|
||||
useCommonJs()
|
||||
}
|
||||
produceKotlinLibrary()
|
||||
}
|
||||
}
|
||||
+5
-2
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.gradle.plugin
|
||||
import org.gradle.api.Project
|
||||
import org.jetbrains.kotlin.gradle.dsl.Coroutines
|
||||
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.tasks.AbstractKotlinCompile
|
||||
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
|
||||
*/
|
||||
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? {
|
||||
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,
|
||||
IR,
|
||||
MIXED;
|
||||
|
||||
companion object {
|
||||
const val jsModeProp = "kotlin.js.mode"
|
||||
|
||||
fun byCompilerArgument(argument: String): JsMode? =
|
||||
JsMode.values().firstOrNull { it.name.equals(argument, ignoreCase = true) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user