diff options
| author | Eduardo Pedroni <e.pedroni91@gmail.com> | 2015-06-05 22:44:03 +0200 | 
|---|---|---|
| committer | Eduardo Pedroni <e.pedroni91@gmail.com> | 2015-06-05 22:44:03 +0200 | 
| commit | 5b3dc9b92cac06a635c26955dd3ec3c85666686b (patch) | |
| tree | 14811b42893b2cdacfe86885075c891122e1a5f8 /build/cardbasecli.xml | |
| parent | 35cf143b2c691d63cf70da9a5ad3663f5a573aa3 (diff) | |
Organised project folder, tidied up build script and added automatic linux executable build
Diffstat (limited to 'build/cardbasecli.xml')
| -rw-r--r-- | build/cardbasecli.xml | 72 | 
1 files changed, 72 insertions, 0 deletions
| diff --git a/build/cardbasecli.xml b/build/cardbasecli.xml new file mode 100644 index 0000000..a3e09b0 --- /dev/null +++ b/build/cardbasecli.xml @@ -0,0 +1,72 @@ +<?xml version="1.0"?> +<project name="cardbasecli" default="deploy" basedir=".."> +    +	<property name="jar.name" value="cardbase" /> +	<property name="src.dir" location="src" /> +	<property name="bin.dir" location="bin" /> +	<property name="build.dir" location="build" /> +	<property name="dist.dir" location="dist" /> +	<property name="lib.dir" value="lib" /> +	<property name="res.dir" value="res" /> +	<property name="main-class" value="eu.equalparts.cardbase.standalone.CardbaseCLI" /> +	 +	<!-- Clean up temporary directories --> +	<target name="clean" description="clean up"> +		<delete dir="${bin.dir}" /> +		<delete dir="${dist.dir}" /> +	</target> +	 +	<!-- Initialise temporary directories --> +	<target name="init"> +		<mkdir dir="${bin.dir}" /> +	</target> +	 +	<!-- External libraries classpath, we don't need sources and javadoc --> +	<path id="classpath"> +		<fileset dir="${basedir}/"> +			<include name="${lib.dir}/*.jar" /> +			<exclude name="${lib.dir}/*sources.jar"/> +			<exclude name="${lib.dir}/*javadoc.jar"/> +		</fileset> +	</path> +	 +	<!-- Compile project including external libraries --> +	<target name="compile" depends="init" description="compile the source"> +		<javac includeantruntime="false" srcdir="${src.dir}" destdir="${bin.dir}" classpathref="classpath" /> +	</target> +	 +	<!-- Create the jar and declare the ext libraries in manifest.mf file --> +	<target name="jar" depends="compile" > +		 +		<mkdir dir="${dist.dir}" /> +	  +		<jar jarfile="${dist.dir}/${jar.name}.jar" basedir="${bin.dir}"> +			 +			<zipgroupfileset dir="${lib.dir}" includes="*.jar" excludes="*sources.jar, *javadoc.jar" /> +			<fileset dir="${res.dir}" includes="**" excludes="" /> +			 +			<manifest> +				<attribute name="Main-Class" value="${main-class}" /> +				<attribute name="Class-Path" value="${classpath.name}" /> +			</manifest> +		</jar> +	</target> +	 +	<!-- Concatenate a the jar to a pre-set header and chmod 755 it --> +	<target name="shebang" depends="deploy" > +		<concat destfile="${dist.dir}/${jar.name}" binary="yes"> +			<fileset dir="${build.dir}" includes="header"/> +			<fileset dir="${dist.dir}" includes="${jar.name}.jar"/> +		</concat> +		 +		<chmod file="${dist.dir}/${jar.name}" perm="755"/> +		 +	</target> +	 +	<!-- Produce a standalone, runnable jar --> +	<target name="deploy" depends="clean, compile, jar" /> +	 +	<!-- Deploy, add header and set permission to run on Linux --> +	<target name="cli" depends="deploy, shebang" /> +	 +</project>
\ No newline at end of file | 
