259 lines
10 KiB
XML
259 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project basedir="." default="all" name="itoopie">
|
|
|
|
<property name="src" value="src"/>
|
|
<property name="lib" value="lib"/>
|
|
<property name="build" value="build"/>
|
|
<property name="dist" location="dist"/>
|
|
<property name="jar" value="itoopie.jar"/>
|
|
<property name="resources" value="resources"/>
|
|
<property name="temp" value="pkg-temp" />
|
|
<property name="javadoc" value="javadoc"/>
|
|
|
|
<property name="javac.compilerargs" value=""/>
|
|
|
|
|
|
<target name="init">
|
|
<mkdir dir="${build}"/>
|
|
<mkdir dir="${build}/${lib}"/>
|
|
<mkdir dir="${build}/${resources}"/>
|
|
<mkdir dir="${build}/${javadoc}"/>
|
|
<mkdir dir="${dist}"/>
|
|
<copy todir="${dist}/${lib}">
|
|
<fileset dir="${lib}" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="clean" description="Clean up files created during build">
|
|
<delete dir="${build}"/>
|
|
<delete dir="${dist}"/>
|
|
<delete dir="{temp}" />
|
|
<delete file="installer.jar" failonerror="false" />
|
|
<delete file="itoopie-install.exe" failonerror="false" />
|
|
<delete file="itoopie.app.tar.bz2" failonerror="false" />
|
|
<delete file="itoopie-install.exe.sha512" failonerror="false" />
|
|
<delete dir="plugin/lib" />
|
|
<delete dir="plugin/lib" />
|
|
<delete>
|
|
<fileset dir="plugin/" excludes="clients.config" />
|
|
</delete>
|
|
<delete file="itoopie.su3" failonerror="false" />
|
|
<delete file="itoopie-update.su3" failonerror="false" />
|
|
<delete file="itoopie.xpi2p" failonerror="false" />
|
|
<ant dir="plugin-src" target="clean" />
|
|
</target>
|
|
|
|
<target name="compile" depends="clean,init">
|
|
<javac
|
|
debug="true"
|
|
deprecation="on"
|
|
includeAntRuntime="false"
|
|
encoding="UTF-8"
|
|
source="1.8"
|
|
target="1.8"
|
|
srcdir="${src}"
|
|
destdir="${build}">
|
|
<classpath>
|
|
<pathelement location="${lib}/commons-logging-1.1.1.jar" />
|
|
<pathelement location="${lib}/json-smart-1.0.6.4.jar" />
|
|
<pathelement location="${lib}/jchart2d-3.2.2.jar" />
|
|
<pathelement location="${lib}/xmlgraphics-commons-1.3.1.jar" />
|
|
</classpath>
|
|
</javac>
|
|
<copy todir="${build}/${resources}">
|
|
<fileset dir="${resources}" />
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="jar" depends="compile">
|
|
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
</exec>
|
|
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
</exec>
|
|
<javac source="1.8" target="1.8"
|
|
includeAntRuntime="false"
|
|
encoding="UTF-8"
|
|
srcdir="build/messages-src" destdir="${build}">
|
|
<compilerarg line="${javac.compilerargs}" />
|
|
</javac>
|
|
|
|
<jar basedir="${build}" destfile="${dist}/${jar}" excludes="messages-src/**/*">
|
|
<manifest>
|
|
<attribute name="Main-Class" value="net.i2p.itoopie.Main"/>
|
|
<attribute name="Class-Path" value="${lib}/commons-logging-1.1.1.jar ${lib}/json-smart-1.0.6.4.jar ${lib}/jchart2d-3.2.2.jar ${lib}/xmlgraphics-commons-1.3.1.jar" />
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="javadoc" description="build javadocs">
|
|
<mkdir dir="${build}" />
|
|
<mkdir dir="${build}/${javadoc}" />
|
|
<javadoc
|
|
sourcepath="${src}" destdir="${build}/${javadoc}"
|
|
packagenames="*"
|
|
use="true"
|
|
splitindex="true"
|
|
windowtitle="itoopie">
|
|
<classpath>
|
|
<pathelement location="${lib}/commons-logging-1.1.1.jar" />
|
|
<pathelement location="${lib}/json-smart-1.0.6.4.jar" />
|
|
<pathelement location="${lib}/jchart2d-3.2.2.jar" />
|
|
<pathelement location="${lib}/xmlgraphics-commons-1.3.1.jar" />
|
|
</classpath>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="poupdate" depends="init" description="update po files">
|
|
|
|
<exec executable="sh" osfamily="unix" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
<arg value="-p" />
|
|
</exec>
|
|
<exec executable="sh" osfamily="mac" failifexecutionfails="true" >
|
|
<arg value="./bundle-messages.sh" />
|
|
<arg value="-p" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="installer" depends="jar" description="build multi-arch installer">
|
|
<ant target="doAppEXE" />
|
|
|
|
<taskdef name="izpack" classpath="${basedir}/installer/lib/izpack/standalone-compiler.jar" classname="com.izforge.izpack.ant.IzPackTask" />
|
|
<izpack input="${basedir}/installer/installer.xml"
|
|
output="${basedir}/installer.jar"
|
|
installerType="standard"
|
|
basedir="${basedir}"
|
|
compression="deflate"
|
|
compressionlevel="9" />
|
|
|
|
<ant target="installerexe" />
|
|
</target>
|
|
<target name="installerexe" unless="noExe">
|
|
<!--<condition property="noExe">
|
|
<os arch="x86_64" />
|
|
</condition>
|
|
<condition property="noExe">
|
|
<os arch="amd64" />
|
|
</condition>
|
|
<condition property="noExe">
|
|
<not>
|
|
<or>
|
|
<os name="Linux" />
|
|
<os family="windows" />
|
|
</or>
|
|
</not>
|
|
</condition>-->
|
|
<ant target="doInstallerEXE" />
|
|
</target>
|
|
|
|
<target name="doInstallerEXE" unless="noExe">
|
|
|
|
<!-- now the installer exe -->
|
|
<taskdef name="launch4j"
|
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
|
classpath="${basedir}/installer/lib/launch4j/launch4j.jar:${basedir}/installer/lib/launch4j/lib/xstream.jar" />
|
|
<launch4j configFile="installer/itoopieinstaller.xml" />
|
|
<checksum file="itoopie-install.exe" algorithm="SHA-512" fileext=".sha512"/>
|
|
|
|
</target>
|
|
<!-- thazzit -->
|
|
|
|
|
|
<target name="doAppEXE" unless="noExe">
|
|
<taskdef name="launch4j"
|
|
classname="net.sf.launch4j.ant.Launch4jTask"
|
|
classpath="${basedir}/installer/lib/launch4j/launch4j.jar:${basedir}/installer/lib/launch4j/lib/xstream.jar" />
|
|
<launch4j configFile="installer/itoopiestandalone.xml" />
|
|
</target>
|
|
|
|
<target name="dist" depends="jar" description="create jars but don't create an installer"/>
|
|
<target name="all" depends="jar" />
|
|
|
|
<target name="osx" depends="makeOSXBundle" />
|
|
<target name="makeOSXBundle" depends="jar" description="build a OSX bundle">
|
|
<mkdir dir="${temp}/itoopie.app" />
|
|
<copy todir="${temp}/itoopie.app">
|
|
<fileset dir="installer/resources/itoopie.app" />
|
|
</copy>
|
|
<exec executable="chmod" osfamily="unix" failonerror="true">
|
|
<arg value="755" />
|
|
<arg value="${temp}/itoopie.app/Contents/MacOS/JavaApplicationStub" />
|
|
</exec>
|
|
<mkdir dir="${temp}/itoopie.app/Contents/Resources/Java" />
|
|
<copy todir="${temp}/itoopie.app/Contents/Resources/Java">
|
|
<fileset dir="${dist}" />
|
|
</copy>
|
|
<ant target="dotarbundle" />
|
|
</target>
|
|
<target name="dotarbundle" unless="notarbundle">
|
|
<exec executable="tar" osfamily="unix" failonerror="true">
|
|
<arg value="--owner=root" />
|
|
<arg value="--group=root" />
|
|
<arg value="-cjvf" />
|
|
<arg value="itoopie.app.tar.bz2" />
|
|
<arg value="-C" />
|
|
<arg value="${temp}" />
|
|
<arg value="itoopie.app" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="plugin" depends="jar">
|
|
<ant dir="plugin-src" target="build" />
|
|
<delete>
|
|
<!-- in installer but not update -->
|
|
<fileset dir="plugin/" includes="itoopie.conf" />
|
|
</delete>
|
|
<!-- get version number -->
|
|
<buildnumber file="scripts/build.number" />
|
|
<property name="release.number" value="0.0.5" />
|
|
|
|
<!-- make the update xpi2p -->
|
|
<!-- this contains everything except i2ptunnel.config -->
|
|
<copy file="license.txt" tofile="plugin/LICENSE.txt" overwrite="true" />
|
|
<copy file="README" tofile="plugin/README.txt" overwrite="true" />
|
|
<copy file="scripts/plugin.config" todir="plugin/" overwrite="true" />
|
|
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
|
|
<arg value="update-only=true" />
|
|
</exec>
|
|
<exec executable="echo" osfamily="unix" failonerror="true" output="plugin/plugin.config" append="true">
|
|
<arg value="version=${release.number}-b${build.number}" />
|
|
</exec>
|
|
<mkdir dir="plugin/lib" />
|
|
<copy file="plugin-src/build/itoopie-plugin.jar" todir="plugin/lib" overwrite="true" />
|
|
<copy file="lib/commons-logging-1.1.1.jar" tofile="plugin/lib/commons-logging.jar" overwrite="true" />
|
|
<copy file="lib/jchart2d-3.2.2.jar" tofile="plugin/lib/jchart2d.jar" overwrite="true" />
|
|
<copy file="lib/json-smart-1.0.6.4.jar" tofile="plugin/lib/json-smart.jar" overwrite="true" />
|
|
<copy file="lib/xmlgraphics-commons-1.3.1.jar" tofile="plugin/lib/xmlgraphics-commons.jar" overwrite="true" />
|
|
<copy file="lib/NOTICE-apache-xmlgraphics-commons" tofile="plugin/NOTICE-apache-xmlgraphics-commons.txt" overwrite="true" />
|
|
<copy todir="plugin">
|
|
<fileset dir="lib" includes="*.txt" />
|
|
</copy>
|
|
<copy file="${dist}/${jar}" todir="plugin/lib" />
|
|
<input message="Enter su3 signing key password:" addproperty="release.password.su3" />
|
|
<fail message="You must enter a password." >
|
|
<condition>
|
|
<equals arg1="${release.password.su3}" arg2=""/>
|
|
</condition>
|
|
</fail>
|
|
<!-- this will fail if no su3 keys exist, as it needs the password twice -->
|
|
<exec executable="scripts/makeplugin.sh" inputstring="${release.password.su3}" failonerror="true" >
|
|
<arg value="plugin" />
|
|
</exec>
|
|
<move file="itoopie.su3" tofile="itoopie-update.su3" overwrite="true" />
|
|
|
|
<!-- make the install xpi2p -->
|
|
<copy file="scripts/plugin.config" todir="plugin/" overwrite="true" />
|
|
<!-- Files in installer but not update. Be sure to Add to delete fileset above and clean target below -->
|
|
<copy file="scripts/itoopie.conf" todir="plugin/" 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="scripts/makeplugin.sh" inputstring="${release.password.su3}" failonerror="true" >
|
|
<arg value="plugin" />
|
|
</exec>
|
|
</target>
|
|
|
|
</project>
|