Issue #2. Handle CNAME responses
[captive-validator.git] / build.xml
1 <?xml version="1.0"?>
2
3 <project default="jar" basedir=".">
4
5   <property file="build.properties" />
6   <property file="VERSION" />
7
8   <property name="distname" value="dnssecvaltool-${version}" />
9
10   <property name="build.dir" value="build" />
11   <property name="build.dest" value="${build.dir}/classes" />
12   <property name="build.lib.dest" value="${build.dir}/lib" />
13   <property name="build.src" value="src" />
14
15   <property name="build.test.src" value="tests" />
16   <property name="build.test.dest" value="${build.dir}/tests/classes" />
17
18   <property name="packages" value="com.verisignlabs.dnssec.*" />
19   <property name="doc.dir" value="docs" />
20   <property name="javadoc.dest" value="${doc.dir}/javadoc" />
21
22   <property name="lib.dir" value="lib" />
23
24   <!-- set the standard classpath -->
25   <path id="project.classpath">
26     <pathelement location="${build.dest}" />
27     <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
28   </path>
29   <property name="project.classpath" refid="project.classpath" />
30
31   <!-- set the classpath for the unit tests -->
32   <path id="test.classpath">
33     <pathelement location="${build.dest}" />
34     <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
35     <path location="${build.test.dest}" />
36     <path location="${build.dest}" />
37     <path location="${build.test.src}/junit-3.8.1.jar" />
38   </path>
39
40   <target name="prepare-src">
41     <mkdir dir="${build.dest}" />
42     <mkdir dir="${build.lib.dest}" />
43   </target>
44
45   <target name="prepare-test">
46     <mkdir dir="${build.test.dest}" />
47   </target>
48
49   <target name="compile" depends="prepare-src" >
50     <javac srcdir="${build.src}"
51            destdir="${build.dest}"
52            classpathref="project.classpath"
53            deprecation="true"
54            includeantruntime="false"
55            includes="com/verisign/" />
56   </target>
57
58   <target name="jar" depends="usage,compile">
59
60     <jar destfile="${build.lib.dest}/dnssecvaltool.jar">
61       <zipfileset dir="${build.dest}" includes="**/*.class" />
62
63       <zipfileset src="${lib.dir}/dnsjava-2.1.9-vrsn-1.jar" />
64       <zipfileset src="${lib.dir}/log4j-1.2.15.jar" />
65       <manifest>
66         <attribute name="Main-Class"
67                    value="com.verisign.cl.DNSSECValTool" />
68       </manifest>
69     </jar>
70   </target>
71
72   <target name="javadoc" depends="usage">
73     <mkdir dir="${javadoc.dest}"/>
74     <javadoc packagenames="${packages}"
75              classpath="${project.classpath}"
76              sourcepath="${build.src}"
77              destdir="${javadoc.dest}"
78              verbose="true" author="true"
79              windowtitle="jdnssec-tools-${version}"
80              use="true">
81       <link href="http://java.sun.com/j2se/1.4.2/docs/api/" />
82       <link href="http://www.xbill.org/dnsjava/doc/" />
83     </javadoc>
84   </target>
85
86   <target name="dist" depends="usage,jar">
87     <property name="dprefix" value="dnssecvaltool-${version}" />
88     <property name="tarfile" value="${dprefix}.tar.gz" />
89     <tar destfile="${tarfile}" compression="gzip">
90       <tarfileset dir="${build.lib.dest}" prefix="${dprefix}"
91                   includes="*.jar" />
92       <tarfileset dir="." prefix="${dprefix}" includes="README" />
93     </tar>
94   </target>
95
96   <target name="compile_tests" depends="prepare-test,compile">
97     <javac destdir="${build.test.dest}" debug="true"
98            classpathref="test.classpath"
99            includeantruntime="false"
100            target="1.4"
101            source="1.4">
102       <src path="${build.test.src}"/>
103     </javac>
104   </target>
105
106   <target name="test" depends="compile_tests">
107     <antcall target="_run_tests">
108       <param name="classpathref" value="tests.classpath" />
109     </antcall>
110   </target>
111
112   <target name="_run_tests">
113     <junit fork="yes" forkmode="perTest" dir="${basedir}"
114            haltonerror="on" haltonfailure="on"
115            includeantruntime="true">
116       <classpath>
117         <path location="${build.dest}" />
118         <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
119         <path location="${build.test.dest}" />
120         <path location="${build.dest}" />
121         <path location="${build.test.src}/junit-3.8.1.jar" />
122       </classpath>
123
124       <formatter type="plain" usefile="no" />
125
126       <test name="${testcase}" if="testcase" />
127
128       <batchtest unless="testcase">
129         <fileset dir="${build.test.dest}">
130           <include name="**/*Test.class" />
131         </fileset>
132       </batchtest>
133     </junit>
134   </target>
135
136   <target name="clean" depends="usage">
137     <delete dir="${build.dest}" />
138     <delete dir="${build.lib.dest}" />
139   </target>
140
141
142   <target name="usage">
143     <echo message=" " />
144     <echo message="DNSSECValTool v. ${version} Build System" />
145     <echo message="--------------------------------" />
146     <echo message="Available Targets:" />
147     <echo message="  compile           - compiles the source code" />
148     <echo message="  jar (default)     - compiles the source code, creates jar" />
149     <echo message="  javadoc           - create javadoc from source" />
150     <echo message="  clean             - delete class files" />
151     <echo message="  dist              - package it up" />
152     <echo message="  usage             - this help message" />
153     <echo message=" " />
154   </target>
155
156 </project>