samples/composition/build.xml
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 09:58:11 +0200
changeset 154 0fd5e9c500b9
parent 153 b5cbb797ec0a
child 155 c00f947c0936
permissions -rw-r--r--
Merge: Geertjan's changs up to 2000
jtulach@15
     1
<?xml version="1.0" encoding="UTF-8"?>
jtulach@17
     2
<project name="Build Script" default="test" basedir=".">
jtulach@17
     3
    <target name="clean">
jtulach@17
     4
        <delete dir="build"/>
jtulach@17
     5
    </target>
jtulach@17
     6
    
jtulach@128
     7
    <target name="compile" depends="build"/>
jtulach@21
     8
    <target name="build" depends="-libraries">
jtulach@17
     9
        <antcall target="-build-one">
jtulach@17
    10
            <param name="version" value="api1.0"/>
jtulach@17
    11
        </antcall>
jtulach@17
    12
        <antcall target="-build-one">
jtulach@17
    13
            <param name="version" value="api2.0"/>
jtulach@17
    14
        </antcall>
jtulach@154
    15
        <antcall target="-build-one">
jtulach@154
    16
            <param name="version" value="api2.0-compat"/>
jtulach@154
    17
        </antcall>
jtulach@154
    18
        <antcall target="-build-one">
jtulach@154
    19
            <param name="version" value="api2.0-property"/>
jtulach@154
    20
        </antcall>
jtulach@154
    21
        <antcall target="-build-one">
jtulach@154
    22
            <param name="version" value="api2.0-enum"/>
jtulach@154
    23
        </antcall>
jtulach@17
    24
        
jtulach@17
    25
        <antcall target="-build-one">
jtulach@17
    26
            <param name="version" value="test"/>
jtulach@21
    27
            <param name="cp" value="build/api1.0/classes:${junit.jar}"/>
jtulach@17
    28
        </antcall>
jtulach@17
    29
    </target>
jtulach@17
    30
    
jtulach@17
    31
    <target name="test" depends="build">
jtulach@17
    32
        <echo level="info" message="Running the Implementation against Version 1.0 of the API. This should succeeds."/>
jtulach@17
    33
        <antcall target="-run-one">
jtulach@17
    34
            <param name="version" value="api1.0"/>
jtulach@17
    35
        </antcall>
jtulach@17
    36
        <echo level="info" message="Running the Implementation against Version 2.0 of the API. This should fail."/>
jtulach@17
    37
        <antcall target="-run-one">
jtulach@17
    38
            <param name="version" value="api2.0"/>
jtulach@17
    39
        </antcall>
jtulach@154
    40
        <echo level="info" message="Running the Implementation against Version 2.0 with compatible extension of the API. This should succeed."/>
jtulach@154
    41
        <antcall target="-run-one">
jtulach@154
    42
            <param name="version" value="api2.0-compat"/>
jtulach@154
    43
        </antcall>
jtulach@154
    44
        <echo level="info" message="Running the Implementation against Version 2.0 with property guarded extension of the API. This should succeed."/>
jtulach@154
    45
        <antcall target="-run-one">
jtulach@154
    46
            <param name="version" value="api2.0-property"/>
jtulach@154
    47
        </antcall>
jtulach@154
    48
        <echo level="info" message="Running the Implementation against Version 2.0 with enum guarded extension of the API. This should succeed."/>
jtulach@154
    49
        <antcall target="-run-one">
jtulach@154
    50
            <param name="version" value="api2.0-enum"/>
jtulach@154
    51
        </antcall>
jtulach@17
    52
    </target>
jtulach@17
    53
    
jtulach@17
    54
    <!-- support methods -->
jtulach@17
    55
    
jtulach@21
    56
    <target name="-libraries">
jtulach@21
    57
        <ant dir="../libs/"/>
jtulach@21
    58
        
jtulach@21
    59
        <property name="junit.jar" location="../libs/dist/junit-4.4.jar"/>
jtulach@21
    60
    </target>
jtulach@21
    61
    
jtulach@17
    62
    <target name="-run-one">
jtulach@17
    63
        <fail message="You need to specify API version number" unless="version"/>
jtulach@19
    64
        <mkdir dir="build/testresults"/>
jtulach@19
    65
        <junit dir="build/test/classes" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
jtulach@19
    66
            <batchtest todir="build/testresults">
jtulach@19
    67
                <fileset dir="build/test/classes">
jtulach@19
    68
                    <filename name="**/*Test.class"/>
jtulach@19
    69
                </fileset>
jtulach@19
    70
            </batchtest>
jtulach@19
    71
            <classpath>
jtulach@19
    72
                <path location="build/${version}/classes"/>
jtulach@19
    73
                <path location="build/test/classes"/>
jtulach@21
    74
                <path location="${junit.jar}"/>
jtulach@19
    75
            </classpath>
jtulach@19
    76
            <formatter type="brief" usefile="false"/>
jtulach@19
    77
            <formatter type="xml"/>
jtulach@19
    78
        </junit>
jtulach@17
    79
    </target>
jtulach@17
    80
    
jtulach@17
    81
    <target name="-build-one">
jtulach@17
    82
        <fail message="You need to specify version number" unless="version"/>
jtulach@17
    83
        
jtulach@17
    84
        <mkdir dir="build/${version}/classes"/>
jtulach@17
    85
        <property name="cp" value=""/>
jtulach@17
    86
        <javac 
jtulach@17
    87
            srcdir="src-${version}" 
jtulach@17
    88
            destdir="build/${version}/classes" 
jtulach@17
    89
            source="1.5" target="1.5"
jtulach@17
    90
            classpath="${cp}"
jtulach@17
    91
        />
jtulach@17
    92
    </target>
jtulach@15
    93
</project>