Author: bodewig
Date: Sat Jan 18 06:56:11 2014
New Revision: 1559325
URL: http://svn.apache.org/r1559325
Log:
modularize build file a little, deal with existing dist workspace
Modified:
commons/proper/lang/trunk/src/release-tools/build.properties.sample
commons/proper/lang/trunk/src/release-tools/build.xml
Modified: commons/proper/lang/trunk/src/release-tools/build.properties.sample
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/release-tools/build.properties.sample?rev=1559325&r1=1559324&r2=1559325&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/release-tools/build.properties.sample
(original)
+++ commons/proper/lang/trunk/src/release-tools/build.properties.sample Sat Jan
18 06:56:11 2014
@@ -18,3 +18,5 @@
# Your apache ID - it is used for the Build-By MANIFEST header, when creating
the RC jars
apache.id=luckyRM
+# directory to use when crating the release
+release.path=${user.home}/lang-rc
\ No newline at end of file
Modified: commons/proper/lang/trunk/src/release-tools/build.xml
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/release-tools/build.xml?rev=1559325&r1=1559324&r2=1559325&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/release-tools/build.xml (original)
+++ commons/proper/lang/trunk/src/release-tools/build.xml Sat Jan 18 06:56:11
2014
@@ -24,48 +24,60 @@
-->
<project name="release-lang" basedir="../../">
- <property file="src/release-tools/build.properties" />
- <property file="default.properties" />
+ <target name="-init">
+ <property file="src/release-tools/build.properties" />
+ <property file="default.properties" />
+ <!-- provide some defaults -->
+ <property name="release.path" value="${user.home}/lang-rc" />
+ <property name="apache.id" value="[email protected]" />
+ <property name="release.url"
value="https://dist.apache.org/repos/dist/dev/commons/lang" />
- <target name="pre-rc" description="Prepares the download page and the
release notes for rolling out a RC">
+ <macrodef name="mvn">
+ <attribute name="goal"/>
+ <element name="more-args" implicit="true" optional="true"/>
+ <sequential>
+ <exec executable="mvn">
+ <arg value="@{goal}" />
+ <more-args/>
+ </exec>
+ </sequential>
+ </macrodef>
+
+ <available property="dist-dir-exists?"
+ file="${release.path}"
+ type="dir"/>
+ </target>
- <exec executable="mvn">
- <arg value="changes:announcement-generate"/>
+ <target name="pre-rc" depends="-init"
+ description="Prepares the download page and the release notes for
rolling out a RC">
+ <mvn goal="changes:announcement-generate">
<arg value="-Prelease-notes"/>
- </exec>
- <exec executable="mvn">
- <arg value="commons:download-page"/>
+ </mvn>
+ <mvn goal="commons:download-page">
<arg value="-Dcommons.componentid=lang"/>
- </exec>
+ </mvn>
</target>
- <target name="rc" description="Create the RC">
-
+ <target name="-clear-local-repo" depends="-init">
<property name="repo.path"
value="${user.home}/.m2/repository/org/apache/commons/${component.name}/${component.version}"
/>
- <property name="release.path" value="${user.home}/lang-rc" />
- <property name="release.url"
value="https://dist.apache.org/repos/dist/dev/commons/lang" />
-
<delete dir="${repo.path}" />
+ </target>
+ <target name="-build-maven-artifacts" depends="-clear-local-repo">
<input message="Please enter gpg passphrase..." addproperty="gpg.pass">
<handler type="secure" />
</input>
- <exec executable="mvn">
- <arg value="deploy" />
+ <mvn goal="deploy">
<arg value="-Prelease" />
<arg value="-Ptest-deploy" />
<arg value="-Duser.name=${apache.id}" />
<arg value="-Dgpg.passphrase=${gpg.pass}" />
- </exec>
-
- <echo message="Checking out ${release.url} -> ${release.path}"/>
- <exec executable="svn">
- <arg value="co" />
- <arg value="${release.url}" />
- <arg value="${release.path}" />
- </exec>
+ </mvn>
+ </target>
+ <target name="-populate-dist-repo"
+ depends="pre-rc, -build-maven-artifacts, -prepare-dist-area">
<copy todir="${release.path}/binaries">
<fileset dir="${repo.path}">
<include name="*bin.zip*" />
@@ -81,11 +93,32 @@
</copy>
<copy file="RELEASE-NOTES.txt" todir="${release.path}" />
+ </target>
+ <target name="rc" description="Create the RC"
+ depends="-populate-dist-repo, -create-site"/>
+
+ <target name="-create-site" depends="-init">
<echo message="Creating site" />
- <exec executable="mvn">
- <arg value="site" />
+ <mvn goal="site"/>
+ </target>
+
+ <target name="-prepare-dist-area" depends="-checkout-dist, -update-dist"/>
+
+ <target name="-checkout-dist" depends="-init" unless="dist-dir-exists?">
+ <echo message="Checking out ${release.url} -> ${release.path}"/>
+ <exec executable="svn">
+ <arg value="co" />
+ <arg value="${release.url}" />
+ <arg value="${release.path}" />
</exec>
+ </target>
+ <target name="-update-dist" depends="-init" if="dist-dir-exists?">
+ <echo message="Updating ${release.path}"/>
+ <exec executable="svn" dir="${release.path}">
+ <arg value="up" />
+ </exec>
</target>
+
</project>