Skip to content

Commit 69f6820

Browse files
authored
Gradle 5.4.1 & tests for Android Gradle Plugin 3.6 (#173)
1 parent d6f59b5 commit 69f6820

File tree

14 files changed

+165
-6
lines changed

14 files changed

+165
-6
lines changed

buildSrc/src/main/kotlin/Libs.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ object Libs {
3737
Versions.com_android_tools_build_gradle_34x
3838
const val com_android_tools_build_gradle_35x: String = "com.android.tools.build:gradle:" +
3939
Versions.com_android_tools_build_gradle_35x
40+
const val com_android_tools_build_gradle_36x: String = "com.android.tools.build:gradle:" +
41+
Versions.com_android_tools_build_gradle_36x
4042

4143
/**
4244
* https://developer.android.com/studio */

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ object Versions {
1515

1616
const val aapt2: String = "3.2.1-4818971"
1717

18-
const val com_android_tools_build_gradle: String = "3.4.0"
18+
const val com_android_tools_build_gradle: String = "3.4.1"
1919
const val com_android_tools_build_gradle_32x: String = "3.2.1"
2020
const val com_android_tools_build_gradle_33x: String = "3.3.2"
21-
const val com_android_tools_build_gradle_34x: String = "3.4.0"
22-
const val com_android_tools_build_gradle_35x: String = "3.5.0-alpha13"
21+
const val com_android_tools_build_gradle_34x: String = "3.4.1"
22+
const val com_android_tools_build_gradle_35x: String = "3.5.0-beta03"
23+
const val com_android_tools_build_gradle_36x: String = "3.6.0-alpha02"
2324

2425
const val lint_gradle: String = "26.2.1"
2526

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

plugin/android-junit5/build.gradle.kts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ tasks.named("processTestResources", Copy::class.java).configure {
7171
"AGP_33X" to Versions.com_android_tools_build_gradle_33x,
7272
"AGP_34X" to Versions.com_android_tools_build_gradle_34x,
7373
"AGP_35X" to Versions.com_android_tools_build_gradle_35x,
74+
"AGP_36X" to Versions.com_android_tools_build_gradle_36x,
7475
"KOTLIN" to Versions.org_jetbrains_kotlin,
7576

7677
"JUPITER_API" to Libs.junit_jupiter_api,
@@ -116,7 +117,8 @@ private val agpConfigurations = listOf(
116117
AgpConfiguration("3.2", Libs.com_android_tools_build_gradle_32x),
117118
AgpConfiguration("3.3", Libs.com_android_tools_build_gradle_33x),
118119
AgpConfiguration("3.4", Libs.com_android_tools_build_gradle_34x),
119-
AgpConfiguration("3.5", Libs.com_android_tools_build_gradle_35x)
120+
AgpConfiguration("3.5", Libs.com_android_tools_build_gradle_35x),
121+
AgpConfiguration("3.6", Libs.com_android_tools_build_gradle_36x)
120122
)
121123

122124
configurations {

plugin/android-junit5/src/test/kotlin/de/mannodermaus/gradle/plugins/junit5/FunctionalTests.kt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,40 @@ class FunctionalTests {
124124
}
125125
}
126126

127+
@Test
128+
@DisplayName("Android Gradle Plugin 3.6.x, with Flavors and Build Types")
129+
fun agp36x() {
130+
val fixtureRoot = File("src/test/projects/agp36x")
131+
File(fixtureRoot, "build").deleteRecursively()
132+
133+
val result = runGradle(AgpVersion.AGP_36X)
134+
.withProjectDir(fixtureRoot)
135+
.build()
136+
137+
assertThat(result).task(":test")
138+
.hasOutcome(TaskOutcome.SUCCESS)
139+
assertThat(result).output().ofTask(":testFreeDebugUnitTest").apply {
140+
contains("de.mannodermaus.app.JavaTest > test() PASSED")
141+
executedTestCount().isEqualTo(1)
142+
}
143+
assertThat(result).output().ofTask(":testFreeReleaseUnitTest").apply {
144+
contains("de.mannodermaus.app.JavaTest > test() PASSED")
145+
contains("de.mannodermaus.app.KotlinReleaseTest > test() PASSED")
146+
contains("de.mannodermaus.app.JavaFreeReleaseTest > test() PASSED")
147+
executedTestCount().isEqualTo(3)
148+
}
149+
assertThat(result).output().ofTask(":testPaidDebugUnitTest").apply {
150+
contains("de.mannodermaus.app.JavaTest > test() PASSED")
151+
contains("de.mannodermaus.app.KotlinPaidDebugTest > test() PASSED")
152+
executedTestCount().isEqualTo(2)
153+
}
154+
assertThat(result).output().ofTask(":testPaidReleaseUnitTest").apply {
155+
contains("de.mannodermaus.app.JavaTest > test() PASSED")
156+
contains("de.mannodermaus.app.KotlinReleaseTest > test() PASSED")
157+
executedTestCount().isEqualTo(2)
158+
}
159+
}
160+
127161
@Test
128162
@DisplayName("Return Android default values")
129163
fun androidDefaultValues() {

plugin/android-junit5/src/test/kotlin/de/mannodermaus/gradle/plugins/junit5/util/AgpVersion.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ enum class AgpVersion(val fileKey: String) {
44
AGP_32X("agp32x"),
55
AGP_33X("agp33x"),
66
AGP_34X("agp34x"),
7-
AGP_35X("agp35x");
7+
AGP_35X("agp35x"),
8+
AGP_36X("agp36x");
89

910
companion object {
1011
fun latest() = AGP_34X
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
buildscript {
2+
repositories {
3+
google()
4+
jcenter()
5+
}
6+
}
7+
8+
plugins {
9+
id "com.android.application"
10+
id "org.jetbrains.kotlin.android"
11+
id "de.mannodermaus.android-junit5"
12+
id "jacoco"
13+
}
14+
15+
def version = com.android.builder.model.Version.ANDROID_GRADLE_PLUGIN_VERSION
16+
if (version != AGP_36X) {
17+
throw new IllegalStateException("Incorrect AGP version. Expected $AGP_36X, got $version")
18+
}
19+
20+
repositories {
21+
google()
22+
jcenter()
23+
}
24+
25+
android {
26+
compileSdkVersion COMPILE_SDK_VERSION
27+
28+
flavorDimensions "environment"
29+
productFlavors {
30+
free {
31+
dimension "environment"
32+
}
33+
paid {
34+
dimension "environment"
35+
}
36+
}
37+
38+
testOptions.unitTests.all {
39+
testLogging.events = ["passed", "skipped", "failed"]
40+
}
41+
}
42+
43+
dependencies {
44+
testImplementation JUPITER_API
45+
testRuntimeOnly JUPITER_ENGINE
46+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
pluginManagement {
2+
repositories {
3+
google()
4+
}
5+
resolutionStrategy {
6+
eachPlugin {
7+
if (requested.id.id == "com.android.application") {
8+
useModule("com.android.tools.build:gradle:$AGP_36X")
9+
}
10+
if (requested.id.id == "org.jetbrains.kotlin.android") {
11+
useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:$KOTLIN")
12+
}
13+
}
14+
}
15+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<manifest package="de.mannodermaus.app"></manifest>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package de.mannodermaus.app;
2+
3+
public class Adder {
4+
public int add(int a, int b) {
5+
return a + b;
6+
}
7+
}

0 commit comments

Comments
 (0)