samples/friendpackage/build.xml
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
child 413 f11943a373a7
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
jtulach@1
     1
<?xml version="1.0" encoding="UTF-8"?>
jtulach@1
     2
<!-- You may freely edit this file. See commented blocks below for -->
jtulach@1
     3
<!-- some examples of how to customize the build. -->
jtulach@1
     4
<!-- (If you delete it and reopen the project it will be recreated.) -->
jtulach@1
     5
<project name="friendpackage" default="default" basedir=".">
jtulach@1
     6
    <description>Builds, tests, and runs the project friendpackage.</description>
jtulach@1
     7
    <import file="nbproject/build-impl.xml"/>
jtulach@1
     8
    <!--
jtulach@1
     9
jtulach@1
    10
    There exist several targets which are by default empty and which can be 
jtulach@1
    11
    used for execution of your tasks. These targets are usually executed 
jtulach@1
    12
    before and after some main targets. They are: 
jtulach@1
    13
jtulach@1
    14
      -pre-init:                 called before initialization of project properties
jtulach@1
    15
      -post-init:                called after initialization of project properties
jtulach@1
    16
      -pre-compile:              called before javac compilation
jtulach@1
    17
      -post-compile:             called after javac compilation
jtulach@1
    18
      -pre-compile-single:       called before javac compilation of single file
jtulach@1
    19
      -post-compile-single:      called after javac compilation of single file
jtulach@1
    20
      -pre-compile-test:         called before javac compilation of JUnit tests
jtulach@1
    21
      -post-compile-test:        called after javac compilation of JUnit tests
jtulach@1
    22
      -pre-compile-test-single:  called before javac compilation of single JUnit test
jtulach@1
    23
      -post-compile-test-single: called after javac compilation of single JUunit test
jtulach@1
    24
      -pre-jar:                  called before JAR building
jtulach@1
    25
      -post-jar:                 called after JAR building
jtulach@1
    26
      -post-clean:               called after cleaning build products
jtulach@1
    27
jtulach@1
    28
    (Targets beginning with '-' are not intended to be called on their own.)
jtulach@1
    29
jtulach@1
    30
    Example of inserting an obfuscator after compilation could look like this:
jtulach@1
    31
jtulach@1
    32
        <target name="-post-compile">
jtulach@1
    33
            <obfuscate>
jtulach@1
    34
                <fileset dir="${build.classes.dir}"/>
jtulach@1
    35
            </obfuscate>
jtulach@1
    36
        </target>
jtulach@1
    37
jtulach@1
    38
    For list of available properties check the imported 
jtulach@1
    39
    nbproject/build-impl.xml file. 
jtulach@1
    40
jtulach@1
    41
jtulach@1
    42
    Another way to customize the build is by overriding existing main targets.
jtulach@1
    43
    The targets of interest are: 
jtulach@1
    44
jtulach@1
    45
      -init-macrodef-javac:     defines macro for javac compilation
jtulach@1
    46
      -init-macrodef-junit:     defines macro for junit execution
jtulach@1
    47
      -init-macrodef-debug:     defines macro for class debugging
jtulach@1
    48
      -init-macrodef-java:      defines macro for class execution
jtulach@1
    49
      -do-jar-with-manifest:    JAR building (if you are using a manifest)
jtulach@1
    50
      -do-jar-without-manifest: JAR building (if you are not using a manifest)
jtulach@1
    51
      run:                      execution of project 
jtulach@1
    52
      -javadoc-build:           Javadoc generation
jtulach@1
    53
      test-report:              JUnit report generation
jtulach@1
    54
jtulach@1
    55
    An example of overriding the target for project execution could look like this:
jtulach@1
    56
jtulach@1
    57
        <target name="run" depends="friendpackage-impl.jar">
jtulach@1
    58
            <exec dir="bin" executable="launcher.exe">
jtulach@1
    59
                <arg file="${dist.jar}"/>
jtulach@1
    60
            </exec>
jtulach@1
    61
        </target>
jtulach@1
    62
jtulach@1
    63
    Notice that the overridden target depends on the jar target and not only on 
jtulach@1
    64
    the compile target as the regular run target does. Again, for a list of available 
jtulach@1
    65
    properties which you can use, check the target you are overriding in the
jtulach@1
    66
    nbproject/build-impl.xml file. 
jtulach@1
    67
jtulach@1
    68
    -->
jtulach@1
    69
</project>