xref: /aosp_15_r20/external/s2-geometry-library-java/build.xml (revision 608e00cb6fb903b02fd0af903766fe7954affbe4)
1*608e00cbSXin Li<project name="s2-geometry-java" default="compile">
2*608e00cbSXin Li
3*608e00cbSXin Li  <property name="src.dir"         value="${basedir}/src" />
4*608e00cbSXin Li  <property name="tests.dir"       value="${basedir}/tests" />
5*608e00cbSXin Li  <property name="lib.dir"         value="${basedir}/lib" />
6*608e00cbSXin Li  <property name="build.dir"       value="${basedir}/build" />
7*608e00cbSXin Li  <property name="classes.dir"     value="${build.dir}/classes" />
8*608e00cbSXin Li  <property name="project-jarfile"
9*608e00cbSXin Li            value="${build.dir}/${ant.project.name}.jar" />
10*608e00cbSXin Li  <property name="testClasses.dir" value="${build.dir}/test" />
11*608e00cbSXin Li
12*608e00cbSXin Li  <path id="classpath.path">
13*608e00cbSXin Li    <fileset dir="${lib.dir}">
14*608e00cbSXin Li      <include name="*.jar" />
15*608e00cbSXin Li    </fileset>
16*608e00cbSXin Li  </path>
17*608e00cbSXin Li
18*608e00cbSXin Li  <target name="clean"
19*608e00cbSXin Li          description="removes all generated files">
20*608e00cbSXin Li    <delete dir="${build.dir}" />
21*608e00cbSXin Li  </target>
22*608e00cbSXin Li
23*608e00cbSXin Li  <target name="compile"
24*608e00cbSXin Li          description="compiles Java files for the s2 library">
25*608e00cbSXin Li    <mkdir dir="${classes.dir}" />
26*608e00cbSXin Li    <javac srcdir="${src.dir}"
27*608e00cbSXin Li           destdir="${classes.dir}"
28*608e00cbSXin Li           includeAntRuntime="false"
29*608e00cbSXin Li           deprecation="on">
30*608e00cbSXin Li      <compilerarg value="-Werror" />
31*608e00cbSXin Li      <classpath refid="classpath.path" />
32*608e00cbSXin Li    </javac>
33*608e00cbSXin Li  </target>
34*608e00cbSXin Li
35*608e00cbSXin Li  <target name="jar"
36*608e00cbSXin Li          depends="compile"
37*608e00cbSXin Li          description="packages the class files as a jar">
38*608e00cbSXin Li    <jar destfile="${project-jarfile}" update="true">
39*608e00cbSXin Li      <fileset dir="${classes.dir}" />
40*608e00cbSXin Li    </jar>
41*608e00cbSXin Li  </target>
42*608e00cbSXin Li
43*608e00cbSXin Li  <target name="compile-tests"
44*608e00cbSXin Li          depends="compile"
45*608e00cbSXin Li          description="compile the JUnit tests">
46*608e00cbSXin Li    <mkdir dir="${testClasses.dir}" />
47*608e00cbSXin Li    <javac srcdir="${tests.dir}"
48*608e00cbSXin Li           destdir="${testClasses.dir}"
49*608e00cbSXin Li           deprecation="on">
50*608e00cbSXin Li      <compilerarg value="-Werror" />
51*608e00cbSXin Li      <classpath refid="classpath.path" />
52*608e00cbSXin Li      <classpath>
53*608e00cbSXin Li        <pathelement location="${classes.dir}" />
54*608e00cbSXin Li      </classpath>
55*608e00cbSXin Li    </javac>
56*608e00cbSXin Li  </target>
57*608e00cbSXin Li
58*608e00cbSXin Li  <macrodef name="testing">
59*608e00cbSXin Li    <attribute name="printsummary" default="off" />
60*608e00cbSXin Li    <attribute name="fork" default="off" />
61*608e00cbSXin Li    <attribute name="forkmode" default="perTest" />
62*608e00cbSXin Li    <sequential>
63*608e00cbSXin Li      <antcall target="compile-tests" />
64*608e00cbSXin Li      <junit printsummary="@{printsummary}"
65*608e00cbSXin Li             fork="@{fork}"
66*608e00cbSXin Li             forkmode="@{forkmode}"
67*608e00cbSXin Li             showoutput="true">
68*608e00cbSXin Li        <classpath refid="classpath.path" />
69*608e00cbSXin Li        <classpath>
70*608e00cbSXin Li          <pathelement location="${classes.dir}" />
71*608e00cbSXin Li          <pathelement location="${testClasses.dir}" />
72*608e00cbSXin Li        </classpath>
73*608e00cbSXin Li        <formatter type="plain" usefile="false" />
74*608e00cbSXin Li        <batchtest haltonfailure="true">
75*608e00cbSXin Li          <fileset dir="${testClasses.dir}">
76*608e00cbSXin Li            <include name="**/*Test.class" />
77*608e00cbSXin Li          </fileset>
78*608e00cbSXin Li        </batchtest>
79*608e00cbSXin Li      </junit>
80*608e00cbSXin Li    </sequential>
81*608e00cbSXin Li  </macrodef>
82*608e00cbSXin Li
83*608e00cbSXin Li  <target name="test"
84*608e00cbSXin Li          description="runs all of the tests">
85*608e00cbSXin Li    <testing printsummary="on" fork="on" forkmode="once" />
86*608e00cbSXin Li  </target>
87*608e00cbSXin Li
88*608e00cbSXin Li  <target name="test-forkless"
89*608e00cbSXin Li          description="runs all of the tests without forking the process">
90*608e00cbSXin Li    <testing />
91*608e00cbSXin Li  </target>
92*608e00cbSXin Li
93*608e00cbSXin Li  <target name="all"
94*608e00cbSXin Li          depends="compile,jar,compile-tests,test"
95*608e00cbSXin Li          description="build all deliverables for the project"
96*608e00cbSXin Li          />
97*608e00cbSXin Li
98*608e00cbSXin Li</project>
99