Files
Brainstorm/Encryption Utility Application/build.xml
2014-05-30 10:31:51 -07:00

161 lines
6.4 KiB
XML

<!--
Refreshes the archive files for the encryption utility project.
The base directory must point to the Encryption Utility Project.
-->
<project name="Foundation Archive Builder" default="build-all" basedir=".">
<property name="workspace" value="./.."/>
<property name="temp" value="./temp"/>
<property name="foundation-jar" value="${workspace}/Archives/Release Binaries/DE Application Foundation.jar"/>
<property name="foundation-jar-debug" value="${workspace}/Archives/Binaries/DE Application Foundation.jar"/>
<property name="swt-releases" value="${workspace}/SWT/releases"/>
<property name="swt-jar" value="${swt-releases}/win32-win32-x86/swt.jar"/>
<property name="src" value="./src"/>
<property name="bin" value="./bin"/>
<property name="compress" value="true"/>
<property name="archives" value="./Archives"/>
<property name="brainstorm-archiver" value="."/>
<property name="archives-installers" value="${brainstorm-archiver}/Archives/Installers"/>
<property name="installers-working" value="./Installer"/>
<property name="launch4j.dir" value="c:\Tools\Launch4j"/>
<property name="nsis-install" value="c:\Tools\NSIS"/>
<property name="jarbundler" value="c:\Tools\jarbundler-2.1.0"/>
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar;${$launch4j.dir}/lib/xstream.jar"/>
<taskdef name="nsis" classname="net.sf.nsisant.Task">
<classpath location="${installers-working}/nsisant-1.2.jar"/>
</taskdef>
<taskdef name="jarbundler" classname="net.sourceforge.jarbundler.JarBundler" classpath="${jarbundler}/jarbundler-2.1.0.jar"/>
<target name="make-dirs" depends="">
<mkdir dir="${archives}"/>
<mkdir dir="${temp}"/>
</target>
<target name="cleanup" depends="">
</target>
<target name="full-cleanup" depends="cleanup">
<delete dir="${archives}"/>
</target>
<target name="build-all" description="The full build process including setup and cleanup." depends="make-dirs, build, cleanup">
</target>
<target name="build" description="Builds everything." depends="">
<!-- Release Binary -->
<delete dir="${temp}"/>
<mkdir dir="${temp}"/>
<unjar dest="${temp}" src="${foundation-jar}"/>
<javac srcdir="${src}" destdir="${temp}" fork="true" executable="c:/java/jdk1.5/bin/javac" encoding="utf-8" nowarn="true" verbose="no" debug="off" classpath="${temp};${swt-jar};">
</javac>
<!-- Builds a debug jar. -->
<jar destfile="${archives}/Brainstorm Archiver.jar">
<fileset dir="${temp}" includes="**/*.class, **/*.properties"/>
<manifest>
<attribute name="Main-Class" value="com.eua.application.EncryptionUtilityApplication"/>
</manifest>
</jar>
<delete dir="${temp}"/>
<mkdir dir="${temp}"/>
<unjar dest="${temp}" src="${foundation-jar-debug}"/>
<!-- Builds a debug jar. -->
<jar destfile="${archives}/Brainstorm Archiver Debug.jar">
<fileset dir="${bin}" includes="**/*.class, **/*.properties"/>
<fileset dir="${temp}" includes="**/*.class, **/*.properties"/>
<manifest>
<attribute name="Main-Class" value="com.eua.application.EncryptionUtilityApplication"/>
</manifest>
</jar>
<delete dir="${temp}"/>
<!-- Setup the installer directories. -->
<mkdir dir="${archives-installers}"/>
<mkdir dir="${installers-working}"/>
<!-- Ensure we start with a clean slate. -->
<delete file="${archives-installers}/*.*"/>
<delete file="${installers-working}/**/*.res"/>
<delete dir="${installers-working}/*/resources"/>
<delete file="${installers-working}/*/Brainstorm Archiver.exe"/>
<delete file="${installers-working}/*/swt.jar"/>
<delete dir="${installers-working}/com"/>
<!-- Copy the latest files from the project to the installer directory. -->
<!-- 32bit Windows. -->
<mkdir dir="${installers-working}/win32"/>
<copy todir="${installers-working}/win32">
<fileset dir="${archives}">
<include name="Brainstorm Archiver.jar"/>
</fileset>
<fileset dir="${swt-releases}/win32-win32-x86">
<include name="swt.jar"/>
</fileset>
<fileset dir="${brainstorm-archiver}">
<include name="**/*.res"/>
<exclude name="installer/**/*.*"/>
</fileset>
</copy>
<launch4j configFile="${installers-working}/win32/launch4j.xml"/>
<nsis script="${installers-working}/win32/setup.nsi" verbosity="2" path="${nsis-install}"/>
<!-- 64bit Windows. -->
<mkdir dir="${installers-working}/win64"/>
<copy todir="${installers-working}/win64">
<fileset dir="${archives}">
<include name="Brainstorm Archiver.jar"/>
</fileset>
<fileset dir="${swt-releases}/win32-win32-x86_64">
<include name="swt.jar"/>
</fileset>
<fileset dir="${brainstorm-archiver}">
<include name="**/*.res"/>
<exclude name="installer/**/*.*"/>
</fileset>
</copy>
<launch4j configFile="${installers-working}/win64/launch4j.xml"/>
<nsis script="${installers-working}/win64/setup.nsi" verbosity="2" path="${nsis-install}"/>
<!-- 64bit OSX. -->
<mkdir dir="${installers-working}/mac64"/>
<copy todir="${installers-working}/mac64">
<fileset dir="${archives}">
<include name="Brainstorm Archiver Debug.jar"/>
</fileset>
<fileset dir="${swt-releases}/cocoa-macosx-x86_64">
<include name="swt.jar"/>
</fileset>
<fileset dir="${brainstorm-archiver}">
<include name="**/*.res"/>
<exclude name="installer/**/*.*"/>
</fileset>
<fileset dir="${brainstorm-archiver}/images">
<include name="lock-icon.icns"/>
</fileset>
</copy>
<!-- Creates a zip of all the parts, but doesn't create a bundle.
<unjar overwrite="true" dest="${installers-working}/mac64">
<fileset dir="${archives}">
<include name="Brainstorm Archiver Debug.jar"/>
</fileset>
</unjar>
<delete dir="${installers-working}/mac64/META-INF"/>
<zip destfile="${archives}/Installers/mac64.zip" compress="true">
<zipfileset dir="${installers-working}/mac64" includes="**/*.*" excludes="run"/>
<zipfileset dir="${installers-working}/mac64" includes="run" filemode="555"/>
</zip>
vmoptions="-XstartOnFirstThread"
-->
<!--
<jarbundler dir="${installers-working}/mac64" name="Brainstorm Archiver" mainclass="com.eua.application.EncryptionUtilityApplication"
build="1.0" bundleid="com.declarativeengineering.brainstorm.archiver" icon="lock-icon.icns" jvmversion="1.5+" shortname="Archiver" stubfile="" version="1.0" workingdirectory="./MacOS" startOnMainThread="true">
<jarfileset dir="${installers-working}/mac64">
<include name="*.jar"/>
</jarfileset>
</jarbundler>
-->
</target>
</project>