diff options
Diffstat (limited to 'petascope/build.xml')
-rw-r--r-- | petascope/build.xml | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/petascope/build.xml b/petascope/build.xml new file mode 100644 index 0000000..20a0191 --- /dev/null +++ b/petascope/build.xml @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * This file is part of PetaScope. + * + * PetaScope is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * PetaScope is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with PetaScope. If not, see "http://www.gnu.org/licenses/". + * + * For more information please see "http://www.PetaScope.org" + * or contact Peter Baumann via <baumann@rasdaman.com>. + * + * Copyright 2009 Jacobs University Bremen, Peter Baumann. +--> + +<!-- 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="PetaScope" default="default" basedir="."> + <description>Builds, tests, and runs the project PetaScope.</description> + <import file="nbproject/build-impl.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-dist: called before archive building + -post-dist: called after archive building + -post-clean: called after cleaning build products + -pre-run-deploy: called before deploying + -post-run-deploy: called after deploying + + Example of pluging an obfuscator after the compilation could look like + + <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. + + + Other way how to customize the build is by overriding existing main targets. + The target 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 + do-dist: archive building + run: execution of project + javadoc-build: javadoc generation + + Example of overriding the target for project execution could look like + + <target name="run" depends="<PROJNAME>-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </target> + + Notice that overridden target depends on jar target and not only on + compile target as regular run target does. Again, for list of available + properties which you can use check the target you are overriding in + nbproject/build-impl.xml file. + + --> + + <!-- Builds the complete jar file --> + <target name="jar" depends="dist"> + <jar basedir="${basedir}/build/web/WEB-INF/classes/" file="dist/petascope.jar" /> + </target> + + <path id="antlr.path"> + <pathelement location="${basedir}/lib/antlrworks-1.3.1.jar" /> + </path> + + <!-- Antlr is called here to generate wcpsLexer.java and wcpsParser.java from wcps.g--> + <target name="antlr" depends="init"> + <java classname="org.antlr.Tool" classpathref="antlr.path"> + <arg value="${src.java.dir}/petascope/wcps/grammar/wcps.g" /> + <arg value="-Xmx350m" /> + <arg value="-Xms100m" /> + </java> + <echo message="Successfully generated the WCPS grammar parser !" /> + </target> + + <!-- Antlr is called here to generate wcpsLexer.java and wcpsParser.java from + wcps.g, using debugging classes and symbols--> + <target name="antlr-debug" depends="init"> + <java classname="org.antlr.Tool" classpathref="antlr.path"> + <arg value="${src.java.dir}/petascope/wcps/grammar/wcps.g" /> + <arg value="-debug" /> + <arg value="-Xmx350m" /> + <arg value="-Xms100m" /> + </java> + <echo message="Successfully generated the WCPS grammar parser !" /> + </target> + + <!-- Assuming the grammar has changed, run the ANTLR grammar generation task + and then build the resulting jar file. --> + <target name="antlr-jar" depends="antlr, jar" /> + <target name="antlr-jar-debug" depends="antlr-debug, jar" /> + + <!--target name="-pre-compile" depends="antlr" /--> + +</project> |