2.5+ specific tweak
diff --git a/gradle/phase1.gradle b/gradle/phase1.gradle
index ba2990d..bc220b7 100644
--- a/gradle/phase1.gradle
+++ b/gradle/phase1.gradle
@@ -151,7 +151,9 @@
if (project.hasProperty('useAntlr4')) {
theArgs << "-PuseAntlr4=${getProperty('useAntlr4')}"
}
- theArgs << '--no-build-cache'
+ if (!relVersion.startsWith('2.4')) {
+ theArgs << '--no-build-cache'
+ }
theArgs << "-PartifactoryContext=https://groovy.jfrog.io/groovy/" // apache-groovy for Groovy 4
theArgs << "-PartifactoryRepoKey=${releaseBuild ? 'libs-release-local' : 'libs-snapshot-local'}"
if (project.hasProperty('skipPublish')) {
diff --git a/gradle/phase2.gradle b/gradle/phase2.gradle
index 5cfd88d..7cc0a53 100644
--- a/gradle/phase2.gradle
+++ b/gradle/phase2.gradle
@@ -4,6 +4,7 @@
import at.bxm.gradleplugins.svntools.tasks.SvnCommit
import at.bxm.gradleplugins.svntools.tasks.SvnDelete
import groovyx.net.http.RESTClient
+import groovyx.net.http.HttpResponseException
import org.ajoberstar.grgit.Credentials
import static groovyx.net.http.ContentType.*
@@ -98,7 +99,8 @@
def build = builds.find {
resp = artifactory.get(path: 'api/build/groovy/' + it.uri, contentType: JSON)
assert resp.status == 200
- def coreModuleId = resp.data.buildInfo.modules*.id.find{ it.startsWith('org.codehaus.groovy:groovy:') }
+// def coreModuleId = resp.data.buildInfo.modules*.id.find{ it.startsWith('org.codehaus.groovy:groovy:') } // apache
+ def coreModuleId = resp.data.buildInfo.modules*.id.find{ it.startsWith('org.apache.groovy:groovy:') } // apache
def found = coreModuleId?.endsWith(':' + relVersion)
println "${found ? 'FOUND' : 'SKIPPING'} $coreModuleId @ ${it.uri}"
found
@@ -124,8 +126,29 @@
}
}
-sdkReleaseVersion.dependsOn promoteOnBintray
-
+task waitForBintrayPublication(dependsOn: [promoteOnBintray]) {
+ group = "Post-passed phase"
+ description = "Polls the Bintray website to check if it is released"
+ doLast {
+ def found = false
+ def delay = 30000 // 1/2 a minute
+ def numTries = 60 // wait for up to 30 mins
+ while (!found && numTries-- > 0) {
+ def bintraysite = new RESTClient('https://dl.bintray.com/')
+ def resp = null
+ try {
+ resp = bintraysite.head(path: "groovy/maven/apache-groovy-sdk-${relVersion}.zip")
+ } catch(HttpResponseException ignore) {}
+ if (resp?.status == 200) {
+ found = true
+ } else {
+ sleep delay
+ }
+ }
+ assert found, 'Timed out waiting for bintray publish/sync - please check manually'
+ }
+}
+sdkReleaseVersion.dependsOn waitForBintrayPublication
task synchronizeWithMavenCentral(dependsOn: promoteOnBintray) {
group = "Post-passed phase"
@@ -136,14 +159,14 @@
If this fails, log on to https://oss.sonatype.org/ using the centralUser credentials
and progress through process manually -> Close -> Publish ... under staging repositories
"""
- def bintray = new RESTClient('https://api.bintray.com/maven_central_sync/groovy/maven/')
+ def bintray = new RESTClient('https://api.bintray.com/maven_central_sync/groovy/maven/') // apache-groovy?
bintray.headers['Authorization'] = 'Basic ' + "$bintrayUser:$bintrayKey".getBytes('iso-8859-1').encodeBase64()
def body = /{
"username" : "${project.findProperty('centralUser')}",
"password" : "${project.findProperty('centralKey')}"
}/
def resp = bintray.post(
- path: "groovy/versions/$relVersion",
+ path: "groovy/versions/$relVersion", // apache-groovy?
body: body,
requestContentType: JSON
)
@@ -163,7 +186,8 @@
fileTree("$stagingDir/target/distributions").files.each { File f ->
println "Uploading $f.name"
def resp = bintray.put(
- path: "groovy/$relVersion/${f.name}",
+ path: "groovy/$relVersion/${f.name}", // apache-groovy?
+// path: "apache-groovy/$relVersion/${f.name}", // apache-groovy
body: f.bytes,
requestContentType: BINARY
)
@@ -237,7 +261,7 @@
execute "rm -rf /var/www/docs/docs/groovy-${relVersion}/"
execute "unzip -d /var/www/docs/docs/ /var/www/docs/docs/apache-groovy-docs-${relVersion}.zip"
execute "chmod 664 /var/www/docs/docs/apache-groovy-docs-${relVersion}.zip"
- execute "chgrp -R teamcity /var/www/docs/docs/groovy-${relVersion}/"
+// execute "chgrp -R teamcity /var/www/docs/docs/groovy-${relVersion}/"
// execute "chown -R teamcity /var/www/docs/docs/groovy-${relVersion}/"
execute "rm /var/www/docs/docs/apache-groovy-docs-${relVersion}.zip"
}
@@ -279,8 +303,8 @@
ssh.run {
session(remotes.ciServer) {
execute 'uname -a'
- execute "cd /var/www/docs/docs; ln -s -f -T groovy-$relVersion latest"
- execute "chgrp -h teamcity /var/www/docs/docs/latest"
+ execute "cd /var/www/docs/docs; ln -s -f -T groovy-$relVersion latest; ln -s -f -T groovy-$relVersion groovy-latest"
+// execute "chgrp -h teamcity /var/www/docs/docs/latest"
// execute "chown -h teamcity /var/www/docs/docs/latest"
}
}
@@ -367,6 +391,7 @@
def body = /{ "name": "$nextVersion", "project": "GROOVY", "projectId": $projectId }/
resp = jira.post(path: "version", body: body, requestContentType: JSON)
assert resp.status == 201
+ println resp.data.message
}
}
}