Files
i2p.syndie/build.xml

243 lines
10 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="syndie" default="run" basedir=".">
<description>Builds, tests and runs the project syndie.</description>
<!--
Include property files so that values can be easily overridden.
Users should create an override.properties file to make changes.
-->
<property file="override.properties"/>
<property file="build.properties"/>
<!-- Set some global properties up -->
<property name="src.dir" value="src" />
<property name="build.dir" value="build" />
<property name="dist.dir" value="dist" />
<property name="lib.dir" value="lib" />
<property name="dist.lib.jar" value="${dist.dir}/syndie.jar" />
<!-- allow lib locations to be overridden -->
<property name="hsqldb.jar" value="${lib.dir}/hsqldb.jar" />
<property name="i2p.jar" value="${lib.dir}/i2p.jar" />
<property name="swt.jar" value="${lib.dir}/swt.jar" />
<!-- Set some classpaths up -->
<path id="classpath.build">
<pathelement location="${hsqldb.jar}" />
<pathelement location="${i2p.jar}" />
<pathelement location="${swt.jar}" />
</path>
<path id="classpath.run">
<pathelement location="${dist.lib.jar}" />
<path refid="classpath.build" />
</path>
<!-- Set up a fileset for the resources -->
<path id="resources.path">
<fileset dir="${src.dir}">
<exclude name="**/*.java" />
<exclude name="com/*.txt" />
<exclude name="MANIFEST.MF" />
</fileset>
</path>
<target name="init" depends="buildProperties">
<tstamp>
<format property="build.timestamp" pattern="yyyy-MM-dd HH:mm:ss z" timezone="UTC" locale="en" />
</tstamp>
<mkdir dir="${dist.dir}" />
<mkdir dir="${build.dir}" />
</target>
<target name="compile" depends="init" description="compile the source">
<javac srcdir="${src.dir}" destdir="${build.dir}" debug="true" source="1.5" target="1.5"
deprecation="on" includeAntRuntime="false" >
<classpath>
<path refid="classpath.build" />
</classpath>
</javac>
<copy todir="${build.dir}">
<path refid="resources.path" />
</copy>
</target>
<target name="jar" depends="compile" description="generate the jar file">
<jar jarfile="${dist.lib.jar}" basedir="${build.dir}" />
</target>
<target name="dist" depends="jar" description="Combine all jars">
<copy file="${swt.jar}" todir="lib" />
<copy file="${i2p.jar}" todir="lib" />
<jar jarfile="syndie.jar" index="true">
<manifest>
<attribute name="Main-Class" value="syndie.gui.SWTUI"/>
</manifest>
<zipfileset src="${dist.lib.jar}" includes="**" />
<zipgroupfileset dir="lib" includes="*.jar"/>
</jar>
</target>
<target name="run" depends="jar" description="run syndie">
<condition property="run.args" value="">
<not>
<isset property="run.args" />
</not>
</condition>
<java classname="syndie.gui.SWTUI" fork="true" failonerror="false">
<arg line="${run.args}" />
<classpath>
<path refid="classpath.run" />
</classpath>
</java>
</target>
<target name="plugin" depends="getReleaseNumber, jar">
<mkdir dir="plugin/lib" />
<buildnumber file="scripts/build.number" />
<!-- make the update linux xpi2p, this is for both 32 and 64 bit -->
<delete file="plugin/lib/hsqldb.jar.pack" />
<delete file="plugin/lib/swt.jar.pack" />
<copy file="LICENSE" todir="plugin" />
<copy file="src/com/LICENSE.txt" tofile="plugin/LICENSE-jazzy.txt" />
<copy file="LICENSE-EPL-v1.0.html" tofile="plugin/LICENSE-icons.html" />
<copy file="logger.config" todir="plugin" />
<copy file="scripts/plugin-linux.config" tofile="plugin/plugin.config" overwrite="true" />
<copy file="scripts/clients-linux.config" tofile="plugin/clients.config" overwrite="true" />
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="version=${release.number}-b${build.number}" />
</exec>
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="update-only=true" />
</exec>
<exec executable="pack200" failonerror="true">
<arg value="-g" />
<arg value="plugin/lib/syndie.jar.pack" />
<arg value="${dist.dir}/syndie.jar" />
</exec>
<exec executable="scripts/makeplugin.sh" failonerror="true">
<arg value="plugin" />
</exec>
<move file="syndie.xpi2p" tofile="syndie-linux-i386-update.xpi2p" />
<!-- make the windows update xpi2p -->
<copy file="scripts/plugin-windows.config" tofile="plugin/plugin.config" overwrite="true" />
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="version=${release.number}-b${build.number}" />
</exec>
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="update-only=true" />
</exec>
<copy file="scripts/clients-windows.config" tofile="plugin/clients.config" overwrite="true" />
<exec executable="scripts/makeplugin.sh" failonerror="true">
<arg value="plugin" />
</exec>
<move file="syndie.xpi2p" tofile="syndie-win32-update.xpi2p" />
<!-- make the install xpi2p -->
<copy file="lib/hsqldb_lic.txt" todir="plugin" />
<copy file="scripts/LICENSE-swt.txt" todir="plugin" />
<copy file="scripts/plugin-linux.config" tofile="plugin/plugin.config" overwrite="true" />
<copy file="scripts/clients-linux.config" tofile="plugin/clients.config" overwrite="true" />
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="version=${release.number}-b${build.number}" />
</exec>
<exec executable="pack200" failonerror="true">
<arg value="-g" />
<arg value="plugin/lib/hsqldb.jar.pack" />
<arg value="${lib.dir}/hsqldb.jar" />
</exec>
<exec executable="pack200" failonerror="true">
<arg value="-g" />
<arg value="plugin/lib/swt.jar.pack" />
<arg value="${lib.dir}/swt.jar" />
</exec>
<exec executable="scripts/makeplugin.sh" failonerror="true">
<arg value="plugin" />
</exec>
<move file="syndie.xpi2p" tofile="syndie-linux-i386.xpi2p" />
<!-- make the 64 bit linux install xpi2p -->
<exec executable="pack200" failonerror="true">
<arg value="-g" />
<arg value="plugin/lib/swt.jar.pack" />
<arg value="${lib.dir}/swt-linux-x86-64.jar" />
</exec>
<exec executable="scripts/makeplugin.sh" failonerror="true">
<arg value="plugin" />
</exec>
<move file="syndie.xpi2p" tofile="syndie-linux-x86-64.xpi2p" />
<!-- make the windows install xpi2p -->
<copy file="scripts/plugin-windows.config" tofile="plugin/plugin.config" overwrite="true" />
<copy file="scripts/clients-windows.config" tofile="plugin/clients.config" overwrite="true" />
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
<arg value="version=${release.number}-b${build.number}" />
</exec>
<exec executable="pack200" failonerror="true">
<arg value="-g" />
<arg value="plugin/lib/swt.jar.pack" />
<arg value="${lib.dir}/swt-win32.jar" />
</exec>
<exec executable="scripts/makeplugin.sh" failonerror="true">
<arg value="plugin" />
</exec>
<move file="syndie.xpi2p" tofile="syndie-win32.xpi2p" />
</target>
<target name="clean" description="clean up">
<delete dir="${build.dir}" />
<delete dir="${dist.dir}" />
<delete file="syndie.jar" />
<delete dir="plugin" />
<delete file="syndie.xpi2p" />
<delete file="syndie-update.xpi2p" />
<delete file="syndie-win32.xpi2p" />
<delete file="syndie-win32-update.xpi2p" />
<delete file="syndie-linux-i386.xpi2p" />
<delete file="syndie-linux-i386-update.xpi2p" />
<delete file="syndie-linux-x86-64.xpi2p" />
</target>
<target name="checkForMtn" >
<available property="mtn.available" file="_MTN" type="dir" />
</target>
<target name="getMtnRev" depends="checkForMtn" if="mtn.available" >
<exec executable="mtn" outputproperty="workspace.version" errorproperty="mtn.error1" failifexecutionfails="false" >
<arg value="automate" />
<arg value="get_base_revision_id" />
</exec>
</target>
<target name="buildProperties" depends="getMtnRev, getReleaseNumber" >
<!-- default if not set above -->
<property name="workspace.version" value="unknown" />
<property name="full.version" value="${release.number}" />
<echo message="Building version ${full.version} (mtn rev ${workspace.version})" />
</target>
<target name="getReleaseNumber">
<loadfile srcfile="src/syndie/Version.java" property="release.number">
<filterchain>
<linecontains>
<contains value="public static final String VERSION"/>
</linecontains>
<tokenfilter>
<replaceregex pattern=".*&quot;([^&quot;]+)&quot;;" replace="\1" flags="gi" />
</tokenfilter>
<striplinebreaks/>
<trim/>
<ignoreblank/>
</filterchain>
</loadfile>
<property name="release.number" value="unknown" />
<echo message="Release number is ${release.number}" />
</target>
</project>
<!-- vim: set ft=xml ts=4 sw=4 et: -->