You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2013/10/17 09:58:49 UTC
svn commit: r1532999 - in /httpcomponents/project-release-tools/trunk:
build.gradle buildSrc/src/main/groovy/Mvn.groovy
buildSrc/src/main/groovy/Pom.groovy
Author: olegk
Date: Thu Oct 17 07:58:49 2013
New Revision: 1532999
URL: http://svn.apache.org/r1532999
Log:
Added task to generate release vote message template
Modified:
httpcomponents/project-release-tools/trunk/build.gradle
httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Mvn.groovy
httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Pom.groovy
Modified: httpcomponents/project-release-tools/trunk/build.gradle
URL: http://svn.apache.org/viewvc/httpcomponents/project-release-tools/trunk/build.gradle?rev=1532999&r1=1532998&r2=1532999&view=diff
==============================================================================
--- httpcomponents/project-release-tools/trunk/build.gradle (original)
+++ httpcomponents/project-release-tools/trunk/build.gradle Thu Oct 17 07:58:49 2013
@@ -444,6 +444,60 @@ if (rcTagFile.exists() && rcRevisionFile
}
}
+ if (distRevisionFile.exists()) {
+
+ task prepareVote() {
+ group = 'Release'
+ description = "Generates release vote message content."
+ doLast {
+ Pom pom = Mvn.parsePom(checkoutRC.localDir)
+ String name = pom.name
+ if (name.startsWith('Apache ')) {
+ name = name.substring(7)
+ }
+ String rcQualifier = rcQualifierFile.text.trim()
+ String rcName = getProductName(pom.artifactId).toLowerCase(Locale.US)
+ String rcFullName = "${rcName}-${pom.version}-${rcQualifier}"
+ String releaseNotes = "RELEASE_NOTES-${pom.major}.${pom.minor}.x.txt"
+ URI rcTag = new URI(rcTagFile.text.trim())
+
+ String rcRevision = rcRevisionFile.text.trim()
+ String distRevision = distRevisionFile.text.trim()
+
+ String releaseVer = pom.version
+
+ println '----------------8<-------------[ cut here ]------------------'
+ println "[VOTE] Release ${name} ${releaseVer} based on ${rcQualifier}"
+ println ""
+ println "Please vote on releasing these packages as ${name} ${releaseVer}."
+ println "The vote is open for the at least 72 hours, and only votes from"
+ println "HttpComponents PMC members are binding. The vote passes if at least"
+ println "three binding +1 votes are cast and there are more +1 than -1 votes."
+ println ""
+ println "Packages:"
+ println "${checkoutDistStage.repo}${rcFullName}"
+ println "revision ${distRevision}"
+ println ""
+ println "Release notes:"
+ println "${checkoutDistStage.repo}${rcFullName}/${releaseNotes}"
+ println ""
+ println "Maven artefacts:"
+ println "[link]"
+ println ""
+ println "SVN tag:"
+ println "${rcTag}"
+ println "revision ${rcRevision}"
+ println ""
+ println "--------------------------------------------------------------------------"
+ println "Vote: ${name} ${releaseVer} release"
+ println "[ ] +1 Release the packages as ${name} ${releaseVer}."
+ println "[ ] -1 I am against releasing the packages (must include a reason)."
+ println '----------------8<-------------[ cut here ]------------------'
+ }
+ }
+
+ }
+
task promoteRC(dependsOn: checkoutRC) {
group = 'Release'
description = "Promotes RC to official release."
Modified: httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Mvn.groovy
URL: http://svn.apache.org/viewvc/httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Mvn.groovy?rev=1532999&r1=1532998&r2=1532999&view=diff
==============================================================================
--- httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Mvn.groovy (original)
+++ httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Mvn.groovy Thu Oct 17 07:58:49 2013
@@ -47,19 +47,20 @@ class Mvn {
}
}
- static Pom parsePom(File dir) {
+ static Pom parsePom(File dir) {
File pomFile = new File(dir, 'pom.xml')
- def pomModel = new XmlSlurper().parse(pomFile)
- def el = pomModel['parent']
- PomArtifact pomParent = el ? new PomArtifact(
- el.groupId.text(),
- el.artifactId.text(),
- el.version.text()) : null
- PomArtifact artifact = new PomArtifact(
- pomModel.groupId.text(),
- pomModel.artifactId.text(),
- pomModel.version.text())
- new Pom(pomParent, artifact, pomModel.modules.module*.text())
+ def pomModel = new XmlSlurper().parse(pomFile)
+ def el = pomModel['parent']
+ PomArtifact pomParent = el ? new PomArtifact(
+ el.groupId.text(),
+ el.artifactId.text(),
+ el.version.text()) : null
+ PomArtifact artifact = new PomArtifact(
+ pomModel.groupId.text(),
+ pomModel.artifactId.text(),
+ pomModel.version.text())
+ String name = pomModel.name
+ new Pom(name, pomParent, artifact, pomModel.modules.module*.text())
}
}
Modified: httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Pom.groovy
URL: http://svn.apache.org/viewvc/httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Pom.groovy?rev=1532999&r1=1532998&r2=1532999&view=diff
==============================================================================
--- httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Pom.groovy (original)
+++ httpcomponents/project-release-tools/trunk/buildSrc/src/main/groovy/Pom.groovy Thu Oct 17 07:58:49 2013
@@ -27,16 +27,22 @@
class Pom {
+ private final String name
private final PomArtifact parent
private final PomArtifact artifact
private final List<String> modules
- Pom(PomArtifact parent, PomArtifact artifact, modules) {
+ Pom(String name, PomArtifact parent, PomArtifact artifact, modules) {
+ this.name = name
this.parent = parent
this.artifact = artifact
this.modules = modules
}
+ String getName() {
+ return name
+ }
+
String getGroupId() {
if (artifact.groupId) {
artifact.groupId