Siba/build.xml

145 lines
5.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="main" name="Create Runnable Jar for project Siba">
<!--ANT 1.7 is required -->
<property file="build.properties"/>
<property name="build.dir" value="${basedir}/build" />
<path id="project.libs">
<fileset dir="${basedir}/lib" includes="**.jar" excludes="*sources* *src*" />
<fileset dir="${basedir}/lib/Logs" includes="**.jar" excludes="*sources* *src*" />
</path>
<!-- TARGET MAIN -->
<target name="main" description="Manage distribution build" depends="dist, clean">
<echo>Done.</echo>
</target>
<!-- TARGET HELP -->
<target name="help" description="Display detailed usage information">
<echo>Type ant -p</echo>
</target>
<!-- TARGET CLEAN -->
<target name="clean" description="Remove build directory">
<echo>=======================================================================</echo>
<delete dir="${build.dir}" />
</target>
<!-- TARGET COMPILE -->
<target name="compile" description="Compile project">
<echo>=======================================================================</echo>
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
<echo>classpath=${toString:project.libs}</echo>
<javac srcdir="src" destdir="${build.dir}" classpath="${toString:project.libs}" includeantruntime="no" />
</target>
<!-- COPY SOURCE STUFF -->
<target name="copysourcestuff" description="Compile project">
<echo>=======================================================================</echo>
<copy todir="${build.dir}">
<fileset dir="${basedir}/src" excludes="**/*.java" />
</copy>
</target>
<!-- TARGET DIST -->
<target name="dist" description="Build distribution directory" depends="compile, copysourcestuff">
<echo>=======================================================================</echo>
<buildnumber file="build.num" description="Id of the build"/>
<property name="dist.version" value="${product.revision.major}.${product.revision.minor}.${build.number}" />
<!-- AUTOMATIC MANAGEMENT -->
<property name="dist.name" value="${product.name}-${version}" />
<property name="dist.dir" value="${basedir}/dist/siba-${dist.version}" />
<property name="dist.zip" value="${basedir}/dist/siba-${dist.version}.zip" />
<tstamp>
<format property="dist.time" pattern="dd/MM/yyyy HH:mm:ss" />
</tstamp>
<delete dir="${dist.dir}" />
<!-- delete file="${distzip}" /-->
<mkdir dir="${dist.dir}"/>
<!-- Update build_information.properties file -->
<property name="build.information.file" value="${build.dir}/build_information.properties" />
<propertyfile file="${build.information.file}" >
<entry key="product.name" value="${product.name}"/>
<entry key="product.revision.major" value="${product.revision.major}"/>
<entry key="product.revision.minor" value="${product.revision.minor}"/>
<entry key="product.revision.build" value="${build.number}"/>
<entry key="product.revision.date" type="date" value="now"/>
<entry key="product.revision.generator" value="Ant"/>
<entry key="product.revision.author" value="${user.name}"/>
</propertyfile>
<!-- Build the jar file list. -->
<manifestclasspath property="lib.list" jarfile="${basedir}/lib/siba.jar">
<classpath path="${toString:project.libs}" />
</manifestclasspath>
<!-- Make full jar file -->
<jar destfile="${dist.dir}/siba.jar">
<manifest>
<attribute name="Built-By" value="${user.name} using Siba ANT"/>
<attribute name="Built-Date" value="${dist.time}"/>
<attribute name="Implementation-Version" value="Siba ${dist.version} ${TODAY}"/>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="org.dclermonte.siba.Siba"/>
<attribute name="Class-Path" value="siba.jar ." />
<attribute name="Rsrc-Class-Path" value="./ ${lib.list}"/>
</manifest>
<zipfileset src="lib/jar-in-jar-loader.zip"/>
<fileset dir="${build.dir}/" excludes="**/*Test.class"/>
<zipfileset dir="${basedir}/lib" includes="${lib.list}" />
</jar>
<!-- Make sources file -->
<property name="dist.srczip" value="${dist.dir}/siba-${dist.version}-sources.zip" />
<zip destfile="${dist.srczip}" update="true" preserve0permissions="true">
<fileset dir="${basedir}/src" />
<zipfileset dir="${basedir}/" includes="LICENSE" />
</zip>
<!-- Make core jar file -->
<property name="dist.core.jar" value="${dist.dir}/siba-core-${dist.version}.jar" />
<jar destfile="${dist.core.jar}">
<manifest>
<attribute name="Built-By" value="${user.name} using ANT" />
<attribute name="Built-Date" value="${dist.time}" />
</manifest>
<fileset dir="${build.dir}" excludes="org/dclermonte/siba/gui/**" />
<zipfileset dir="${basedir}/" includes="LICENSE" />
</jar>
<!-- Make core jar source file -->
<property name="dist.core.srczip" value="${dist.dir}/siba-core-${dist.version}-sources.zip" />
<zip destfile="${dist.core.srczip}" update="true" preserve0permissions="true">
<fileset dir="${basedir}/src" />
<fileset dir="${basedir}/src" excludes="org/dclermonte/siba/gui/**" />
<zipfileset dir="${basedir}/" includes="LICENSE" />
</zip>
<!-- Copy stuff -->
<copy file="scripts/siba.sh" todir="${dist.dir}/" overwrite="true" />
<chmod file="${dist.dir}/siba.sh" perm="ugo+rx" />
<copy file="scripts/siba.command" todir="${dist.dir}/" overwrite="true" />
<chmod file="${dist.dir}/siba.command" perm="ugo+rx" />
<copy file="scripts/siba.bat" todir="${dist.dir}/" overwrite="true" />
<copy file="README.md" todir="${dist.dir}/" overwrite="true" />
<copy file="LICENSE" todir="${dist.dir}/" overwrite="true" />
<copy file="scripts/log4j.properties" todir="${dist.dir}/" overwrite="true" />
<!--zip destfile="${distzip}"
basedir="dist"
includes="${dist.name}/**"
update="true"
preserve0permissions="true"
/-->
<delete file="${build.information.file}" />
</target>
</project>