buildframework/helium/builder/java/macros.ant.xml
author wbernard
Tue, 27 Apr 2010 08:33:08 +0300
changeset 587 85df38eb4012
child 588 c7c26511138f
permissions -rw-r--r--
helium_9.0-a7879c935424
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
<?xml version="1.0"?>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
<!-- 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
============================================================================ 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
Name        : build.xml 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
Part of     : Helium AntLib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    21
============================================================================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    22
-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    23
<project name="build-macros" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:au="org.apache.ant.antunit"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    24
    xmlns:cs="antlib:com.puppycrawl.tools.checkstyle">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
    <import file="common.ant.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
    <path id="emma.classpath">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
        <fileset dir="${builder.dir}/antlibs">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
            <include name="**/*.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
    </path>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
    <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="emma.classpath"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
    <taskdef classpathref="emma.classpath" resource="emma_ant.properties" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
    <target name="clean">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
        <delete dir="${module.temp.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
    <target name="resolve">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
        <mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
        <ivy:settings file="${ivy.settings.dir}/ivysettings.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
        <!-- the call to resolve is not mandatory, retrieve makes an implicit call if we don't -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
        <ivy:resolve file="${ivy.file}" log="download-only"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
        <ivy:retrieve pattern="${lib.dir}/[artifact].[ext]" log="download-only"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
    <target name="report" depends="resolve" description="--> generates a report of dependencies">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
        <ivy:report todir="${build.dir}"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
    <target name="quality" depends="checkstyle" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
    <target name="checkstyle" depends="resolve">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
        <mkdir dir="${module.temp.dir}"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
        <echo>Running checkstyle on ${ant.project.name}.</echo>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
        <cs:checkstyle config="${builder.dir}/java/config/java_checkstyle_config.xml">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
            <classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
                <path refid="lib.path.id" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
                <pathelement location="${jar.file}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
                <pathelement location="${module.bin.dir}/${ant.project.name}.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
            </classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
            <fileset dir="${src.dir}" includes="**/*.java"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
            <formatter type="plain"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
            <formatter type="xml" toFile="${module.temp.dir}/checkstyle_errors.xml"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
        </cs:checkstyle>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
    <target name="compile" depends="resolve" description="--> compile the project">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
        <mkdir dir="${classes.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
        <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="lib.path.id" debug="true" source="1.6" target="1.6" listfiles="true"> 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
            <compilerarg value="-Xlint:unchecked" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
            <compilerarg value="-Xlint:deprecation" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
            <compilerarg value="-Werror" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
        </javac>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
    <target name="ivy-new-version"  unless="ivy.new.revision">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
        <!-- default module version prefix value 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
        <property name="module.version.prefix" value="${module.version.target}-dev-b" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
        -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82
        <!-- asks to ivy an available version number
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    83
        <ivy:info file="${ivy.file}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    84
        <ivy:buildnumber 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    85
            organisation="${ivy.organisation}" module="${ivy.module}" 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    86
            revision="${module.version.prefix}" defaultBuildNumber="1" revSep=""/> -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    87
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    88
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    89
    <target name="local-version">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    90
        <!--<tstamp>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    91
            <format property="now" pattern="yyyyMMddHHmmss"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    92
        </tstamp>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    93
        <property name="ivy.new.revision" value="${module.version.target}-local-${now}"/>-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    94
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    95
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    96
    <target name="version" depends="ivy-new-version">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    97
        <!-- create version file in classpath for later inclusion in jar 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    98
        <mkdir dir="${classes.dir}"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    99
        <echo message="version=${ivy.new.revision}" file="${classes.dir}/${ant.project.name}.properties" append="false" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   100
