123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?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.) -->
- <project name="DMDirc" default="default" basedir=".">
- <description>Builds, tests, and runs the project DMDirc.</description>
-
- <import file="nbproject/build-impl.xml"/>
- <import file="BuildPlugins.xml"/>
-
- <!--
-
- 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-with-manifest: JAR building (if you are using a manifest)
- -do-jar-without-manifest: JAR building (if you are not using a manifest)
- 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="DMDirc-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.
- <jar compress="${jar.compress}" jarfile="${build.classes.dir}/plugins/">
- <fileset dir="${build.classes.dir}"/>
- </jar>
- -->
-
- <available file="/bin/bash" property="has.bash"/>
-
- <target name="-pre-init">
- <!-- Source default properties files before private/user/project ones -->
- <property file="default.properties"/>
- </target>
-
- <!--
- This will revert the svn revision in Main.java to prevent commiting the
- change everyt time someone builds and causing conflicts.
- -->
- <target name="unsvn" depends="unsvn_nobash, unsvn_bash"/>
- <target name="unsvn_bash" if="has.bash">
- <exec executable="/bin/bash">
- <arg value="AddSVN.sh"/>
- <arg value="--post"/>
- </exec>
- </target>
- <target name="unsvn_nobash" unless="has.bash">
- <echo message="This task only works on linux"/>
- </target>
- <target name="-post-compile" depends="unsvn, build-plugins"/>
-
- <!--
- This will add the svn revision to Main.java
- -->
- <target name="addsvn" depends="addsvn_nobash, addsvn_bash"/>
- <target name="addsvn_bash" if="has.bash">
- <exec executable="/bin/bash">
- <arg value="AddSVN.sh"/>
- <arg value="--pre"/>
- </exec>
- </target>
- <target name="addsvn_nobash" unless="has.bash">
- <echo message="This task only works on linux"/>
- </target>
- <target name="-pre-compile" depends="addsvn"/>
-
- <target name="installer" depends="installer-nobuild, installer-build"/>
-
- <target name="installer-build" if="has.bash">
- <exec executable="/bin/bash" dir="installer" resultproperty="installer.result">
- <arg value="release.sh"/>
- <arg value="this"/>
- </exec>
-
- <condition property="installer.success">
- <equals arg1="${installer.result}" arg2="0" />
- </condition>
-
- <echo message="Installer build finished."/>
- <echo message="Completed build files can be found in:"/>
- <echo message=" ${installer.output.dir}"/>
- <echo message=""/>
- </target>
-
- <target name="installer-nobuild" unless="has.bash">
- <echo message="This task only works on linux"/>
- </target>
- </project>
|