[Gradle] Bump max Gradle version in tests to 8.5

^KT-62540 Verification Pending
This commit is contained in:
Yahor Berdnikau
2024-01-25 10:36:42 +01:00
committed by Space Team
parent 8f2fc3d1e2
commit a40459c520
18 changed files with 70 additions and 71 deletions
@@ -223,7 +223,7 @@ fun Test.includeTestsWithPattern(include: Boolean, patterns: (MutableSet<String>
} }
fun Test.advanceGradleVersion() { fun Test.advanceGradleVersion() {
val gradleVersionForTests = "8.4" val gradleVersionForTests = "8.5"
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests) systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
} }
@@ -20,11 +20,7 @@ import org.gradle.api.logging.LogLevel
import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.util.capitalize
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.presetName
import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.io.TempDir
import java.io.File import java.io.File
import java.nio.file.Path import java.nio.file.Path
import kotlin.io.path.* import kotlin.io.path.*
@@ -17,7 +17,6 @@ class BuildFusStatisticsIT : KGPDaemonsBaseTest() {
@GradleTest @GradleTest
@GradleTestVersions( @GradleTestVersions(
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0, TestVersions.Gradle.G_8_2, TestVersions.Gradle.G_8_3], additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0, TestVersions.Gradle.G_8_2, TestVersions.Gradle.G_8_3],
maxVersion = TestVersions.Gradle.G_8_5
) )
fun testCompatibilityBuildSrcWithKotlinDsl(gradleVersion: GradleVersion) { fun testCompatibilityBuildSrcWithKotlinDsl(gradleVersion: GradleVersion) {
project( project(
@@ -147,9 +147,15 @@ class JsIrConfigurationCacheIT : KGPBaseTest() {
project("kotlin-js-nodejs-project", gradleVersion) { project("kotlin-js-nodejs-project", gradleVersion) {
build("nodeRun", buildOptions = buildOptions) { build("nodeRun", buildOptions = buildOptions) {
assertTasksExecuted(":nodeRun") assertTasksExecuted(":nodeRun")
assertOutputContains( if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_5)) {
"Calculating task graph as no configuration cache is available for tasks: nodeRun" assertOutputContains(
) "Calculating task graph as no configuration cache is available for tasks: nodeRun"
)
} else {
assertOutputContains(
"Calculating task graph as no cached configuration is available for tasks: nodeRun"
)
}
assertConfigurationCacheStored() assertConfigurationCacheStored()
} }
@@ -215,7 +215,8 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
TestVersions.Gradle.G_8_0, TestVersions.Gradle.G_8_0,
TestVersions.Gradle.G_8_1, TestVersions.Gradle.G_8_1,
TestVersions.Gradle.G_8_2, TestVersions.Gradle.G_8_2,
TestVersions.Gradle.G_8_3 TestVersions.Gradle.G_8_3,
TestVersions.Gradle.G_8_4,
], ],
) )
@GradleTest @GradleTest
@@ -223,6 +224,7 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
project("kotlinProject", gradleVersion) { project("kotlinProject", gradleVersion) {
build("help") { build("help") {
val expectedVariant = when (gradleVersion) { val expectedVariant = when (gradleVersion) {
GradleVersion.version(TestVersions.Gradle.G_8_5) -> "gradle82"
GradleVersion.version(TestVersions.Gradle.G_8_4) -> "gradle82" GradleVersion.version(TestVersions.Gradle.G_8_4) -> "gradle82"
GradleVersion.version(TestVersions.Gradle.G_8_3) -> "gradle82" GradleVersion.version(TestVersions.Gradle.G_8_3) -> "gradle82"
GradleVersion.version(TestVersions.Gradle.G_8_2) -> "gradle82" GradleVersion.version(TestVersions.Gradle.G_8_2) -> "gradle82"
@@ -233,7 +233,11 @@ class UpToDateIT : KGPBaseTest() {
override fun mutateProject(project: TestProject) { override fun mutateProject(project: TestProject) {
project.buildGradle.modify { project.buildGradle.modify {
it.replace("archivesBaseName = '$oldName'", "archivesBaseName = '$newName'") if (project.gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_5)) {
it.replace("archivesBaseName = '$oldName'", "archivesBaseName = '$newName'")
} else {
it.replace("archivesName = '$oldName'", "archivesName = '$newName'")
}
} }
} }
@@ -39,9 +39,15 @@ class WasmConfigurationCacheIT : KGPBaseTest() {
) { ) {
build("wasmJsD8Run", buildOptions = buildOptions) { build("wasmJsD8Run", buildOptions = buildOptions) {
assertTasksExecuted(":wasmJsD8Run") assertTasksExecuted(":wasmJsD8Run")
assertOutputContains( if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_5)) {
"Calculating task graph as no configuration cache is available for tasks: wasmJsD8Run" assertOutputContains(
) "Calculating task graph as no configuration cache is available for tasks: wasmJsD8Run"
)
} else {
assertOutputContains(
"Calculating task graph as no cached configuration is available for tasks: wasmJsD8Run"
)
}
assertConfigurationCacheStored() assertConfigurationCacheStored()
} }
@@ -69,8 +69,11 @@ open class Kapt3AndroidExternalIT : Kapt3BaseIT() {
assertFileInProjectExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/DaggerApplicationComponent.java") assertFileInProjectExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/DaggerApplicationComponent.java")
assertFileInProjectExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/ui/HomeActivity_MembersInjector.java") assertFileInProjectExists("app/build/generated/source/kapt/debug/com/example/dagger/kotlin/ui/HomeActivity_MembersInjector.java")
val daggerJavaClassesDir = val daggerJavaClassesDir = if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_5)) {
"app/build/intermediates/javac/debug/classes/com/example/dagger/kotlin/" "app/build/intermediates/javac/debug/classes/com/example/dagger/kotlin/"
} else {
"app/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/example/dagger/kotlin/"
}
assertFileInProjectExists(daggerJavaClassesDir + "DaggerApplicationComponent.class") assertFileInProjectExists(daggerJavaClassesDir + "DaggerApplicationComponent.class")
@@ -794,8 +794,7 @@ class KotlinAndroidMppIT : KGPBaseTest() {
} }
} }
val checkedConsumerAGPVersions = TestVersions.AgpCompatibilityMatrix val checkedConsumerAGPVersions = TestVersions.AgpCompatibilityMatrix.entries
.values()
.filter { agp -> AGPVersion.fromString(agp.version) < AGPVersion.fromString(TestVersions.AGP.MAX_SUPPORTED) } .filter { agp -> AGPVersion.fromString(agp.version) < AGPVersion.fromString(TestVersions.AGP.MAX_SUPPORTED) }
checkedConsumerAGPVersions.forEach { consumerAgpVersion -> checkedConsumerAGPVersions.forEach { consumerAgpVersion ->
@@ -33,7 +33,7 @@ interface TestVersions {
const val MIN_SUPPORTED = minSupportedGradleVersion const val MIN_SUPPORTED = minSupportedGradleVersion
const val MIN_SUPPORTED_KPM = G_7_0 const val MIN_SUPPORTED_KPM = G_7_0
const val MAX_SUPPORTED = G_8_4 const val MAX_SUPPORTED = G_8_5
} }
object Kotlin { object Kotlin {
@@ -52,11 +52,11 @@ interface TestVersions {
const val AGP_80 = "8.0.2" const val AGP_80 = "8.0.2"
const val AGP_81 = "8.1.3" const val AGP_81 = "8.1.3"
const val AGP_82 = "8.2.0" const val AGP_82 = "8.2.0"
const val AGP_83 = "8.3.0-beta02" const val AGP_83 = "8.3.0-rc02"
const val AGP_84 = "8.4.0-alpha04" const val AGP_84 = "8.4.0-alpha04"
const val MIN_SUPPORTED = AGP_71 // KotlinAndroidPlugin.minimalSupportedAgpVersion const val MIN_SUPPORTED = AGP_71 // KotlinAndroidPlugin.minimalSupportedAgpVersion
const val MAX_SUPPORTED = AGP_82 // Update once Gradle MAX_SUPPORTED version will be bumped const val MAX_SUPPORTED = AGP_83 // Update once Gradle MAX_SUPPORTED version will be bumped
} }
enum class AgpCompatibilityMatrix( enum class AgpCompatibilityMatrix(
@@ -71,7 +71,7 @@ interface TestVersions {
AGP_74(AGP.AGP_74, GradleVersion.version(Gradle.G_7_5), GradleVersion.version(Gradle.G_7_6), JavaVersion.VERSION_11), AGP_74(AGP.AGP_74, GradleVersion.version(Gradle.G_7_5), GradleVersion.version(Gradle.G_7_6), JavaVersion.VERSION_11),
AGP_80(AGP.AGP_80, GradleVersion.version(Gradle.G_8_0), GradleVersion.version(Gradle.G_8_0), JavaVersion.VERSION_17), AGP_80(AGP.AGP_80, GradleVersion.version(Gradle.G_8_0), GradleVersion.version(Gradle.G_8_0), JavaVersion.VERSION_17),
AGP_81(AGP.AGP_81, GradleVersion.version(Gradle.G_8_1), GradleVersion.version(Gradle.G_8_4), JavaVersion.VERSION_17), AGP_81(AGP.AGP_81, GradleVersion.version(Gradle.G_8_1), GradleVersion.version(Gradle.G_8_4), JavaVersion.VERSION_17),
AGP_82(AGP.AGP_82, GradleVersion.version(Gradle.G_8_1), GradleVersion.version(Gradle.G_8_4), JavaVersion.VERSION_17), AGP_82(AGP.AGP_82, GradleVersion.version(Gradle.G_8_2), GradleVersion.version(Gradle.G_8_4), JavaVersion.VERSION_17),
AGP_83(AGP.AGP_83, GradleVersion.version(Gradle.G_8_4), GradleVersion.version(Gradle.G_8_5), JavaVersion.VERSION_17), AGP_83(AGP.AGP_83, GradleVersion.version(Gradle.G_8_4), GradleVersion.version(Gradle.G_8_5), JavaVersion.VERSION_17),
AGP_84(AGP.AGP_84, GradleVersion.version(Gradle.G_8_4), GradleVersion.version(Gradle.G_8_5), JavaVersion.VERSION_17), AGP_84(AGP.AGP_84, GradleVersion.version(Gradle.G_8_4), GradleVersion.version(Gradle.G_8_5), JavaVersion.VERSION_17),
; ;
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.gradle.testbase package org.jetbrains.kotlin.gradle.testbase
import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.BaseGradleIT import org.jetbrains.kotlin.gradle.BaseGradleIT
/** /**
@@ -23,9 +24,15 @@ fun TestProject.assertSimpleConfigurationCacheScenarioWorks(
build(*buildArguments, buildOptions = buildOptions) { build(*buildArguments, buildOptions = buildOptions) {
assertTasksExecuted(*executedTask.toTypedArray()) assertTasksExecuted(*executedTask.toTypedArray())
assertOutputContains( if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_5)) {
"Calculating task graph as no configuration cache is available for tasks: ${buildArguments.joinToString(separator = " ")}" assertOutputContains(
) "Calculating task graph as no configuration cache is available for tasks: ${buildArguments.joinToString(separator = " ")}"
)
} else {
assertOutputContains(
"Calculating task graph as no cached configuration is available for tasks: ${buildArguments.joinToString(separator = " ")}"
)
}
assertConfigurationCacheStored() assertConfigurationCacheStored()
} }
@@ -161,7 +161,16 @@ fun GradleProject.addPropertyToGradleProperties(
internal fun TestProject.addArchivesBaseNameCompat( internal fun TestProject.addArchivesBaseNameCompat(
archivesBaseName: String archivesBaseName: String
) { ) {
if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_7_1)) { if (gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_8_5)) {
buildGradle.appendText(
"""
|
|base {
| archivesName = '$archivesBaseName'
|}
""".trimMargin()
)
} else if (gradleVersion < GradleVersion.version(TestVersions.Gradle.G_7_1)) {
buildGradle.appendText( buildGradle.appendText(
""" """
| |
@@ -1,5 +1,3 @@
import org.gradle.util.VersionNumber
plugins { plugins {
id 'com.android.application' id 'com.android.application'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.android'
@@ -44,32 +42,14 @@ android {
} }
} }
publishNonDefault true if (GradleVersion.current() < GradleVersion.version("8.5")) {
publishNonDefault true
}
lintOptions.abortOnError = false lintOptions.abortOnError = false
} }
if (VersionNumber.parse(android_tools_version) < VersionNumber.parse("3.0.0-alpha1")) {
configurations {
flavor1DebugCompile
flavor1ReleaseCompile
flavor2DebugCompile
flavor2ReleaseCompile
}
dependencies {
flavor1DebugCompile project(path: ':Lib', configuration: 'flavor1Debug')
flavor1ReleaseCompile project(path: ':Lib', configuration: 'flavor1Release')
flavor2DebugCompile project(path: ':Lib', configuration: 'flavor2Debug')
flavor2ReleaseCompile project(path: ':Lib', configuration: 'flavor2Release')
}
}
else {
dependencies {
implementation project(":Lib")
}
}
dependencies { dependencies {
implementation project(":Lib")
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testImplementation'junit:junit:4.13.2' testImplementation'junit:junit:4.13.2'
} }
@@ -38,6 +38,8 @@ android {
flavor2 { dimension "myFlavor" } flavor2 { dimension "myFlavor" }
} }
publishNonDefault true if (GradleVersion.current() < GradleVersion.version("8.5")) {
publishNonDefault true
}
lintOptions.abortOnError = false lintOptions.abortOnError = false
} }
@@ -1,12 +1,9 @@
import org.gradle.util.VersionNumber
plugins { plugins {
id 'com.android.test' id 'com.android.test'
id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.android'
} }
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "junit:junit:4.13.2" implementation "junit:junit:4.13.2"
} }
@@ -32,18 +29,13 @@ android {
} }
targetProjectPath ':Android' targetProjectPath ':Android'
if (VersionNumber.parse(android_tools_version) < VersionNumber.parse("3.0.0-alpha1")) { flavorDimensions "myFlavor"
targetVariant 'flavor1Debug' productFlavors {
} flavor1 {
else { dimension "myFlavor"
flavorDimensions "myFlavor" }
productFlavors { flavor2 {
flavor1 { dimension "myFlavor"
dimension "myFlavor"
}
flavor2 {
dimension "myFlavor"
}
} }
} }
lintOptions.abortOnError = false lintOptions.abortOnError = false
@@ -1,2 +1 @@
include ':dac' include ':dac'
include ':dac:jdk'
@@ -1,4 +1 @@
rootProject.name = "kotlin-js-npm-overrides" rootProject.name = "kotlin-js-npm-overrides"
include("base")
include("lib")