source: core/java/build.xml @ 219d7fd

Last change on this file since 219d7fd was 219d7fd, checked in by zzz <zzz@…>, 9 years ago

fix ElGamalTest? compile; fix jbigi.jar path to speed up the test

  • Property mode set to 100644
File size: 5.9 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project basedir="." default="all" name="i2p_sdk">
3    <target name="all" depends="clean, build" />
4    <target name="build" depends="builddep, jar" />
5    <target name="builddep">
6        <!-- noop, since the core doesnt depend on anything -->
7    </target>
8    <condition property="depend.available">
9        <typefound name="depend" />
10    </condition>
11    <target name="depend" if="depend.available">
12        <depend
13            cache="../../build"
14            srcdir="./src" 
15            destdir="./build/obj" >
16        </depend>
17    </target>
18    <!-- only used if not set by a higher build.xml -->
19    <property name="javac.compilerargs" value="" />
20    <property name="javac.classpath" value="" />
21    <target name="compile" depends="depend">
22        <mkdir dir="./build" />
23        <mkdir dir="./build/obj" />
24        <javac srcdir="./src" debug="true" source="1.5" target="1.5" deprecation="on"
25               includeAntRuntime="false"
26               destdir="./build/obj" classpath="${javac.classpath}" >
27            <compilerarg line="${javac.compilerargs}" />
28        </javac>
29    </target>
30
31    <target name="compileTest">
32        <mkdir dir="./build" />
33        <mkdir dir="./build/obj" />
34        <!-- junit classes are in ant runtime -->
35        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on"
36               includeAntRuntime="true"
37               destdir="./build/obj" >
38            <compilerarg line="${javac.compilerargs}" />
39        </javac>
40    </target>
41
42    <target name="jar" depends="compile, jarUpToDate" unless="jar.uptodate" >
43        <exec executable="mtn" outputproperty="workspace.changes" errorproperty="mtn.error2" failifexecutionfails="false" >
44            <arg value="list" />
45            <arg value="changed" />
46            <arg value="." />
47        </exec>
48        <!-- \n in an attribute value generates an invalid manifest -->
49        <exec executable="tr" inputstring="${workspace.changes}" outputproperty="workspace.changes.tr" errorproperty="mtn.error2" failifexecutionfails="false" >
50            <arg value="-s" />
51            <arg value="[:space:]" />
52            <arg value="," />
53        </exec>
54        <jar destfile="./build/i2p.jar" basedir="./build/obj" includes="**/*.class" >
55            <manifest>
56                <attribute name="Build-Date" value="${build.timestamp}" />
57                <attribute name="Base-Revision" value="${workspace.version}" />
58                <attribute name="Workspace-Changes" value="${workspace.changes.tr}" />
59            </manifest>
60        </jar>
61    </target>
62
63    <target name="jarUpToDate" >
64        <uptodate property="jar.uptodate" targetfile="build/i2p.jar" >
65            <srcfiles dir= "build/obj" includes="**/*.class" />
66        </uptodate>
67    </target>
68
69    <target name="jarTest" depends="compileTest">
70        <jar destfile="./build/i2ptest.jar" basedir="./build/obj" includes="**/*.class" />
71    </target>
72    <target name="javadoc">
73        <mkdir dir="./build" />
74        <mkdir dir="./build/javadoc" />
75        <javadoc sourcepath="./src:./test" destdir="./build/javadoc" packagenames="*" use="true" splitindex="true" windowtitle="I2P SDK" />
76    </target>
77    <target name="prepareTest" depends="compileTest" if="with.cobertura">
78        <taskdef classpath="${with.cobertura}" resource="tasks.properties" onerror="report" />
79        <mkdir dir="./build/obj_test" />
80        <cobertura-instrument todir="./build/obj_test">
81            <fileset dir="./build/obj">
82                <include name="**/*.class"/>
83                <exclude name="**/*Test.class" />
84            </fileset>
85        </cobertura-instrument>
86    </target>
87    <target name="test" depends="clean, compileTest, prepareTest">
88        <delete>
89            <fileset dir="../../reports/core/junit">
90                <include name="TEST-*.xml"/>
91            </fileset>
92        </delete>
93        <mkdir dir="../../reports/" />
94        <mkdir dir="../../reports/core/" />
95        <mkdir dir="../../reports/core/junit/" />
96        <junit printsummary="on" fork="yes" maxmemory="384m">
97            <sysproperty key="net.sourceforge.cobertura.datafile" file="./cobertura.ser" />
98            <classpath>
99                <pathelement path="${classpath}" />
100                <pathelement location="./build/obj_test" />
101                <pathelement location="./build/obj" />
102                <pathelement location="../../build/jbigi.jar" />
103                <pathelement location="${with.cobertura}" />
104            </classpath>
105            <batchtest todir="../../reports/core/junit/">
106                <fileset dir="./test/">
107                    <include name="**/*Test.java" />
108                    <exclude name="**/ElGamalAESEngineTest.java" />
109                    <exclude name="**/StructureTest.java" />
110                </fileset>
111            </batchtest>
112            <formatter type="xml"/>
113        </junit>
114    </target>
115    <target name="cobertura" depends="test" if="with.cobertura">
116        <mkdir dir="../../reports/core/cobertura" />
117        <cobertura-report format="xml" srcdir="./src" destdir="../../reports/core/cobertura" />
118        <delete file="./cobertura.ser" />
119    </target>
120    <target name="junit.report">
121        <junitreport todir="../../reports/core/junit">
122            <fileset dir="../../reports/core/junit">
123                <include name="TEST-*.xml"/>
124            </fileset>
125            <report format="frames" todir="../../reports/core/html/junit"/>
126        </junitreport>
127    </target>
128    <target name="test.report" depends="junit.report"/>
129    <target name="fulltest" depends="test, junit.report" />
130    <target name="clean">
131        <delete dir="./build" />
132    </target>
133    <target name="cleandep" depends="clean">
134        <!-- noop, since the core doesn't depend on anything -->
135    </target>
136    <target name="distclean" depends="clean">
137        <!-- noop, since the core doesn't depend on anything -->
138    </target>
139</project>
Note: See TracBrowser for help on using the repository browser.