Skip to content

Commit edc37aa

Browse files
committed
Make test expectations on generated gradle.init file come from parts so we can reuse them
1 parent 8be8d7b commit edc37aa

File tree

4 files changed

+67
-62
lines changed

4 files changed

+67
-62
lines changed

internal/config/gradle/gradle_init_template_inventory.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,17 @@ type TemplateInventory struct {
4747
Analytics AnalyticsTemplateInventory
4848
TestDistro TestDistroTemplateInventory
4949
}
50+
51+
func (inventory TemplateInventory) HasDependencies() bool {
52+
if inventory.Analytics.Usage == UsageLevelDependency || inventory.Analytics.Usage == UsageLevelEnabled {
53+
return true
54+
}
55+
if inventory.Cache.Usage == UsageLevelDependency || inventory.Cache.Usage == UsageLevelEnabled {
56+
return true
57+
}
58+
if inventory.TestDistro.Usage == UsageLevelDependency || inventory.TestDistro.Usage == UsageLevelEnabled {
59+
return true
60+
}
61+
62+
return false
63+
}

internal/config/gradle/gradleconfig.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,11 @@ type TemplateProxy struct {
7878
func DefaultTemplateProxy() TemplateProxy {
7979
return TemplateProxy{
8080
parse: func(name string, templateText string) (*template.Template, error) {
81-
return template.New(name).Parse(templateText)
81+
funcMap := template.FuncMap{
82+
"hasDependencies": TemplateInventory.HasDependencies,
83+
}
84+
85+
return template.New(name).Funcs(funcMap).Parse(templateText)
8286
},
8387
execute: func(template *template.Template, buffer *bytes.Buffer, inventory TemplateInventory) error {
8488
return template.Execute(buffer, inventory)

internal/config/gradle/gradleconfig_generate_test.go

Lines changed: 27 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -110,68 +110,42 @@ func Test_GenerateInitGradle(t *testing.T) {
110110
}
111111
}
112112

113-
const expectedNoPluginActivated = `import io.bitrise.gradle.cache.BitriseBuildCache
114-
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory
113+
const expectedImports = `import io.bitrise.gradle.cache.BitriseBuildCache
114+
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory`
115115

116-
initscript {
117-
repositories {
116+
const expectedRepositories = ` repositories {
118117
mavenLocal()
119-
maven(url="https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
120-
maven(url="https://plugins.gradle.org/m2/")
118+
maven {
119+
name = "artifactRegistry"
120+
url = uri("https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
121+
}
122+
maven {
123+
name = "gradlePlugins"
124+
url = uri("https://plugins.gradle.org/m2/")
125+
}
121126
mavenCentral()
122127
google()
123-
maven(url="https://jitpack.io")
124-
}
125-
dependencies {
126-
}
127-
}
128-
129-
settingsEvaluated {
130-
}
131-
`
132-
133-
const expectedDepOnlyPlugins = `import io.bitrise.gradle.cache.BitriseBuildCache
134-
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory
128+
maven {
129+
name = "jitpackIO"
130+
url = uri("https://jitpack.io")
131+
}
132+
}`
135133

136-
initscript {
137-
repositories {
138-
mavenLocal()
139-
maven(url="https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
140-
maven(url="https://plugins.gradle.org/m2/")
141-
mavenCentral()
142-
google()
143-
maven(url="https://jitpack.io")
144-
}
145-
dependencies {
134+
const expectedDependencies = ` dependencies {
146135
classpath("io.bitrise.gradle:gradle-analytics:AnalyticsVersionValue")
147136
classpath("io.bitrise.gradle:remote-cache:CacheVersionValue")
148137
classpath("io.bitrise.gradle:test-distribution:TestDistroVersionValue")
149-
}
150-
}
151-
152-
settingsEvaluated {
153-
}
154-
`
138+
}`
155139

156-
const expectedAllPlugins = `import io.bitrise.gradle.cache.BitriseBuildCache
157-
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory
140+
const expectedNoPluginActivated = "\ninitscript {\n" + expectedRepositories + "\n}"
158141

159-
initscript {
160-
repositories {
161-
mavenLocal()
162-
maven(url="https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
163-
maven(url="https://plugins.gradle.org/m2/")
164-
mavenCentral()
165-
google()
166-
maven(url="https://jitpack.io")
167-
}
168-
dependencies {
169-
classpath("io.bitrise.gradle:gradle-analytics:AnalyticsVersionValue")
170-
classpath("io.bitrise.gradle:remote-cache:CacheVersionValue")
171-
classpath("io.bitrise.gradle:test-distribution:TestDistroVersionValue")
172-
}
173-
}
142+
const expectedDepOnlyPlugins = "\ninitscript {\n" + expectedRepositories + "\n" + expectedDependencies + "\n}"
174143

144+
const expectedAllPlugins = expectedImports +
145+
"\n\ninitscript {\n" +
146+
expectedRepositories + "\n" +
147+
expectedDependencies + "\n}" +
148+
`
175149
settingsEvaluated {
176150
buildCache {
177151
local {
@@ -185,6 +159,7 @@ settingsEvaluated {
185159
isPush = true
186160
debug = true
187161
blobValidationLevel = "ValidationLevelValue"
162+
collectMetadata = false
188163
}
189164
}
190165
rootProject {
@@ -217,5 +192,4 @@ rootProject {
217192
}
218193
219194
apply<io.bitrise.gradle.rbe.RBEPlugin>()
220-
}
221-
`
195+
}`

internal/config/gradle/initd.gradle.kts.gotemplate

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
1+
{{- if eq .Cache.Usage "enabled" -}}
12
import io.bitrise.gradle.cache.BitriseBuildCache
2-
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory
3-
3+
import io.bitrise.gradle.cache.BitriseBuildCacheServiceFactory
4+
{{ end }}
45
initscript {
56
repositories {
67
mavenLocal()
7-
maven(url="https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
8-
maven(url="https://plugins.gradle.org/m2/")
8+
maven {
9+
name = "artifactRegistry"
10+
url = uri("https://us-maven.pkg.dev/ip-build-cache-prod/build-cache-maven")
11+
}
12+
maven {
13+
name = "gradlePlugins"
14+
url = uri("https://plugins.gradle.org/m2/")
15+
}
916
mavenCentral()
1017
google()
11-
maven(url="https://jitpack.io")
18+
maven {
19+
name = "jitpackIO"
20+
url = uri("https://jitpack.io")
21+
}
1222
}
23+
{{- if hasDependencies . }}
1324
dependencies {
1425
{{- if eq .Analytics.Usage "dependency" "enabled" }}
1526
classpath("io.bitrise.gradle:gradle-analytics:{{ .Analytics.Version }}")
@@ -21,8 +32,9 @@ initscript {
2132
classpath("io.bitrise.gradle:test-distribution:{{ .TestDistro.Version }}")
2233
{{- end }}
2334
}
35+
{{- end }}
2436
}
25-
37+
{{- if or (eq .Cache.Usage "enabled") (eq .Analytics.Usage "enabled") }}
2638
settingsEvaluated {
2739
{{- if eq .Cache.Usage "enabled" }}
2840
buildCache {
@@ -37,7 +49,7 @@ settingsEvaluated {
3749
isPush = {{ .Cache.IsPushEnabled }}
3850
debug = {{ .Common.Debug }}
3951
blobValidationLevel = "{{ .Cache.ValidationLevel }}"
40-
{{- if eq .Analytics.Usage "dependency" "none" }}
52+
{{- if eq .Analytics.Usage "dependency" "enabled" }}
4153
collectMetadata = false
4254
{{- end }}
4355
}
@@ -65,6 +77,7 @@ settingsEvaluated {
6577
}
6678
{{- end }}
6779
}
80+
{{- end -}}
6881
{{- if eq .TestDistro.Usage "enabled" }}
6982
rootProject {
7083
extensions.create("rbe", io.bitrise.gradle.rbe.RBEPluginExtension::class.java).with {
@@ -79,4 +92,4 @@ rootProject {
7992

8093
apply<io.bitrise.gradle.rbe.RBEPlugin>()
8194
}
82-
{{- end }}
95+
{{- end -}}

0 commit comments

Comments
 (0)