forked from I2P_Developers/i2p.i2p
build.xml: add new macros for use in the release target
Also move away from using external binaries when an ant task can do the job.
This commit is contained in:
161
build.xml
161
build.xml
@ -67,6 +67,54 @@
|
||||
<echo message="Once the dependencies are installed, run "ant debian""/>
|
||||
<echo message="to patch the source and build the packages." />
|
||||
</target>
|
||||
|
||||
<macrodef name="gpgsign">
|
||||
<attribute name="file" />
|
||||
<sequential>
|
||||
<delete file="@{file}.sig" quiet="true" />
|
||||
<exec executable="gpg" failonerror="true">
|
||||
<arg value="--default-key" />
|
||||
<arg value="${release.gpg.keyid}" />
|
||||
<arg value="-b" />
|
||||
<arg value="@{file}" />
|
||||
</exec>
|
||||
<chmod type="file" perm="444">
|
||||
<fileset dir="${basedir}">
|
||||
<include name="@{file} @{file}.sig" />
|
||||
</fileset>
|
||||
</chmod>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="mktorrent">
|
||||
<attribute name="file" />
|
||||
<sequential>
|
||||
<delete file="@{file}.torrent" quiet="true"/>
|
||||
<java classname="org.klomp.snark.Storage" fork="true" failonerror="true">
|
||||
<classpath>
|
||||
<pathelement location="build/i2p.jar" />
|
||||
<pathelement location="build/i2psnark.jar" />
|
||||
</classpath>
|
||||
<arg value="@{file}" />
|
||||
<arg value="http://tracker2.postman.i2p/announce.php" />
|
||||
</java>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="sha256sum">
|
||||
<attribute name="file" />
|
||||
<sequential>
|
||||
<!--
|
||||
Note: "local" only works with ant 1.8+. This limitation shouldn't be
|
||||
a big deal since this macro is only called by the release
|
||||
target.
|
||||
-->
|
||||
<local name="file-sum"/>
|
||||
<checksum format="MD5SUM" file="@{file}" property="file-sum" algorithm="sha-256"/>
|
||||
<echo message="${file-sum} @{file}" />
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<target name="dist" depends="pkg, javadoc" />
|
||||
<target name="dist200" depends="pkg200, javadoc" />
|
||||
<target name="build" depends="build2">
|
||||
@ -553,6 +601,8 @@
|
||||
<link offline="true" href="${wrapperdocs.url}" packagelistLoc="installer/resources/package-lists/wrapper/" />
|
||||
</javadoc>
|
||||
<echo message="Warning, javadoc embeds timestamps in the output, run with 'TZ=UTC ant javadoc' if you plan to distribute" />
|
||||
</target>
|
||||
<target name="javadoc-zip" depends="javadoc">
|
||||
<zip destfile="javadoc.zip" basedir="build" level="9" includes="javadoc\**" />
|
||||
</target>
|
||||
|
||||
@ -581,8 +631,10 @@
|
||||
<pathelement location="build/router.jar" />
|
||||
<pathelement location="${junit.home}/junit4.jar" />
|
||||
</classpath>
|
||||
<!-- These variables are stored in build.properties.
|
||||
End-users can override by creating the file override.properties -->
|
||||
<!--
|
||||
These variables are stored in build.properties.
|
||||
End-users can override by creating the file override.properties
|
||||
-->
|
||||
<link offline="true" href="${javasedocs.url}" packagelistLoc="installer/resources/package-lists/java/" />
|
||||
<link offline="true" href="${junitdocs.url}" packagelistLoc="installer/resources/package-lists/junit/" />
|
||||
<link offline="true" href="${i2pdocs.url}" packagelistLoc="build/javadoc/" />
|
||||
@ -697,7 +749,7 @@
|
||||
|
||||
<target name="distclean" depends="clean">
|
||||
<delete failonerror="false" quiet="true">
|
||||
<fileset dir="." includes="i2pinstall* *.deb i2p_*.bz2 i2pupdate* i2psource*" />
|
||||
<fileset dir="." includes="i2pinstall* *.deb i2p_*.bz2 i2pupdate* i2psource* *.sig *.torrent" />
|
||||
</delete>
|
||||
<ant dir="core/java/" target="distclean" />
|
||||
<ant dir="router/java/" target="distclean" />
|
||||
@ -1322,7 +1374,7 @@
|
||||
<izpack input="${basedir}/installer/install.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
|
||||
<ant target="installerexe" />
|
||||
<delete file="${basedir}/install.jar" />
|
||||
<move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows-only.exe" />
|
||||
<move file="${basedir}/i2pinstall.exe" tofile="${basedir}/i2pinstall_${full.version}_windows.exe" />
|
||||
</target>
|
||||
|
||||
<!-- this is broken as installer-xxx targets may delete (or not delete) things in pkg-temp -->
|
||||
@ -1505,8 +1557,8 @@
|
||||
<target name="release" depends="verifyReleaseBuildNumbers, -pre-release, distclean, testscripts, updaterWithJettyRepack, updater200WithJetty, delete-j6-update, installer-nowindows, delete-nonwindows, installer-windows">
|
||||
<echo message="New version number is ${release.number}" />
|
||||
<copy file="i2pupdate.zip" tofile="i2pupdate_${release.number}.zip" />
|
||||
<copy file="i2pinstall_${full.version}_windows-only.exe" tofile="i2pinstall_${release.number}_windows.exe" />
|
||||
<copy file="i2pinstall_${full.version}.jar" tofile="i2pinstall_${release.number}.jar" />
|
||||
<copy file="i2pinstall_${full.version}_windows.exe" tofile="i2pinstall_${release.number}_windows.exe" />
|
||||
<delete file="i2pupdate.sud" />
|
||||
<delete file="i2pupdate.su2" />
|
||||
<!-- make this a lot easier by putting release.privkey=/path/to/privkey in override.properties -->
|
||||
@ -1672,48 +1724,20 @@
|
||||
<equals arg1="${release.gpg.keyid}" arg2=""/>
|
||||
</condition>
|
||||
</fail>
|
||||
<delete file="i2pinstall_${release.number}_windows.exe.sig" />
|
||||
<delete file="i2pinstall_${release.number}.jar.sig" />
|
||||
<delete file="i2psource_${release.number}.tar.bz2.sig" />
|
||||
<delete file="i2pupdate_${release.number}.zip.sig" />
|
||||
<exec executable="gpg" failonerror="true">
|
||||
<arg value="--default-key" />
|
||||
<arg value="${release.gpg.keyid}" />
|
||||
<arg value="-b" />
|
||||
<arg value="i2pinstall_${release.number}_windows.exe" />
|
||||
</exec>
|
||||
<exec executable="gpg" failonerror="true">
|
||||
<arg value="--default-key" />
|
||||
<arg value="${release.gpg.keyid}" />
|
||||
<arg value="-b" />
|
||||
<arg value="i2pinstall_${release.number}.jar" />
|
||||
</exec>
|
||||
<exec executable="gpg" failonerror="true">
|
||||
<arg value="--default-key" />
|
||||
<arg value="${release.gpg.keyid}" />
|
||||
<arg value="-b" />
|
||||
<arg value="i2psource_${release.number}.tar.bz2" />
|
||||
</exec>
|
||||
<exec executable="gpg" failonerror="true">
|
||||
<arg value="--default-key" />
|
||||
<arg value="${release.gpg.keyid}" />
|
||||
<arg value="-b" />
|
||||
<arg value="i2pupdate_${release.number}.zip" />
|
||||
</exec>
|
||||
<exec executable="chmod" failonerror="true">
|
||||
<arg value="444" />
|
||||
<arg value="i2pinstall_${release.number}_windows.exe" />
|
||||
<arg value="i2pinstall_${release.number}.jar" />
|
||||
<arg value="i2psource_${release.number}.tar.bz2" />
|
||||
<arg value="i2pupdate_${release.number}.zip" />
|
||||
<arg value="i2pupdate.su2" />
|
||||
<arg value="i2pupdate.su3" />
|
||||
<arg value="i2pupdate.sud" />
|
||||
<arg value="i2pinstall_${release.number}_windows.exe.sig" />
|
||||
<arg value="i2pinstall_${release.number}.jar.sig" />
|
||||
<arg value="i2psource_${release.number}.tar.bz2.sig" />
|
||||
<arg value="i2pupdate_${release.number}.zip.sig" />
|
||||
</exec>
|
||||
|
||||
<!-- the gpgsign macro sets the permission of signed files and the sigs themselves to 444 -->
|
||||
<gpgsign file="i2pinstall_${release.number}_windows.exe" />
|
||||
<gpgsign file="i2pinstall_${release.number}.jar" />
|
||||
<gpgsign file="i2psource_${release.number}.tar.bz2" />
|
||||
<gpgsign file="i2pupdate_${release.number}.zip" />
|
||||
|
||||
<chmod perm="444" type="file">
|
||||
<fileset dir="${basedir}">
|
||||
<include name="i2pupdate.su2" />
|
||||
<include name="i2pupdate.su3" />
|
||||
<include name="i2pupdate.sud" />
|
||||
</fileset>
|
||||
</chmod>
|
||||
<echo message="File sizes:" />
|
||||
<exec executable="ls" failonerror="true">
|
||||
<arg value="-l" />
|
||||
@ -1730,43 +1754,20 @@
|
||||
<arg value="i2pupdate_${release.number}.zip.sig" />
|
||||
</exec>
|
||||
<echo message="SHA256 sums:" />
|
||||
<exec executable="sha256sum" failonerror="true">
|
||||
<arg value="i2pinstall_${release.number}_windows.exe" />
|
||||
<arg value="i2pinstall_${release.number}.jar" />
|
||||
<arg value="i2psource_${release.number}.tar.bz2" />
|
||||
<arg value="i2pupdate_${release.number}.zip" />
|
||||
<arg value="i2pupdate.su2" />
|
||||
<arg value="i2pupdate.su3" />
|
||||
<arg value="i2pupdate.sud" />
|
||||
</exec>
|
||||
<sha256sum file="i2pinstall_${release.number}_windows.exe" />
|
||||
<sha256sum file="i2pinstall_${release.number}.jar" />
|
||||
<sha256sum file="i2psource_${release.number}.tar.bz2" />
|
||||
<sha256sum file="i2pupdate_${release.number}.zip" />
|
||||
<sha256sum file="i2pupdate.su2" />
|
||||
<sha256sum file="i2pupdate.su3" />
|
||||
<sha256sum file="i2pupdate.sud" />
|
||||
<!-- make torrent files -->
|
||||
<copy file="i2pupdate.sud" tofile="i2pupdate-${release.number}.sud" />
|
||||
<java classname="org.klomp.snark.Storage" fork="true" failonerror="true">
|
||||
<classpath>
|
||||
<pathelement location="build/i2p.jar" />
|
||||
<pathelement location="build/i2psnark.jar" />
|
||||
</classpath>
|
||||
<arg value="i2pupdate-${release.number}.sud" />
|
||||
<arg value="http://tracker2.postman.i2p/announce.php" />
|
||||
</java>
|
||||
<mktorrent file="i2pupdate-${release.number}.sud" />
|
||||
<copy file="i2pupdate.su2" tofile="i2pupdate-${release.number}.su2" />
|
||||
<java classname="org.klomp.snark.Storage" fork="true" failonerror="true">
|
||||
<classpath>
|
||||
<pathelement location="build/i2p.jar" />
|
||||
<pathelement location="build/i2psnark.jar" />
|
||||
</classpath>
|
||||
<arg value="i2pupdate-${release.number}.su2" />
|
||||
<arg value="http://tracker2.postman.i2p/announce.php" />
|
||||
</java>
|
||||
<mktorrent file="i2pupdate-${release.number}.su2" />
|
||||
<copy file="i2pupdate.su3" tofile="i2pupdate-${release.number}.su3" />
|
||||
<java classname="org.klomp.snark.Storage" fork="true" failonerror="true">
|
||||
<classpath>
|
||||
<pathelement location="build/i2p.jar" />
|
||||
<pathelement location="build/i2psnark.jar" />
|
||||
</classpath>
|
||||
<arg value="i2pupdate-${release.number}.su3" />
|
||||
<arg value="http://tracker2.postman.i2p/announce.php" />
|
||||
</java>
|
||||
<mktorrent file="i2pupdate-${release.number}.su3" />
|
||||
<echo message="Don't forget to mtn tag w: i2p-${release.number}" />
|
||||
<echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
|
||||
</target>
|
||||
|
Reference in New Issue
Block a user