@@ -2,25 +2,10 @@ apply plugin: 'java'
22apply plugin : ' java-library-distribution'
33apply plugin : ' signing'
44apply plugin : ' maven'
5- apply plugin : ' com.github.ben-manes.versions' // dependencyUpdates task
6-
7- task releaseTest () {
8- dependsOn ' :proguard:testProguard'
9- dependsOn test
10- dependsOn integrationTest
11- }
12-
13- signing {
14- required {
15- // don't sign for installing in local maven
16- gradle. taskGraph. hasTask(" uploadArchives" ) && ! project. version. contains(" SNAPSHOT" )
17- }
18- sign configurations. archives
19- }
205
216def getPassword (prop , description ) {
227 if (project. hasProperty(prop)) {
23- return prop
8+ return project . getProperty( prop)
249 }
2510
2611 def console = System . console()
@@ -37,10 +22,23 @@ def getPassword(prop, description) {
3722 )
3823}
3924
40- gradle. taskGraph. whenReady { graph ->
41- if (graph. hasTask(signArchives) && signArchives. required) {
42- [' signing.keyId' , ' signing.secretKeyRingFile' ]. each { prop ->
43- def dropboxProp = " com.dropbox.api.${ prop} "
25+ task releaseTest () {
26+ dependsOn ' :proguard:proguardTest'
27+ dependsOn test
28+ dependsOn integrationTest
29+ }
30+
31+ task signingCredentials () {
32+ ext {
33+ dbxPropPrefix = ' com.dropbox.api'
34+ keyIdProp = ' signing.keyId'
35+ keyRingProp = ' signing.secretKeyRingFile'
36+ passwordProp = ' signing.password'
37+ }
38+
39+ doLast {
40+ [keyIdProp, keyRingProp]. each { prop ->
41+ def dropboxProp = " ${ dbxPropPrefix} .${ prop} "
4442 if (! project. hasProperty(dropboxProp)) {
4543 throw new GradleException (
4644 " Missing required property for signing: ${ dropboxProp} . " +
@@ -50,13 +48,23 @@ gradle.taskGraph.whenReady { graph ->
5048 project. ext. set(prop, project. getProperty(dropboxProp))
5149 }
5250
53- project. ext. " signing.password " = getPassword(
54- ' com.dropbox.api.signing.password ' ,
51+ project. ext. " ${ passwordProp } " = getPassword(
52+ " ${ dbxPropPrefix } . ${ passwordProp } " ,
5553 ' PGP Private Key Password'
5654 )
5755 }
5856}
5957
58+ signing {
59+ required {
60+ // don't sign for installing in local maven
61+ gradle. taskGraph. hasTask(" uploadArchives" ) && ! project. version. contains(" SNAPSHOT" )
62+ }
63+ sign configurations. archives
64+ }
65+
66+ tasks. signArchives. dependsOn signingCredentials
67+
6068// Remember to upload binary with releases on GitHub. Some 3rd party developers still rely on
6169// manually downloading and managing their dependencies.
6270distributions {
@@ -108,17 +116,3 @@ uploadArchives {
108116 }
109117}
110118
111- // reject dependencyUpdates candidates with alpha or beta in their names:
112- dependencyUpdates. resolutionStrategy = {
113- componentSelection { rules ->
114- rules. all { ComponentSelection selection ->
115- boolean rejected = [' alpha' , ' beta' , ' rc' ]. any { qualifier ->
116- selection. candidate. version ==~ / (?i).*[.-]${qualifier}[.\d -]*/
117- }
118- if (rejected) {
119- selection. reject(' Release candidate' )
120- }
121- }
122- }
123- }
124-
0 commit comments