[Gradle] Split K1/K2 integration tests
#KT-60588 In Progress
This commit is contained in:
committed by
Space Team
parent
0a612e4268
commit
196fb3e5f1
+20
-3
@@ -14,7 +14,7 @@ import kotlin.io.path.exists
|
|||||||
|
|
||||||
@DisplayName("Compiler plugin incremental compilation")
|
@DisplayName("Compiler plugin incremental compilation")
|
||||||
@OtherGradlePluginTests
|
@OtherGradlePluginTests
|
||||||
open class CompilerPluginsIncrementalIT : KGPBaseTest() {
|
abstract class CompilerPluginsIncrementalIT : KGPBaseTest() {
|
||||||
override val defaultBuildOptions: BuildOptions
|
override val defaultBuildOptions: BuildOptions
|
||||||
get() = super.defaultBuildOptions.copy(
|
get() = super.defaultBuildOptions.copy(
|
||||||
incremental = true
|
incremental = true
|
||||||
@@ -23,7 +23,7 @@ open class CompilerPluginsIncrementalIT : KGPBaseTest() {
|
|||||||
@DisabledOnOs(OS.WINDOWS, disabledReason = "Kotlin compiler holds an open file descriptor to plugin jar file")
|
@DisabledOnOs(OS.WINDOWS, disabledReason = "Kotlin compiler holds an open file descriptor to plugin jar file")
|
||||||
@DisplayName("KT-38570: After changing compiler plugin code, next incremental build picks it up")
|
@DisplayName("KT-38570: After changing compiler plugin code, next incremental build picks it up")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
internal fun afterChangeInPluginBuildDoesIncrementalProcessing(gradleVersion: GradleVersion) {
|
fun afterChangeInPluginBuildDoesIncrementalProcessing(gradleVersion: GradleVersion) {
|
||||||
project("incrementalChangeInPlugin".prefix, gradleVersion) {
|
project("incrementalChangeInPlugin".prefix, gradleVersion) {
|
||||||
build("assemble")
|
build("assemble")
|
||||||
|
|
||||||
@@ -69,7 +69,24 @@ open class CompilerPluginsIncrementalIT : KGPBaseTest() {
|
|||||||
private val String.prefix get() = "compilerPlugins/$this"
|
private val String.prefix get() = "compilerPlugins/$this"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class CompilerPluginsK1IncrementalIT : CompilerPluginsIncrementalIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
class CompilerPluginsK2IncrementalIT : CompilerPluginsIncrementalIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
}
|
||||||
|
|
||||||
@DisplayName("Compiler plugin incremental compilation with precise compilation outputs backup")
|
@DisplayName("Compiler plugin incremental compilation with precise compilation outputs backup")
|
||||||
class CompilerPluginsIncrementalWithPreciseBackupIT : CompilerPluginsIncrementalIT() {
|
abstract class CompilerPluginsIncrementalWithPreciseBackupIT : CompilerPluginsIncrementalIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Compiler plugin incremental compilation with precise compilation outputs backup")
|
||||||
|
class CompilerPluginsK1IncrementalWithPreciseBackupIT : CompilerPluginsIncrementalWithPreciseBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
class CompilerPluginsK2IncrementalWithPreciseBackupIT : CompilerPluginsIncrementalWithPreciseBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
+30
-14
@@ -13,7 +13,7 @@ import java.nio.file.Path
|
|||||||
import kotlin.io.path.*
|
import kotlin.io.path.*
|
||||||
|
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
open class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilationMultiProjectIT() {
|
abstract class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilationMultiProjectIT() {
|
||||||
override val defaultProjectName: String = "incrementalMultiproject"
|
override val defaultProjectName: String = "incrementalMultiproject"
|
||||||
|
|
||||||
override fun defaultProject(
|
override fun defaultProject(
|
||||||
@@ -151,24 +151,28 @@ open class IncrementalCompilationJsMultiProjectIT : BaseIncrementalCompilationMu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
open class IncrementalCompilationJsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectIT() {
|
abstract class IncrementalCompilationJsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
class IncrementalCompilationFirJsMultiProject : IncrementalCompilationJsMultiProjectIT() {
|
class IncrementalCompilationK1JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
languageVersion = "2.0"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class IncrementalCompilationFirJsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectWithPreciseBackupIT() {
|
class IncrementalCompilationK2JsMultiProject : IncrementalCompilationJsMultiProjectIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
languageVersion = "2.0"
|
}
|
||||||
)
|
|
||||||
|
class IncrementalCompilationK1JsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectWithPreciseBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
class IncrementalCompilationK2JsMultiProjectWithPreciseBackupIT : IncrementalCompilationJsMultiProjectWithPreciseBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmGradlePluginTests
|
@JvmGradlePluginTests
|
||||||
open class IncrementalCompilationJvmMultiProjectIT : BaseIncrementalCompilationMultiProjectIT() {
|
abstract class IncrementalCompilationJvmMultiProjectIT : BaseIncrementalCompilationMultiProjectIT() {
|
||||||
override val additionalLibDependencies: String =
|
override val additionalLibDependencies: String =
|
||||||
"implementation \"org.jetbrains.kotlin:kotlin-test:${'$'}kotlin_version\""
|
"implementation \"org.jetbrains.kotlin:kotlin-test:${'$'}kotlin_version\""
|
||||||
|
|
||||||
@@ -324,12 +328,24 @@ open class IncrementalCompilationJvmMultiProjectIT : BaseIncrementalCompilationM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class IncrementalCompilationJvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectIT() {
|
abstract class IncrementalCompilationJvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
class IncrementalCompilationFirJvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() {
|
class IncrementalCompilationK1JvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectWithPreciseBackupIT() {
|
||||||
override val defaultBuildOptions: BuildOptions = super.defaultBuildOptions.copy(languageVersion = "2.0")
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
class IncrementalCompilationK2JvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectWithPreciseBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
}
|
||||||
|
|
||||||
|
class IncrementalCompilationK1JvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() {
|
||||||
|
override val defaultBuildOptions: BuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
class IncrementalCompilationK2JvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() {
|
||||||
|
override val defaultBuildOptions: BuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
|
|
||||||
open class IncrementalCompilationOldICJvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() {
|
open class IncrementalCompilationOldICJvmMultiProjectIT : IncrementalCompilationJvmMultiProjectIT() {
|
||||||
|
|||||||
+43
-8
@@ -13,7 +13,7 @@ import kotlin.io.path.*
|
|||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
@DisplayName("Default incremental compilation with default precise java tracking")
|
@DisplayName("Default incremental compilation with default precise java tracking")
|
||||||
open class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = null) {
|
abstract class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = null) {
|
||||||
|
|
||||||
@DisplayName("Lib: tracked method signature ABI change")
|
@DisplayName("Lib: tracked method signature ABI change")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
@@ -91,13 +91,33 @@ open class IncrementalJavaChangeDefaultIT : IncrementalCompilationJavaChangesBas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DisplayName("Default incremental compilation with default precise java tracking on K1")
|
||||||
|
class IncrementalK1JavaChangeDefaultIT : IncrementalJavaChangeDefaultIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Default incremental compilation with default precise java tracking on K2")
|
||||||
|
class IncrementalK2JavaChangeDefaultIT : IncrementalJavaChangeDefaultIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
}
|
||||||
|
|
||||||
@DisplayName("Default incremental compilation with precise compilation outputs backup")
|
@DisplayName("Default incremental compilation with precise compilation outputs backup")
|
||||||
open class IncrementalJavaChangePreciseCompilationBackupIT : IncrementalJavaChangeDefaultIT() {
|
abstract class IncrementalJavaChangePreciseCompilationBackupIT : IncrementalJavaChangeDefaultIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Incremental compilation via classpath snapshots with default precise java tracking")
|
@DisplayName("Default incremental compilation with precise compilation outputs backup on K1")
|
||||||
class IncrementalJavaChangeOldICIT : IncrementalJavaChangeDefaultIT() {
|
class IncrementalK1JavaChangePreciseCompilationBackupIT : IncrementalJavaChangePreciseCompilationBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Default incremental compilation with precise compilation outputs backup on K2")
|
||||||
|
class IncrementalK2JavaChangePreciseCompilationBackupIT : IncrementalJavaChangePreciseCompilationBackupIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Incremental compilation via history files with default precise java tracking")
|
||||||
|
abstract class IncrementalJavaChangeOldICIT : IncrementalJavaChangeDefaultIT() {
|
||||||
|
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(useGradleClasspathSnapshot = false)
|
override val defaultBuildOptions = super.defaultBuildOptions.copy(useGradleClasspathSnapshot = false)
|
||||||
|
|
||||||
@@ -153,6 +173,16 @@ class IncrementalJavaChangeOldICIT : IncrementalJavaChangeDefaultIT() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DisplayName("Incremental compilation via history files with default precise java tracking with K1")
|
||||||
|
class IncrementalK1JavaChangeOldICIT : IncrementalJavaChangeOldICIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Incremental compilation via history files with default precise java tracking with K2")
|
||||||
|
class IncrementalK2JavaChangeOldICIT : IncrementalJavaChangeOldICIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
}
|
||||||
|
|
||||||
@DisplayName("Default incremental compilation with enabled precise java tracking")
|
@DisplayName("Default incremental compilation with enabled precise java tracking")
|
||||||
class IncrementalJavaChangePreciseIT : IncrementalCompilationJavaChangesBase(
|
class IncrementalJavaChangePreciseIT : IncrementalCompilationJavaChangesBase(
|
||||||
usePreciseJavaTracking = true
|
usePreciseJavaTracking = true
|
||||||
@@ -191,7 +221,7 @@ class IncrementalJavaChangePreciseIT : IncrementalCompilationJavaChangesBase(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Default incremental compilation with disabled precise java tracking")
|
@DisplayName("Default incremental compilation with disabled precise java tracking")
|
||||||
open class IncrementalJavaChangeDisablePreciseIT : IncrementalCompilationJavaChangesBase(
|
abstract class IncrementalJavaChangeDisablePreciseIT : IncrementalCompilationJavaChangesBase(
|
||||||
usePreciseJavaTracking = false
|
usePreciseJavaTracking = false
|
||||||
) {
|
) {
|
||||||
@DisplayName("Lib: tracked method signature ABI change")
|
@DisplayName("Lib: tracked method signature ABI change")
|
||||||
@@ -237,9 +267,14 @@ open class IncrementalJavaChangeDisablePreciseIT : IncrementalCompilationJavaCha
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@DisplayName("Default incremental compilation with disabled precise java tracking and enabled FIR")
|
@DisplayName("Default incremental compilation with disabled precise java tracking and enabled K1")
|
||||||
class IncrementalFirJavaChangeDisablePreciseIT : IncrementalJavaChangeDisablePreciseIT() {
|
class IncrementalK1JavaChangeDisablePreciseIT : IncrementalJavaChangeDisablePreciseIT() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(languageVersion = "2.0")
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Default incremental compilation with disabled precise java tracking and enabled K2")
|
||||||
|
class IncrementalK2JavaChangeDisablePreciseIT : IncrementalJavaChangeDisablePreciseIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmGradlePluginTests
|
@JvmGradlePluginTests
|
||||||
|
|||||||
+11
-6
@@ -18,13 +18,18 @@ import kotlin.test.assertFalse
|
|||||||
import kotlin.test.assertNotEquals
|
import kotlin.test.assertNotEquals
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
@DisplayName("Incremental compilation tests for Kotlin JS IR backend with 2.0")
|
@DisplayName("Incremental compilation tests for Kotlin JS IR backend with K1")
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
class Kotlin2FirJsIrBeIncrementalCompilationIT : Kotlin2JsIrBeIncrementalCompilationIT() {
|
class Kotlin2JsK1IrBeIncrementalCompilationIT : Kotlin2JsIrBeIncrementalCompilationIT() {
|
||||||
override val defaultBuildOptions: BuildOptions
|
override val defaultBuildOptions: BuildOptions
|
||||||
get() = super.defaultBuildOptions.copy(
|
get() = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
languageVersion = "2.0"
|
}
|
||||||
)
|
|
||||||
|
@DisplayName("Incremental compilation tests for Kotlin JS IR backend with K2")
|
||||||
|
@JsGradlePluginTests
|
||||||
|
class Kotlin2JsK2IrBeIncrementalCompilationIT : Kotlin2JsIrBeIncrementalCompilationIT() {
|
||||||
|
override val defaultBuildOptions: BuildOptions
|
||||||
|
get() = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
|
|
||||||
@Disabled("Not found way to fail BE compilation with successful FE 2.0 compilation")
|
@Disabled("Not found way to fail BE compilation with successful FE 2.0 compilation")
|
||||||
override fun testRebuildAfterError(gradleVersion: GradleVersion) {
|
override fun testRebuildAfterError(gradleVersion: GradleVersion) {
|
||||||
@@ -34,7 +39,7 @@ class Kotlin2FirJsIrBeIncrementalCompilationIT : Kotlin2JsIrBeIncrementalCompila
|
|||||||
|
|
||||||
@DisplayName("Incremental compilation tests for Kotlin JS IR backend")
|
@DisplayName("Incremental compilation tests for Kotlin JS IR backend")
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
open class Kotlin2JsIrBeIncrementalCompilationIT : KGPBaseTest() {
|
abstract class Kotlin2JsIrBeIncrementalCompilationIT : KGPBaseTest() {
|
||||||
override val defaultBuildOptions = BuildOptions(
|
override val defaultBuildOptions = BuildOptions(
|
||||||
jsOptions = BuildOptions.JsOptions(
|
jsOptions = BuildOptions.JsOptions(
|
||||||
incrementalJsKlib = true,
|
incrementalJsKlib = true,
|
||||||
|
|||||||
+7
-10
@@ -13,17 +13,14 @@ import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
|
|||||||
import org.jetbrains.kotlin.gradle.testbase.*
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
|
|
||||||
@JsGradlePluginTests
|
class KotlinJsIrK1IncrementalGradlePluginIT : AbstractKotlinJsIncrementalGradlePluginIT(irBackend = true) {
|
||||||
open class KotlinJsIr10IncrementalGradlePluginIT : AbstractKotlinJsIncrementalGradlePluginIT(
|
|
||||||
irBackend = true
|
|
||||||
)
|
|
||||||
|
|
||||||
@JsGradlePluginTests
|
|
||||||
class KotlinJsFirIncrementalGradlePluginIT : KotlinJsIr10IncrementalGradlePluginIT() {
|
|
||||||
override val defaultBuildOptions: BuildOptions
|
override val defaultBuildOptions: BuildOptions
|
||||||
get() = super.defaultBuildOptions.copy(
|
get() = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
languageVersion = "2.0"
|
}
|
||||||
)
|
|
||||||
|
class KotlinJsIrK2IncrementalGradlePluginIT : AbstractKotlinJsIncrementalGradlePluginIT(irBackend = true) {
|
||||||
|
override val defaultBuildOptions: BuildOptions
|
||||||
|
get() = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
|
|||||||
+2
-2
@@ -74,12 +74,12 @@ abstract class KotlinJsIrLibraryGradlePluginITBase : KGPBaseTest() {
|
|||||||
@DisplayName("Kotlin/JS K1 IR library")
|
@DisplayName("Kotlin/JS K1 IR library")
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
class KotlinK1JsIrLibraryGradlePluginIT : KotlinJsIrLibraryGradlePluginITBase() {
|
class KotlinK1JsIrLibraryGradlePluginIT : KotlinJsIrLibraryGradlePluginITBase() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(languageVersion = null)
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
}
|
}
|
||||||
|
|
||||||
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_0)
|
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_0)
|
||||||
@DisplayName("Kotlin/JS K2 IR library")
|
@DisplayName("Kotlin/JS K2 IR library")
|
||||||
@JsGradlePluginTests
|
@JsGradlePluginTests
|
||||||
class KotlinK2JsIrLibraryGradlePluginIT : KotlinJsIrLibraryGradlePluginITBase() {
|
class KotlinK2JsIrLibraryGradlePluginIT : KotlinJsIrLibraryGradlePluginITBase() {
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(languageVersion = "2.0")
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-1
@@ -21,7 +21,7 @@ import kotlin.io.path.relativeTo
|
|||||||
@DisplayName("Scripting plugin")
|
@DisplayName("Scripting plugin")
|
||||||
@OtherGradlePluginTests
|
@OtherGradlePluginTests
|
||||||
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_3) // workaround for a Gradle synchronization bug: https://github.com/gradle/gradle/issues/23450
|
@GradleTestVersions(maxVersion = TestVersions.Gradle.G_7_3) // workaround for a Gradle synchronization bug: https://github.com/gradle/gradle/issues/23450
|
||||||
class ScriptingIT : KGPBaseTest() {
|
abstract class ScriptingIT : KGPBaseTest() {
|
||||||
|
|
||||||
@DisplayName("basic script is working")
|
@DisplayName("basic script is working")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
@@ -110,4 +110,14 @@ class ScriptingIT : KGPBaseTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("K1 Scripting plugin")
|
||||||
|
class ScriptingK1IT : ScriptingIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("K2 Scripting plugin")
|
||||||
|
class ScriptingK2IT : ScriptingIT() {
|
||||||
|
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK2()
|
||||||
}
|
}
|
||||||
+10
@@ -11,6 +11,7 @@ import org.gradle.internal.logging.LoggingConfigurationBuildOptions.StacktraceOp
|
|||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.cli.common.CompilerSystemProperties.COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM
|
import org.jetbrains.kotlin.cli.common.CompilerSystemProperties.COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||||
|
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||||
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
|
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
|
||||||
import org.jetbrains.kotlin.gradle.report.BuildReportType
|
import org.jetbrains.kotlin.gradle.report.BuildReportType
|
||||||
@@ -51,6 +52,15 @@ data class BuildOptions(
|
|||||||
val compilerExecutionStrategy: KotlinCompilerExecutionStrategy? = null,
|
val compilerExecutionStrategy: KotlinCompilerExecutionStrategy? = null,
|
||||||
val runViaBuildToolsApi: Boolean? = null,
|
val runViaBuildToolsApi: Boolean? = null,
|
||||||
) {
|
) {
|
||||||
|
val isK2ByDefault
|
||||||
|
get() = KotlinVersion.DEFAULT >= KotlinVersion.KOTLIN_2_0
|
||||||
|
|
||||||
|
fun copyEnsuringK1(): BuildOptions =
|
||||||
|
copy(languageVersion = if (isK2ByDefault) "1.9" else null)
|
||||||
|
|
||||||
|
fun copyEnsuringK2(): BuildOptions =
|
||||||
|
copy(languageVersion = if (isK2ByDefault) null else "2.0")
|
||||||
|
|
||||||
val safeAndroidVersion: String
|
val safeAndroidVersion: String
|
||||||
get() = androidVersion ?: error("AGP version is expected to be set")
|
get() = androidVersion ?: error("AGP version is expected to be set")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user