Skip to content

Commit a043d0f

Browse files
committed
Debug json data
1 parent 3800b90 commit a043d0f

File tree

4 files changed

+44
-12
lines changed

4 files changed

+44
-12
lines changed

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/NoVcsEmergePluginTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class NoVcsEmergePluginTest : EmergePluginTest() {
7777
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
7878
.withArguments("logExtension")
7979
.withGithubPR()
80+
.withJavaVersionFromAgp(project.agpVersion)
8081
.build()
8182

8283
assertThat(runner).task(":app:logExtension").succeeded()
@@ -101,6 +102,7 @@ class NoVcsEmergePluginTest : EmergePluginTest() {
101102
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
102103
.withArguments("logExtension")
103104
.withGitHubPushEvent()
105+
.withJavaVersionFromAgp(project.agpVersion)
104106
.build()
105107

106108
assertThat(runner).apply {

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/SimpleEmergePluginTest.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@ import com.emergetools.android.gradle.base.EmergeGradleRunner.Companion.LATEST_A
55
import com.emergetools.android.gradle.base.EmergeGradleRunner2
66
import com.emergetools.android.gradle.mocks.assertSuccessfulUploadRequests
77
import com.emergetools.android.gradle.projects.SimpleGradleProject
8-
import com.google.common.truth.Truth.assertThat
98
import org.gradle.util.GradleVersion
109
import org.junit.jupiter.api.Test
11-
import java.io.File
1210

1311
class SimpleEmergePluginTest : EmergePluginTest() {
1412
@Test
1513
fun simpleBundle() {
1614
val project = SimpleGradleProject.createWithVcsInExtension(this)
1715
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
1816
.withArguments("emergeUploadReleaseAab")
17+
.withJavaVersionFromAgp(project.agpVersion)
1918
.build()
2019

2120
assertSuccessfulUploadRequests(server)
@@ -27,6 +26,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
2726
val project = SimpleGradleProject.createWithVcsInExtension(this, LATEST_AGP_7_VERSION)
2827
val runner = EmergeGradleRunner2(project.gradleProject.rootDir, GradleVersion.version("7.5.1"))
2928
.withArguments("emergeUploadReleaseAab")
29+
.withJavaVersionFromAgp(LATEST_AGP_7_VERSION)
3030
.build()
3131

3232
assertSuccessfulUploadRequests(server)
@@ -39,6 +39,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
3939
val project = SimpleGradleProject.createWithVcsInExtension(this)
4040
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
4141
.withArguments("emergeUploadReleaseAab")
42+
.withJavaVersionFromAgp(project.agpVersion)
4243
.buildAndFail()
4344

4445
assertThat(runner).task(":app:emergeUploadReleaseAab").failed()
@@ -49,6 +50,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
4950
val project = SimpleGradleProject.createWithVcsInExtension(this)
5051
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
5152
.withArguments("emergeUploadReleaseApk")
53+
.withJavaVersionFromAgp(project.agpVersion)
5254
.build()
5355

5456
assertSuccessfulUploadRequests(server)
@@ -61,6 +63,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
6163
val project = SimpleGradleProject.createWithVcsInExtension(this)
6264
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
6365
.withArguments("emergeUploadReleaseApk")
66+
.withJavaVersionFromAgp(project.agpVersion)
6467
.buildAndFail()
6568

6669
assertThat(runner).task(":app:emergeUploadReleaseApk").failed()
@@ -71,6 +74,7 @@ class SimpleEmergePluginTest : EmergePluginTest() {
7174
val project = SimpleGradleProject.createWithVcsInExtension(this)
7275
val runner = EmergeGradleRunner2(project.gradleProject.rootDir)
7376
.withArguments("logExtension")
77+
.withJavaVersionFromAgp(project.agpVersion)
7478
.withGithubPR()
7579
.build()
7680

@@ -85,6 +89,4 @@ class SimpleEmergePluginTest : EmergePluginTest() {
8589
╠═ previousSha: testPreviousSha
8690
""".trimIndent())
8791
}
88-
89-
9092
}

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/base/EmergeGradleRunner2.kt

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,69 @@ package com.emergetools.android.gradle.base
22

33
import com.autonomousapps.kit.GradleBuilder
44
import org.gradle.testkit.runner.BuildResult
5+
import org.gradle.testkit.runner.GradleRunner
56
import org.gradle.util.GradleVersion
67
import java.io.File
78

89
/**
910
* Like EmergeGradleRunner but decouples the runner from the server and the gradle project
1011
*/
1112
class EmergeGradleRunner2(projectDir: File, gradleVersion: GradleVersion = GradleVersion.current()) {
13+
private val runner = GradleBuilder.runner(gradleVersion, projectDir)
1214

13-
val runner = GradleBuilder.runner(gradleVersion, projectDir)
15+
init {
16+
appendEnvironment(System.getenv())
17+
}
1418

1519
fun withArguments(vararg args: String): EmergeGradleRunner2 {
1620
runner.withArguments(*args)
1721
return this
1822
}
1923

20-
fun withGithubPR() : EmergeGradleRunner2 {
24+
// TODO we should stop using this and instead use Java toolchain support
25+
fun withJavaVersionFromAgp(agpVersion: String): EmergeGradleRunner2 {
26+
val javaVersion = if (agpVersion.startsWith("7")) {
27+
"11"
28+
} else {
29+
"17"
30+
}
31+
return apply {
32+
val arch = if (System.getProperty("os.arch") == "aarch64") "aarch64" else "X64"
33+
val javaHomeEnvKey = "JAVA_HOME_${javaVersion}_$arch"
34+
runner.withArguments(runner.arguments + "-Dorg.gradle.java.home=${System.getenv(javaHomeEnvKey)}")
35+
}
36+
}
37+
38+
fun withGithubPR(): EmergeGradleRunner2 {
2139
val resource = this.javaClass.getResource("/github-event-mocks/mock_pr_event.json")!!
2240
val jsonFile = File(resource.toURI())
2341

24-
runner.withEnvironment(mapOf(
42+
return appendEnvironment(
2543
"GITHUB_EVENT_NAME" to "pull_request",
2644
"GITHUB_EVENT_PATH" to jsonFile.path,
27-
))
28-
return this
45+
)
2946
}
3047

3148
fun withGitHubPushEvent(): EmergeGradleRunner2 {
3249
val resource = this.javaClass.getResource("/github-event-mocks/mock_push_event.json")!!
3350
val jsonFile = File(resource.toURI())
3451

35-
runner.withEnvironment(mapOf(
52+
return appendEnvironment(
3653
"GITHUB_EVENT_NAME" to "push",
3754
"GITHUB_EVENT_PATH" to jsonFile.path,
3855
"GITHUB_SHA" to "github_env_sha",
39-
))
56+
)
57+
}
58+
59+
private fun appendEnvironment(vararg pairs: Pair<String, String>) : EmergeGradleRunner2 {
60+
val currentEnv = runner.environment?.toMutableMap() ?: mutableMapOf()
61+
runner.withEnvironment(currentEnv.plus(pairs))
62+
return this
63+
}
64+
65+
private fun appendEnvironment(map: Map<String, String>) : EmergeGradleRunner2 {
66+
val currentEnv = runner.environment?.toMutableMap() ?: mutableMapOf()
67+
runner.withEnvironment(currentEnv.plus(map))
4068
return this
4169
}
4270

gradle-plugin/plugin/src/functionalTest/kotlin/com/emergetools/android/gradle/projects/SimpleGradleProject.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import com.emergetools.android.gradle.EmergePluginTest
1313
import com.emergetools.android.gradle.base.EmergeGradleRunner
1414

1515
class SimpleGradleProject(
16-
agpVersion: String,
16+
val agpVersion: String,
1717
private val baseUrl: String,
1818
private val emergeExtension: String
1919
) : AbstractGradleProject() {

0 commit comments

Comments
 (0)