Skip to content

Commit 0af53e4

Browse files
committed
Test latest kotlin version and oldest supported.
This adds tests for the newest and oldest supported kotlin versions in the RommSchemaLocationWorkaroundTest. The other relocation tests will default to the latest supported version.
1 parent 367d0d9 commit 0af53e4

File tree

5 files changed

+30
-6
lines changed

5 files changed

+30
-6
lines changed

src/test/groovy/org/gradle/android/ConfigurationCachingTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import org.junit.Assume
66

77
@MultiVersionTest
88
class ConfigurationCachingTest extends AbstractTest {
9-
private static final VersionNumber SUPPORTED_KOTLIN_VERSION = VersionNumber.parse("1.4.30")
9+
private static final VersionNumber SUPPORTED_KOTLIN_VERSION = TestVersions.latestSupportedKotlinVersion()
1010

1111
def "plugin is compatible with configuration cache"() {
1212
Assume.assumeTrue(TestVersions.latestAndroidVersionForCurrentJDK() >= VersionNumber.parse("4.2.0-alpha01"))

src/test/groovy/org/gradle/android/CrossVersionOutcomeAndRelocationTest.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.gradle.util.GradleVersion
77
import org.gradle.util.VersionNumber
88
import spock.lang.Unroll
99

10+
import static org.gradle.android.TestVersions.latestKotlinVersionForGradleVersion
1011
import static org.gradle.android.Versions.android
1112
import static org.gradle.testkit.runner.TaskOutcome.FROM_CACHE
1213
import static org.gradle.testkit.runner.TaskOutcome.NO_SOURCE
@@ -27,12 +28,14 @@ class CrossVersionOutcomeAndRelocationTest extends AbstractTest {
2728
def originalDir = temporaryFolder.newFolder()
2829
SimpleAndroidApp.builder(originalDir, cacheDir)
2930
.withAndroidVersion(androidVersion)
31+
.withKotlinVersion(latestKotlinVersionForGradleVersion(gradleVersion))
3032
.build()
3133
.writeProject()
3234

3335
def relocatedDir = temporaryFolder.newFolder()
3436
SimpleAndroidApp.builder(relocatedDir, cacheDir)
3537
.withAndroidVersion(androidVersion)
38+
.withKotlinVersion(latestKotlinVersionForGradleVersion(gradleVersion))
3639
.build()
3740
.writeProject()
3841

src/test/groovy/org/gradle/android/RoomSchemaLocationWorkaroundTest.groovy

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ class RoomSchemaLocationWorkaroundTest extends AbstractTest {
1717
private static final List<String> ALL_VARIANTS = ["debug", "release"]
1818

1919
@Unroll
20-
def "schemas are generated into task-specific directory and are cacheable with kotlin and kapt workers enabled (Android #androidVersion)"() {
20+
def "schemas are generated into task-specific directory and are cacheable with kotlin and kapt workers enabled (Android #androidVersion) (Kotlin #kotlinVersion)"() {
2121
SimpleAndroidApp.builder(temporaryFolder.root, cacheDir)
2222
.withAndroidVersion(androidVersion)
23+
.withKotlinVersion(VersionNumber.parse(kotlinVersion))
2324
.build()
2425
.writeProject()
2526
@@ -73,13 +74,15 @@ class RoomSchemaLocationWorkaroundTest extends AbstractTest {
7374
assertMergedSchemaOutputsExist()
7475
7576
where:
76-
androidVersion << TestVersions.latestAndroidVersions
77+
//noinspection GroovyAssignabilityCheck
78+
[androidVersion, kotlinVersion] << [TestVersions.latestAndroidVersions, TestVersions.supportedKotlinVersions].combinations()
7779
}
7880
7981
@Unroll
80-
def "schemas are generated into task-specific directory and are cacheable with kotlin and kapt workers disabled (Android #androidVersion)"() {
82+
def "schemas are generated into task-specific directory and are cacheable with kotlin and kapt workers disabled (Android #androidVersion) (Kotlin #kotlinVersion)"() {
8183
SimpleAndroidApp.builder(temporaryFolder.root, cacheDir)
8284
.withAndroidVersion(androidVersion)
85+
.withKotlinVersion(VersionNumber.parse(kotlinVersion))
8386
.withKaptWorkersDisabled()
8487
.build()
8588
.writeProject()
@@ -134,7 +137,8 @@ class RoomSchemaLocationWorkaroundTest extends AbstractTest {
134137
assertMergedSchemaOutputsExist()
135138
136139
where:
137-
androidVersion << TestVersions.latestAndroidVersions
140+
//noinspection GroovyAssignabilityCheck
141+
[androidVersion, kotlinVersion] << [TestVersions.latestAndroidVersions, TestVersions.supportedKotlinVersions].combinations()
138142
}
139143
140144
@Unroll

src/test/groovy/org/gradle/android/SimpleAndroidApp.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ class SimpleAndroidApp {
452452
RoomConfiguration roomConfiguration = RoomConfiguration.ROOM_EXTENSION
453453

454454
VersionNumber androidVersion = Versions.latestAndroidVersion()
455-
VersionNumber kotlinVersion = VersionNumber.parse("1.3.72")
455+
VersionNumber kotlinVersion = TestVersions.latestSupportedKotlinVersion()
456456
File projectDir
457457
File cacheDir
458458

src/test/groovy/org/gradle/android/TestVersions.groovy

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,21 @@ class TestVersions {
4141
def minorVersions = allCandidateTestVersions.keySet().collect { "${it.major}.${it.minor}" }
4242
return minorVersions.collect { getLatestVersionForAndroid(it) }
4343
}
44+
45+
static List<String> supportedKotlinVersions = ["1.3.72", "1.5.0"]
46+
47+
static VersionNumber oldestSupportedKotlinVersion() {
48+
return VersionNumber.parse(supportedKotlinVersions.first())
49+
}
50+
51+
static VersionNumber latestSupportedKotlinVersion() {
52+
return VersionNumber.parse(supportedKotlinVersions.last())
53+
}
54+
55+
static VersionNumber latestKotlinVersionForGradleVersion(GradleVersion gradleVersion) {
56+
if (gradleVersion < GradleVersion.version("6.1")) {
57+
return oldestSupportedKotlinVersion()
58+
}
59+
return latestSupportedKotlinVersion()
60+
}
4461
}

0 commit comments

Comments
 (0)