Skip to content

Commit 63e44e8

Browse files
author
Justin Ryan
committed
Using latest features of release plugin
1 parent 883dd0d commit 63e44e8

File tree

1 file changed

+11
-16
lines changed

1 file changed

+11
-16
lines changed

gradle/release.gradle

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ task release(overwrite: true, dependsOn: commitNewVersion) << {
77
commitNewVersion.dependsOn updateVersion
88
updateVersion.dependsOn createReleaseTag
99
createReleaseTag.dependsOn preTagCommit
10-
def buildTasks = tasks.matching { it.name =~ /:build/ }
11-
preTagCommit.dependsOn buildTasks
10+
preTagCommit.dependsOn build
11+
preTagCommit.dependsOn buildWithArtifactory
1212
preTagCommit.dependsOn checkSnapshotDependencies
13-
//checkSnapshotDependencies.dependsOn confirmReleaseVersion // Introduced in 1.0, forces readLine
14-
//confirmReleaseVersion.dependsOn unSnapshotVersion
15-
checkSnapshotDependencies.dependsOn unSnapshotVersion // Remove once above is fixed
13+
checkSnapshotDependencies.dependsOn confirmReleaseVersion
14+
confirmReleaseVersion.dependsOn unSnapshotVersion
1615
unSnapshotVersion.dependsOn checkUpdateNeeded
1716
checkUpdateNeeded.dependsOn checkCommitNeeded
1817
checkCommitNeeded.dependsOn initScmPlugin
@@ -30,23 +29,18 @@ checkCommitNeeded.dependsOn initScmPlugin
3029
tasks = [ 'build', value ]
3130
}
3231
}
33-
task releaseArtifactory(dependsOn: [checkSnapshotDependencies, uploadArtifactory])
32+
task releaseArtifactory(dependsOn: [preTagCommit, uploadArtifactory])
3433

3534
// Ensure upload happens before taggging but after all pre-checks
36-
releaseArtifactory.dependsOn checkSnapshotDependencies
3735
createReleaseTag.dependsOn releaseArtifactory
38-
gradle.taskGraph.whenReady { taskGraph ->
39-
if ( taskGraph.hasTask(uploadArtifactory) && rootProject.status == 'release' && !taskGraph.hasTask(':release') ) {
40-
throw new GradleException('"release" task has to be run before uploading a release to Artifactory')
41-
}
42-
}
36+
4337
subprojects.each { project ->
44-
project.uploadMavenCentral.dependsOn rootProject.checkSnapshotDependencies
38+
project.uploadMavenCentral.dependsOn rootProject.preTagCommit
4539
rootProject.createReleaseTag.dependsOn project.uploadMavenCentral
4640

4741
gradle.taskGraph.whenReady { taskGraph ->
48-
if ( taskGraph.hasTask(project.uploadMavenCentral) && !taskGraph.hasTask(':release') ) {
49-
throw new GradleException('"release" task has to be run before uploading to Maven Central')
42+
if ( rootProject.status == 'release' && !taskGraph.hasTask(':release') ) {
43+
throw new GradleException('"release" task has to be run before uploading a release')
5044
}
5145
}
5246
}
@@ -55,11 +49,12 @@ subprojects.each { project ->
5549
ext.'gradle.release.useAutomaticVersion' = "true"
5650

5751
release {
58-
// http://tellurianring.com/wiki/gradle/release
5952
failOnCommitNeeded=true
6053
failOnPublishNeeded=true
54+
failOnSnapshotDependencies=true
6155
failOnUnversionedFiles=true
6256
failOnUpdateNeeded=true
6357
includeProjectNameInTag=true
58+
revertOnFail=true
6459
requireBranch = null
6560
}

0 commit comments

Comments
 (0)