@@ -29,11 +29,9 @@ repositories {
29
29
mavenCentral()
30
30
}
31
31
32
- val releaseVersion = releaseVersion()
33
- val releaseNotes = releaseNotes()
34
-
32
+ val appVersion = layout.projectDirectory.file(" release/version.txt" ).asFile.readText().trim()
35
33
allprojects {
36
- version = releaseVersion
34
+ version = appVersion
37
35
}
38
36
39
37
val argbash by configurations.creating
@@ -95,18 +93,16 @@ val copyGradleScripts by tasks.registering(Copy::class) {
95
93
group = " build"
96
94
description = " Copies the Gradle source and generated scripts to output directory."
97
95
98
- // local variable required for configuration cache compatibility
99
- // https://docs.gradle.org/current/userguide/configuration_cache.html#config_cache:not_yet_implemented:accessing_top_level_at_execution
100
- val releaseVersion = releaseVersion
101
- inputs.property(" project.version" , releaseVersion)
96
+ val projectVersion = appVersion // local variable required for configuration cache compatibility
97
+ inputs.property(" project.version" , projectVersion)
102
98
103
99
from(layout.projectDirectory.file(" LICENSE" ))
104
100
from(layout.projectDirectory.dir(" release" ).file(" version.txt" ))
105
101
rename(" version.txt" , " VERSION" )
106
102
107
103
from(layout.projectDirectory.dir(" components/scripts/gradle" )) {
108
104
exclude(" gradle-init-scripts" )
109
- filter { line: String -> line.replace(" <HEAD>" , releaseVersion.get() ) }
105
+ filter { line: String -> line.replace(" <HEAD>" , projectVersion ) }
110
106
}
111
107
from(layout.projectDirectory.dir(" components/scripts/gradle" )) {
112
108
include(" gradle-init-scripts/**" )
@@ -118,7 +114,7 @@ val copyGradleScripts by tasks.registering(Copy::class) {
118
114
include(" network.settings" )
119
115
include(" lib/**" )
120
116
exclude(" lib/cli-parsers" )
121
- filter { line: String -> line.replace(" <HEAD>" , releaseVersion.get() ) }
117
+ filter { line: String -> line.replace(" <HEAD>" , projectVersion ) }
122
118
}
123
119
from(generateBashCliParsers.map { it.outputDir.file(" lib/cli-parsers/gradle" ) }) {
124
120
into(" lib/" )
@@ -133,25 +129,23 @@ val copyMavenScripts by tasks.registering(Copy::class) {
133
129
group = " build"
134
130
description = " Copies the Maven source and generated scripts to output directory."
135
131
136
- // local variable required for configuration cache compatibility
137
- // https://docs.gradle.org/current/userguide/configuration_cache.html#config_cache:not_yet_implemented:accessing_top_level_at_execution
138
- val releaseVersion = releaseVersion
139
- inputs.property(" project.version" , releaseVersion)
132
+ val projectVersion = appVersion // local variable required for configuration cache compatibility
133
+ inputs.property(" project.version" , projectVersion)
140
134
141
135
from(layout.projectDirectory.file(" LICENSE" ))
142
136
from(layout.projectDirectory.dir(" release" ).file(" version.txt" ))
143
137
rename(" version.txt" , " VERSION" )
144
138
145
139
from(layout.projectDirectory.dir(" components/scripts/maven" )) {
146
- filter { line: String -> line.replace(" <HEAD>" , releaseVersion.get() ) }
140
+ filter { line: String -> line.replace(" <HEAD>" , projectVersion ) }
147
141
}
148
142
from(layout.projectDirectory.dir(" components/scripts/" )) {
149
143
include(" README.md" )
150
144
include(" mapping.example" )
151
145
include(" network.settings" )
152
146
include(" lib/**" )
153
147
exclude(" lib/cli-parsers" )
154
- filter { line: String -> line.replace(" <HEAD>" , releaseVersion.get() ) }
148
+ filter { line: String -> line.replace(" <HEAD>" , projectVersion ) }
155
149
}
156
150
from(generateBashCliParsers.map { it.outputDir.file(" lib/cli-parsers/maven" ) }) {
157
151
into(" lib/" )
@@ -175,7 +169,7 @@ val assembleGradleScripts by tasks.registering(Zip::class) {
175
169
group = " build"
176
170
description = " Packages the Gradle experiment scripts in a zip archive."
177
171
archiveBaseName.set(" gradle-enterprise-gradle-build-validation" )
178
- archiveFileName.set(" ${archiveBaseName.get()} -${distributionVersion().get() } .zip" )
172
+ archiveFileName.set(" ${archiveBaseName.get()} -${distributionVersion()} .zip" )
179
173
from(copyGradleScripts)
180
174
into(archiveBaseName.get())
181
175
}
@@ -184,7 +178,7 @@ val assembleMavenScripts by tasks.registering(Zip::class) {
184
178
group = " build"
185
179
description = " Packages the Maven experiment scripts in a zip archive."
186
180
archiveBaseName.set(" gradle-enterprise-maven-build-validation" )
187
- archiveFileName.set(" ${archiveBaseName.get()} -${distributionVersion().get() } .zip" )
181
+ archiveFileName.set(" ${archiveBaseName.get()} -${distributionVersion()} .zip" )
188
182
from(copyMavenScripts)
189
183
into(archiveBaseName.get())
190
184
}
@@ -259,7 +253,7 @@ githubRelease {
259
253
prerelease.set(isDevelopmentRelease)
260
254
overwrite.set(isDevelopmentRelease)
261
255
generateReleaseNotes.set(false )
262
- body.set(releaseNotes )
256
+ body.set(layout.projectDirectory.file( " release/changes.md " ).asFile.readText().trim() )
263
257
releaseAssets(assembleGradleScripts, assembleMavenScripts, generateChecksums.map { it.outputs.files.asFileTree })
264
258
}
265
259
@@ -278,24 +272,26 @@ tasks.withType(Sign::class).configureEach {
278
272
notCompatibleWithConfigurationCache(" $name task does not support configuration caching" )
279
273
}
280
274
281
- fun gitHubReleaseName (): Provider <String > {
282
- return releaseVersion.map { if (isDevelopmentRelease) " Development release" else it }
283
- }
284
-
285
- fun gitReleaseTag (): Provider <String > {
286
- return releaseVersion.map { if (isDevelopmentRelease) " development-latest" else " v$it " }
287
- }
288
-
289
- fun distributionVersion (): Provider <String > {
290
- return releaseVersion.map { if (isDevelopmentRelease) " dev" else it }
275
+ fun gitHubReleaseName (): String {
276
+ if (isDevelopmentRelease) {
277
+ return " Development Build"
278
+ } else {
279
+ return version.toString()
280
+ }
291
281
}
292
282
293
- fun releaseVersion (): Provider <String > {
294
- val versionFile = layout.projectDirectory.file(" release/version.txt" )
295
- return providers.fileContents(versionFile).asText.map { it.trim() }
283
+ fun gitReleaseTag (): String {
284
+ if (isDevelopmentRelease) {
285
+ return " development-latest"
286
+ } else {
287
+ return " v${version} "
288
+ }
296
289
}
297
290
298
- fun releaseNotes (): Provider <String > {
299
- val releaseNotesFile = layout.projectDirectory.file(" release/changes.md" )
300
- return providers.fileContents(releaseNotesFile).asText.map { it.trim() }
291
+ fun distributionVersion (): String {
292
+ if (isDevelopmentRelease) {
293
+ return " dev"
294
+ } else {
295
+ return version.toString()
296
+ }
301
297
}
0 commit comments