-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   101
        <!-- load generated version properties file 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   102
        <property file="${classes.dir}/${ant.project.name}.properties" />-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   103
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   104
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   105
    <target name="package" depends="local-version,version,compile" description="--> make a jar file for this project">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   106
        <delete dir="${module.bin.dir}"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   107
        <mkdir dir="${module.bin.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   108
        <jar destfile="${module.bin.dir}/${ant.project.name}.jar">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   109
            <fileset dir="${classes.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   110
            <fileset dir="${src.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   111
                <exclude name="**/distribution.policy.S60" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   112
                <exclude name="**/*.java" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   113
            </fileset>                
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   114
            <manifest>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   115
                <section name="common">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   116
                    <attribute name="Implementation-Title" value="${ant.project.name}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   117
                    <attribute name="Implementation-Vendor" value="Nokia" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   118
                </section>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   119
            </manifest>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   120
        </jar>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   121
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   122
        <!--copy file="${module.bin.dir}/${ant.project.name}.jar" todir="${bin.dir}" /-->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   123
        <!--
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   124
        <mkdir dir="${bin.dir}/com.nokia.helium/${ant.project.name}/${version}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   125
        <copy file="${bin.dir}/com.nokia.helium/${ant.project.name}/${version}/${ant.project.name}.jar" todir="${module.bin.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   126
        [organisation]/[module]/[color]/[revision]/[artifact].[ext] 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   127
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   128
        pubrevision="${version}"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   129
        pubdate="${now}"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   130
        -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   131
        <ivy:publish artifactspattern="${module.bin.dir}/[artifact].[ext]" 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   132
                        resolver="local"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   133
                        status="integration"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   134
                        forcedeliver="true"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   135
                        pubrevision="1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   136
                        overwrite="true"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   137
        />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   138
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   139
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   140
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   141
    <target name="test" depends="junit,antunit"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   142
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   143
    <target name="junit">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   144
        <mkdir dir="${build.temp.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   145
        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   146
            <available type="dir" file="${basedir}/tests/src"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   147
            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   148
                <echo>JUnit test module ${ant.project.name}</echo>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   149
                <delete dir="${module.temp.dir}/junit_classes"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   150
                <delete>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   151
                    <fileset dir="${module.temp.dir}" includes="**/*_junit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   152
                    <fileset dir="${module.temp.dir}" includes="backup/*.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   153
                </delete>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   154
                <mkdir dir="${module.temp.dir}/junit_classes" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   155
                <javac srcdir="${basedir}/tests/src" destdir="${module.temp.dir}/junit_classes" debug="true"> 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   156
                    <classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   157
                        <fileset dir="${module.temp.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   158
                            <include name="**/*.jar"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   159
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   160
                    </classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   161
                    <include name="**/*.java" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   162
                </javac>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   163
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   164
                <mkdir dir="${module.temp.dir}/backup" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   165
                <copy file="${jar.file}" todir="${module.temp.dir}/backup/" overwrite="true"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   166
                <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   167
                    <instr destdir="${module.temp.dir}/backup/" metadatafile="${module.temp.dir}/metadata_junit.emma" merge="true" mode="overwrite">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   168
                        <instrpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   169
                            <fileset dir="${module.temp.dir}/backup/" includes="${ant.project.name}.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   170
                        </instrpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   171
                    </instr>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   172
                </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   173
                
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   174
                <mkdir dir="${junit.result.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   175
                <delete file="${module.temp.dir}/coverage.emma" failonerror="false" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   176
                <junit fork="yes" printsummary="yes" haltonfailure="yes">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   177
                    <formatter type="brief" usefile="false"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   178
                    <formatter type="xml" usefile="true"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   179
                    <jvmarg value="-Demma.coverage.out.file=${module.temp.dir}/coverage_junit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   180
                    <jvmarg value="-Demma.coverage.out.merge=true" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   181
                    <jvmarg value="-Dtestdir=${basedir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   182
                    <classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   183
                        <fileset dir="${module.temp.dir}/backup/">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   184
                            <include name="**/*.jar"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   185
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   186
                        <fileset dir="${lib.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   187
                            <include name="**/*.jar"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   188
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   189
                        <fileset dir="${builder.dir}/antlibs">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   190
                            <include name="**/*.jar"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   191
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   192
                        <pathelement path="${module.temp.dir}/junit_classes" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   193
                        <fileset dir="${ant.home}/lib">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   194
                            <include name="**/*.jar"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   195
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   196
                    </classpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   197
                    <batchtest fork="yes" todir="${junit.result.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   198
                        <fileset dir="${basedir}/tests/src">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   199
                            <include name="**/*Test*.java"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   200
                        </fileset>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   201
                    </batchtest>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   202
                </junit>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   203
                <delete dir="${module.temp.dir}/backup/" failonerror="false" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   204
                
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   205
                <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   206
                    <report sourcepath="${src.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   207
                        <infileset dir="${module.temp.dir}" includes="*_junit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   208
                        <txt outfile="${module.temp.dir}/coverage.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   209
                        <html outfile="${module.temp.dir}/coverage.html" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   210
                        <xml outfile="${module.temp.dir}/coverage.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   211
                    </report>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   212
                </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   213
                <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   214
                    <available file="${module.temp.dir}/coverage.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   215
                    <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   216
                        <loadfile property="message" srcFile="${module.temp.dir}/coverage.txt"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   217
                        <echo message="${message}"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   218
                    </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   219
                </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   220
            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   221
        </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   222
        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   223
            <resourcecount count="0" when="gt">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   224
                <fileset dir="${components.temp.dir}/" includes="*/*.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   225
            </resourcecount>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   226
            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   227
                <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   228
                    <report sourcepath="${src.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   229
                        <infileset dir="${components.temp.dir}/" includes="*/*.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   230
                        <txt outfile="${build.temp.dir}/coverage.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   231
                        <html outfile="${build.temp.dir}/coverage.html" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   232
                        <xml outfile="${build.temp.dir}/coverage.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   233
                    </report>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   234
                </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   235
            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   236
        </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   237
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   238
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   239
    <target name="antunit">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   240
        <mkdir dir="${build.temp.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   241
        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   242
            <available type="dir" file="${basedir}/tests"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   243
            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   244
                <trycatch property="antunitModule.error">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   245
                    <try>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   246
                        <!-- Temporarly replacing the jar file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   247
                             with an instrumented one to do the 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   248
                             actual coverage measurment
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   249
                         -->
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   250
                        <mkdir dir="${module.temp.dir}/backup" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   251
                        <delete>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   252
                            <fileset dir="${module.temp.dir}" includes="**/*_antunit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   253
                        </delete>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   254
                        <copy file="${jar.file}" todir="${module.temp.dir}/backup/" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   255
                        <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   256
                            <instr destdir="${module.temp.dir}/backup/" metadatafile="${module.temp.dir}/metadata_antunit.emma" merge="true" mode="overwrite">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   257
                                <instrpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   258
                                    <fileset dir="${module.temp.dir}/backup/" includes="${ant.project.name}.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   259
                                </instrpath>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   260
                            </instr>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   261
                        </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   262
                        <exec osfamily="windows" executable="cmd" dir="${basedir}/tests" failonerror="true">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   263
                            <env key="ANT_ARGS" value="-lib ${lib.dir} -lib ${module.temp.dir}/backup/${ant.project.name}.jar -lib ${builder.dir}/antlibs" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   264
                            <arg line="/c build.bat unittest -Dbuilder.dir=${builder.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   265
                        </exec>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   266
                        <exec osfamily="unix" executable="./bld.sh" dir="${basedir}/tests" failonerror="true">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   267
                            <env key="ANT_ARGS" value="-lib ${lib.dir} -lib ${module.temp.dir}/backup/${ant.project.name}.jar -lib ${builder.dir}/antlibs" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   268
                            <arg line="unittest -Dbuilder.dir=${builder.dir}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   269
                        </exec>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   270
                        <move todir="${module.temp.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   271
                            <fileset dir="${basedir}/tests" includes="**/coverage.ec" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   272
                            <chainedmapper>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   273
                                <filtermapper>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   274
                                    <replacestring from="/" to="_" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   275
                                    <replacestring from="\" to="_" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   276
                                </filtermapper>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   277
                                <regexpmapper from="^(.*)\.ec$$" to="\1_antunit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   278
                            </chainedmapper>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   279
                        </move>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   280
                        <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   281
                            <report sourcepath="${src.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   282
                                <infileset dir="${module.temp.dir}/" includes="*_antunit.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   283
                                <txt outfile="${module.temp.dir}/coverage_antunit.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   284
                                <html outfile="${module.temp.dir}/coverage_antunit.html" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   285
                                <xml outfile="${module.temp.dir}/coverage_antunit.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   286
                            </report>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   287
                        </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   288
                        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   289
                            <available file="${module.temp.dir}/coverage_antunit.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   290
                            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   291
                                <loadfile property="message" srcFile="${module.temp.dir}/coverage_antunit.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   292
                                <echo message="${message}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   293
                            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   294
                        </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   295
                    </try>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   296
                    <catch>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   297
                        <fail message="${antunitModule.error}" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   298
                    </catch>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   299
                    <finally>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   300
                        <delete>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   301
                            <fileset dir="${module.temp.dir}" includes="backup/*.jar" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   302
                        </delete>                                
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   303
                    </finally>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   304
                </trycatch>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   305
            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   306
        </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   307
        <if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   308
            <resourcecount count="0" when="gt">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   309
                <fileset dir="${build.temp.dir}/" includes="*/*.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   310
            </resourcecount>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   311
            <then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   312
                <emma enabled="true" verbosity="quiet">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   313
                    <report sourcepath="${src.dir}">
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   314
                        <infileset dir="${components.temp.dir}/" includes="*/*.emma" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   315
                        <txt outfile="${build.temp.dir}/coverage.txt" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   316
                        <html outfile="${build.temp.dir}/coverage.html" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   317
                        <xml outfile="${build.temp.dir}/coverage.xml" />
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   318
                    </report>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   319
                </emma>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   320
            </then>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   321
        </if>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   322
    </target>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   323
    <target name="unittest" depends="antunit"/>
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   324
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   325
</project>