@@ -7,12 +7,11 @@ task release(overwrite: true, dependsOn: commitNewVersion) << {
7
7
commitNewVersion. dependsOn updateVersion
8
8
updateVersion. dependsOn createReleaseTag
9
9
createReleaseTag. dependsOn preTagCommit
10
- def buildTasks = tasks . matching { it . name =~ / : build/ }
11
- preTagCommit. dependsOn buildTasks
10
+ preTagCommit . dependsOn build
11
+ preTagCommit. dependsOn buildWithArtifactory
12
12
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
16
15
unSnapshotVersion. dependsOn checkUpdateNeeded
17
16
checkUpdateNeeded. dependsOn checkCommitNeeded
18
17
checkCommitNeeded. dependsOn initScmPlugin
@@ -30,23 +29,18 @@ checkCommitNeeded.dependsOn initScmPlugin
30
29
tasks = [ ' build' , value ]
31
30
}
32
31
}
33
- task releaseArtifactory (dependsOn : [checkSnapshotDependencies , uploadArtifactory])
32
+ task releaseArtifactory (dependsOn : [preTagCommit , uploadArtifactory])
34
33
35
34
// Ensure upload happens before taggging but after all pre-checks
36
- releaseArtifactory. dependsOn checkSnapshotDependencies
37
35
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
+
43
37
subprojects. each { project ->
44
- project. uploadMavenCentral. dependsOn rootProject. checkSnapshotDependencies
38
+ project. uploadMavenCentral. dependsOn rootProject. preTagCommit
45
39
rootProject. createReleaseTag. dependsOn project. uploadMavenCentral
46
40
47
41
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 ' )
50
44
}
51
45
}
52
46
}
@@ -55,11 +49,12 @@ subprojects.each { project ->
55
49
ext. ' gradle.release.useAutomaticVersion' = " true"
56
50
57
51
release {
58
- // http://tellurianring.com/wiki/gradle/release
59
52
failOnCommitNeeded= true
60
53
failOnPublishNeeded= true
54
+ failOnSnapshotDependencies= true
61
55
failOnUnversionedFiles= true
62
56
failOnUpdateNeeded= true
63
57
includeProjectNameInTag= true
58
+ revertOnFail= true
64
59
requireBranch = null
65
60
}
0 commit comments