samples/visitor/11-cleanversion/build.xml
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 03 Apr 2020 16:32:36 +0200
changeset 416 9ed8788a1a4e
parent 172 bb543d116467
permissions -rw-r--r--
Using HTTPS to download the libraries
jtulach@169
     1
<?xml version="1.0" encoding="UTF-8"?>
jtulach@169
     2
<project name="Build Script" default="test" basedir=".">
jtulach@169
     3
    <target name="clean">
jtulach@169
     4
        <delete dir="build"/>
jtulach@169
     5
    </target>
jtulach@169
     6
    <target name="compile" depends="build"/>
jtulach@169
     7
    <target name="build" depends="-libraries">
jtulach@169
     8
        <antcall target="-build-one">
jtulach@169
     9
            <param name="version" value="api1.0"/>
jtulach@169
    10
        </antcall>
jtulach@169
    11
        <antcall target="-build-one">
jtulach@169
    12
            <param name="version" value="api2.0"/>
jtulach@169
    13
        </antcall>
jtulach@172
    14
        <antcall target="-build-one">
jtulach@172
    15
            <param name="version" value="api3.0"/>
jtulach@172
    16
        </antcall>
jtulach@169
    17
        <antcall target="-build-one">
jtulach@169
    18
            <param name="version" value="test"/>
jtulach@169
    19
            <param name="cp" value="build/api1.0/classes:${junit.jar}"/>
jtulach@169
    20
        </antcall>
jtulach@169
    21
        <antcall target="-build-one">
jtulach@169
    22
            <param name="version" value="test2.0"/>
jtulach@169
    23
            <param name="cp" value="build/api2.0/classes:build/test/classes:${junit.jar}"/>
jtulach@169
    24
        </antcall>
jtulach@172
    25
        <antcall target="-build-one">
jtulach@172
    26
            <param name="version" value="test3.0"/>
jtulach@172
    27
            <param name="cp" value="build/api3.0/classes:build/test/classes:${junit.jar}"/>
jtulach@172
    28
        </antcall>
jtulach@169
    29
    </target>
jtulach@169
    30
    <target name="test" depends="build">
jtulach@169
    31
        <echo level="info" message="PrintVisitor on old API. This should succeeds."/>
jtulach@169
    32
        <antcall target="-run-one">
jtulach@169
    33
            <param name="version" value="api1.0"/>
jtulach@169
    34
        </antcall>
jtulach@169
    35
        <echo level="info" message="PrintVisitor on old API. This would not compile, but it runs as it does not deal with minus at all."/>
jtulach@169
    36
        <antcall target="-run-one">
jtulach@169
    37
            <param name="version" value="api2.0"/>
jtulach@169
    38
        </antcall>
jtulach@172
    39
        <echo level="info" message="PrintVisitor on new API. This contains a test that fails."/>
jtulach@169
    40
        <antcall target="-run-one">
jtulach@169
    41
            <param name="test" value="test2.0"/>
jtulach@169
    42
            <param name="extra.cp" value="build/test/classes"/>
jtulach@169
    43
            <param name="version" value="api2.0"/>
jtulach@169
    44
        </antcall>
jtulach@172
    45
        <echo level="info" message="Using old Number with new visitors"/>
jtulach@172
    46
        <antcall target="-run-one">
jtulach@172
    47
            <param name="test" value="test3.0"/>
jtulach@172
    48
            <param name="extra.cp" value="build/test/classes"/>
jtulach@172
    49
            <param name="version" value="api3.0"/>
jtulach@172
    50
        </antcall>
jtulach@169
    51
    </target>
jtulach@169
    52
    
jtulach@169
    53
    <!-- support methods -->
jtulach@169
    54
    <target name="-libraries">
jtulach@169
    55
        <ant dir="../../libs/"/>
jtulach@169
    56
        <property name="junit.jar" location="../../libs/dist/junit-4.4.jar"/>
jtulach@169
    57
    </target>
jtulach@169
    58
    <target name="-run-one">
jtulach@169
    59
        <fail message="You need to specify API version number" unless="version"/>
jtulach@169
    60
        <property name="test" value="test"/>
jtulach@169
    61
        <mkdir dir="build/${test}results${version}"/>
jtulach@169
    62
        <junit dir="build/test/classes" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
jtulach@169
    63
            <batchtest todir="build/${test}results${version}">
jtulach@169
    64
                <fileset dir="build/${test}/classes">
jtulach@169
    65
                    <filename name="**/*Test.class"/>
jtulach@169
    66
                </fileset>
jtulach@169
    67
            </batchtest>
jtulach@169
    68
            <classpath>
jtulach@169
    69
                <path location="build/${version}/classes"/>
jtulach@169
    70
                <path location="build/${test}/classes"/>
jtulach@169
    71
                <path location="${junit.jar}"/>
jtulach@169
    72
                <path path="${extra.cp}"/>
jtulach@169
    73
            </classpath>
jtulach@265
    74
            <syspropertyset>
jtulach@265
    75
                <propertyref prefix="test-sys-prop."/>
jtulach@265
    76
                <mapper from="test-sys-prop.*" to="*" type="glob"/>
jtulach@265
    77
            </syspropertyset>
jtulach@169
    78
            <formatter type="brief" usefile="false"/>
jtulach@169
    79
            <formatter type="xml"/>
jtulach@169
    80
        </junit>
jtulach@169
    81
    </target>
jtulach@169
    82
    <target name="-build-one">
jtulach@169
    83
        <fail message="You need to specify version number" unless="version"/>
jtulach@169
    84
        <property name="cp" value=""/>
jtulach@169
    85
        <property name="out" value="${version}"/>
jtulach@169
    86
        <property name="failonerror" value="true"/>
jtulach@169
    87
        <mkdir dir="build/${out}/classes"/>
jtulach@169
    88
        <javac 
jtulach@169
    89
            srcdir="src-${version}" 
jtulach@169
    90
            destdir="build/${out}/classes" 
jtulach@169
    91
            source="1.5" target="1.5"
jtulach@169
    92
            classpath="${cp}"
jtulach@169
    93
            failonerror="${failonerror}"
jtulach@265
    94
            debug="true"
jtulach@169
    95
        />
jtulach@169
    96
    </target>
jtulach@169
    97
</project>