From f507b19bd3aa30bfddd18c11951cc1d3b7f774cf Mon Sep 17 00:00:00 2001 From: "Alexander.Likhachev" Date: Tue, 30 Jan 2024 14:15:46 +0100 Subject: [PATCH] [Gradle] Move compiler version choosing logic into testHelpers.kt Also, migrate from custom Kotlin versions to TestVersions.Kotlin.STABLE_RELEASE to avoid adding custom repositories --- .../gradle/BuildToolsApiJvmCompilationIT.kt | 24 +++---------------- .../kotlin/gradle/testbase/testHelpers.kt | 20 ++++++++++++++++ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt index cb5ef166c41..71747c24bb9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildToolsApiJvmCompilationIT.kt @@ -29,18 +29,15 @@ class BuildToolsApiJvmCompilationIT : KGPBaseTest() { runViaBuildToolsApi = false, incremental = false, ), - dependencyManagement = DependencyManagement.DefaultDependencyManagement( - setOf("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") - ) ) { build("assemble") { assertNoDiagnostic(KotlinToolingDiagnostics.BuildToolsApiVersionInconsistency) } - enableOtherVersionBuildToolsImpl() + chooseCompilerVersion(TestVersions.Kotlin.STABLE_RELEASE) buildAndFail("assemble") { assertHasDiagnostic(KotlinToolingDiagnostics.BuildToolsApiVersionInconsistency) assertOutputContains("Expected version: ${defaultBuildOptions.kotlinVersion}") - assertOutputContains("Actual resolved version: $OTHER_KOTLIN_VERSION") + assertOutputContains("Actual resolved version: ${TestVersions.Kotlin.STABLE_RELEASE}") } } } @@ -51,12 +48,9 @@ class BuildToolsApiJvmCompilationIT : KGPBaseTest() { project( "simpleProject", gradleVersion, buildOptions = defaultBuildOptions.copy( incremental = false, - ), - dependencyManagement = DependencyManagement.DefaultDependencyManagement( - setOf("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") ) ) { - enableOtherVersionBuildToolsImpl() + chooseCompilerVersion(TestVersions.Kotlin.STABLE_RELEASE) build("assemble") { assertNoDiagnostic(KotlinToolingDiagnostics.BuildToolsApiVersionInconsistency) } @@ -151,16 +145,4 @@ class BuildToolsApiJvmCompilationIT : KGPBaseTest() { } } } -} - -private const val OTHER_KOTLIN_VERSION = "1.9.30-dev-460" - -private fun TestProject.enableOtherVersionBuildToolsImpl() { - buildGradle.append( - """ - kotlin { - compilerVersion.set("$OTHER_KOTLIN_VERSION") - } - """.trimIndent() - ) } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt index a1428021b20..dae869bf0b8 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt @@ -191,4 +191,24 @@ internal fun TestProject.addArchivesBaseNameCompat( """.trimMargin() ) } +} + +/** + * Chooses compiler version used for JVM compilation in the build tools API mode. + * + * If the chosen version requires additional repositories, please consider using [DependencyManagement.DefaultDependencyManagement]. + * + * Ensure [BuildOptions.runViaBuildToolsApi] is set to true for the builds! + */ +internal fun TestProject.chooseCompilerVersion( + version: String, +) { + buildGradle.append( + //language=Gradle + """ + kotlin { + compilerVersion.set("$version") + } + """.trimIndent() + ) } \ No newline at end of file