Issue #2. Handle CNAME responses
[captive-validator.git] / build.xml
index 9723e53..9a3ca9e 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -4,14 +4,17 @@
 
   <property file="build.properties" />
   <property file="VERSION" />
-  
-  <property name="distname" value="dnssecreconciler-${version}" />
+
+  <property name="distname" value="dnssecvaltool-${version}" />
 
   <property name="build.dir" value="build" />
   <property name="build.dest" value="${build.dir}/classes" />
   <property name="build.lib.dest" value="${build.dir}/lib" />
   <property name="build.src" value="src" />
 
+  <property name="build.test.src" value="tests" />
+  <property name="build.test.dest" value="${build.dir}/tests/classes" />
+
   <property name="packages" value="com.verisignlabs.dnssec.*" />
   <property name="doc.dir" value="docs" />
   <property name="javadoc.dest" value="${doc.dir}/javadoc" />
   </path>
   <property name="project.classpath" refid="project.classpath" />
 
+  <!-- set the classpath for the unit tests -->
+  <path id="test.classpath">
+    <pathelement location="${build.dest}" />
+    <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
+    <path location="${build.test.dest}" />
+    <path location="${build.dest}" />
+    <path location="${build.test.src}/junit-3.8.1.jar" />
+  </path>
+
   <target name="prepare-src">
     <mkdir dir="${build.dest}" />
     <mkdir dir="${build.lib.dest}" />
   </target>
 
+  <target name="prepare-test">
+    <mkdir dir="${build.test.dest}" />
+  </target>
+
   <target name="compile" depends="prepare-src" >
-    <javac srcdir="${build.src}" 
+    <javac srcdir="${build.src}"
            destdir="${build.dest}"
            classpathref="project.classpath"
-           deprecation="true" 
+           deprecation="true"
+           includeantruntime="false"
            includes="com/verisign/" />
   </target>
 
   <target name="jar" depends="usage,compile">
 
-    <jar destfile="${build.lib.dest}/dnssecreconciler.jar">
+    <jar destfile="${build.lib.dest}/dnssecvaltool.jar">
       <zipfileset dir="${build.dest}" includes="**/*.class" />
 
-      <zipfileset src="${lib.dir}/dnsjava-2.0.8-vrsn-2.jar" />
+      <zipfileset src="${lib.dir}/dnsjava-2.1.9-vrsn-1.jar" />
       <zipfileset src="${lib.dir}/log4j-1.2.15.jar" />
-      <zipfileset dir="${lib.dir}" prefix="lib" includes="**/*.properties" />
       <manifest>
         <attribute name="Main-Class"
-                   value="com.verisign.cl.DNSSECReconciler" />
+                   value="com.verisign.cl.DNSSECValTool" />
       </manifest>
     </jar>
   </target>
 
   <target name="javadoc" depends="usage">
     <mkdir dir="${javadoc.dest}"/>
-    <javadoc packagenames="${packages}" 
+    <javadoc packagenames="${packages}"
              classpath="${project.classpath}"
-             sourcepath="${build.src}" 
+             sourcepath="${build.src}"
              destdir="${javadoc.dest}"
-             verbose="true" author="true" 
-             windowtitle="jdnssec-tools-${version}" 
+             verbose="true" author="true"
+             windowtitle="jdnssec-tools-${version}"
              use="true">
       <link href="http://java.sun.com/j2se/1.4.2/docs/api/" />
       <link href="http://www.xbill.org/dnsjava/doc/" />
     </javadoc>
   </target>
 
+  <target name="dist" depends="usage,jar">
+    <property name="dprefix" value="dnssecvaltool-${version}" />
+    <property name="tarfile" value="${dprefix}.tar.gz" />
+    <tar destfile="${tarfile}" compression="gzip">
+      <tarfileset dir="${build.lib.dest}" prefix="${dprefix}"
+                  includes="*.jar" />
+      <tarfileset dir="." prefix="${dprefix}" includes="README" />
+    </tar>
+  </target>
+
+  <target name="compile_tests" depends="prepare-test,compile">
+    <javac destdir="${build.test.dest}" debug="true"
+           classpathref="test.classpath"
+           includeantruntime="false"
+           target="1.4"
+           source="1.4">
+      <src path="${build.test.src}"/>
+    </javac>
+  </target>
+
+  <target name="test" depends="compile_tests">
+    <antcall target="_run_tests">
+      <param name="classpathref" value="tests.classpath" />
+    </antcall>
+  </target>
+
+  <target name="_run_tests">
+    <junit fork="yes" forkmode="perTest" dir="${basedir}"
+           haltonerror="on" haltonfailure="on"
+           includeantruntime="true">
+      <classpath>
+        <path location="${build.dest}" />
+        <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
+        <path location="${build.test.dest}" />
+        <path location="${build.dest}" />
+        <path location="${build.test.src}/junit-3.8.1.jar" />
+      </classpath>
+
+      <formatter type="plain" usefile="no" />
+
+      <test name="${testcase}" if="testcase" />
+
+      <batchtest unless="testcase">
+        <fileset dir="${build.test.dest}">
+          <include name="**/*Test.class" />
+        </fileset>
+      </batchtest>
+    </junit>
+  </target>
 
   <target name="clean" depends="usage">
     <delete dir="${build.dest}" />
 
   <target name="usage">
     <echo message=" " />
-    <echo message="DNSSECReconciler v. ${version} Build System" />
+    <echo message="DNSSECValTool v. ${version} Build System" />
     <echo message="--------------------------------" />
     <echo message="Available Targets:" />
     <echo message="  compile           - compiles the source code" />
   </target>
 
 </project>
-