167 lines
7.2 KiB
XML
167 lines
7.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- You may freely edit this file. See commented blocks below for -->
|
|
<!-- some examples of how to customize the build. -->
|
|
<!-- (If you delete it and reopen the project it will be recreated.) -->
|
|
<!-- By default, only the Clean and Build commands use this build script. -->
|
|
<!-- Commands such as Run, Debug, and Test only use this build script if -->
|
|
<!-- the Compile on Save feature is turned off for the project. -->
|
|
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
|
|
<!-- in the project's Project Properties dialog box.-->
|
|
<project name="SeSim" default="default" basedir=".">
|
|
<description>Builds, tests, and runs the project SeSim.</description>
|
|
<import file="nbproject/build-impl.xml"/>
|
|
|
|
|
|
<target name="-check-for-ivy">
|
|
<available property="have.ivy" resource="fr/jayasoft/ivy/ant/antlib.xml"/>
|
|
</target>
|
|
|
|
<target name="-ivy-define" depends="-check-for-ivy" unless="have.ivy">
|
|
<taskdef resource="fr/jayasoft/ivy/ant/antlib.xml" uri="antlib:fr.jayasoft.ivy.ant">
|
|
<classpath>
|
|
<fileset dir="${ivy.home}">
|
|
<include name="ivy*.jar"/>
|
|
<include name="lib/*.jar"/>
|
|
</fileset>
|
|
</classpath>
|
|
</taskdef>
|
|
</target>
|
|
<target name="-ivy-retrieve" depends="-ivy-define" xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
|
|
<ivy:resolve/> <!-- Tell Ivy to resolve dependencies -->
|
|
<ivy:retrieve/> <!-- Load dependencies to the project -->
|
|
<pathconvert property="ivy.classpath.computed" dirsep="/" pathsep=":">
|
|
<path>
|
|
<fileset dir="lib" includes="*.jar"/>
|
|
</path>
|
|
<map from="${basedir}${file.separator}" to=""/>
|
|
</pathconvert>
|
|
<propertyfile file="nbproject/project.properties">
|
|
<entry operation="=" key="ivy.classpath" value="${ivy.classpath.computed}"/>
|
|
</propertyfile>
|
|
</target>
|
|
<target name="-pre-compile" depends="-ivy-retrieve"/>
|
|
<target name="-pre-compile-single" depends="-ivy-retrieve"/>
|
|
<target name="-post-clean">
|
|
<delete dir="lib"/>
|
|
</target>
|
|
|
|
|
|
|
|
<!--
|
|
|
|
There exist several targets which are by default empty and which can be
|
|
used for execution of your tasks. These targets are usually executed
|
|
before and after some main targets. They are:
|
|
|
|
-pre-init: called before initialization of project properties
|
|
-post-init: called after initialization of project properties
|
|
-pre-compile: called before javac compilation
|
|
-post-compile: called after javac compilation
|
|
-pre-compile-single: called before javac compilation of single file
|
|
-post-compile-single: called after javac compilation of single file
|
|
-pre-compile-test: called before javac compilation of JUnit tests
|
|
-post-compile-test: called after javac compilation of JUnit tests
|
|
-pre-compile-test-single: called before javac compilation of single JUnit test
|
|
-post-compile-test-single: called after javac compilation of single JUunit test
|
|
-pre-jar: called before JAR building
|
|
-post-jar: called after JAR building
|
|
-post-clean: called after cleaning build products
|
|
|
|
(Targets beginning with '-' are not intended to be called on their own.)
|
|
|
|
Example of inserting an obfuscator after compilation could look like this:
|
|
|
|
<target name="-post-compile">
|
|
<obfuscate>
|
|
<fileset dir="${build.classes.dir}"/>
|
|
</obfuscate>
|
|
</target>
|
|
|
|
For list of available properties check the imported
|
|
nbproject/build-impl.xml file.
|
|
|
|
|
|
Another way to customize the build is by overriding existing main targets.
|
|
The targets of interest are:
|
|
|
|
-init-macrodef-javac: defines macro for javac compilation
|
|
-init-macrodef-junit: defines macro for junit execution
|
|
-init-macrodef-debug: defines macro for class debugging
|
|
-init-macrodef-java: defines macro for class execution
|
|
-do-jar: JAR building
|
|
run: execution of project
|
|
-javadoc-build: Javadoc generation
|
|
test-report: JUnit report generation
|
|
|
|
An example of overriding the target for project execution could look like this:
|
|
|
|
<target name="run" depends="AntSeSim-impl.jar">
|
|
<exec dir="bin" executable="launcher.exe">
|
|
<arg file="${dist.jar}"/>
|
|
</exec>
|
|
</target>
|
|
|
|
Notice that the overridden target depends on the jar target and not only on
|
|
the compile target as the regular run target does. Again, for a list of available
|
|
properties which you can use, check the target you are overriding in the
|
|
nbproject/build-impl.xml file.
|
|
|
|
-->
|
|
|
|
|
|
<target name="single-jar" depends="jar">
|
|
<property name="store.jar.name" value="OpenSeSim"/>
|
|
<property name="store.dir" value="store"/>
|
|
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
|
|
<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
|
|
<delete dir="${store.dir}"/>
|
|
<mkdir dir="${store.dir}"/>
|
|
<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
|
|
<zipgroupfileset dir="dist" includes="*.jar"/>
|
|
<zipgroupfileset dir="dist/lib" includes="*.jar"/>
|
|
<manifest>
|
|
<attribute name="Main-Class" value="${main.class}"/>
|
|
</manifest>
|
|
</jar>
|
|
<zip destfile="${store.jar}">
|
|
<zipfileset src="${store.dir}/temp_final.jar"
|
|
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
|
|
</zip>
|
|
<delete file="${store.dir}/temp_final.jar"/>
|
|
</target>
|
|
|
|
<property name="ivy.install.version" value="2.1.0-rc2" />
|
|
<condition property="ivy.home" value="${env.IVY_HOME}">
|
|
<isset property="env.IVY_HOME" />
|
|
</condition>
|
|
<property name="ivy.home" value="${user.home}/.ant" />
|
|
<property name="ivy.jar.dir" value="${ivy.home}/lib" />
|
|
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
|
|
|
|
<target name="download-ivy" unless="offline">
|
|
|
|
<mkdir dir="${ivy.jar.dir}"/>
|
|
<!-- download Ivy from web site so that it can be used even without any special installation -->
|
|
<get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
|
|
dest="${ivy.jar.file}" usetimestamp="true"/>
|
|
</target>
|
|
|
|
<target name="init-ivy" depends="download-ivy">
|
|
<!-- try to load ivy here from ivy home, in case the user has not already dropped
|
|
it into ant's lib dir (note that the latter copy will always take precedence).
|
|
We will not fail as long as local lib dir exists (it may be empty) and
|
|
ivy is in at least one of ant's lib dir or the local lib dir. -->
|
|
<path id="ivy.lib.path">
|
|
<fileset dir="${ivy.jar.dir}" includes="*.jar"/>
|
|
|
|
</path>
|
|
<taskdef resource="org/apache/ivy/ant/antlib.xml"
|
|
uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
|
|
</target>
|
|
|
|
|
|
|
|
|
|
|
|
</project>
|