@@ -7,12 +7,11 @@ task release(overwrite: true, dependsOn: commitNewVersion) << {
77commitNewVersion. dependsOn updateVersion
88updateVersion. dependsOn createReleaseTag
99createReleaseTag. dependsOn preTagCommit
10- def buildTasks = tasks . matching { it . name =~ / : build/ }
11- preTagCommit. dependsOn buildTasks
10+ preTagCommit . dependsOn build
11+ preTagCommit. dependsOn buildWithArtifactory
1212preTagCommit. 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
1615unSnapshotVersion. dependsOn checkUpdateNeeded
1716checkUpdateNeeded. dependsOn checkCommitNeeded
1817checkCommitNeeded. 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
3735createReleaseTag. 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+
4337subprojects. 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 ->
5549ext. ' gradle.release.useAutomaticVersion' = " true"
5650
5751release {
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