335 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			335 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0"?>
 | |
| 
 | |
| <project default="compile" basedir=".">
 | |
| 
 | |
|   <!-- defaults -->
 | |
|   <property name="build.deprecation" value="off" />
 | |
|   <property name="build.debug" value="off" />
 | |
| 
 | |
|   <!-- import local build options -->
 | |
|   <property file="build.properties" />
 | |
| 
 | |
|   <!-- import current version string -->
 | |
|   <property file="VERSION" />
 | |
| 
 | |
|   <!-- the base location to put build targets -->
 | |
|   <property name="build.dir" value="build" />
 | |
|   <!-- where to put compiled class files -->
 | |
|   <property name="build.dest" value="${build.dir}/classes" />
 | |
|   <!-- where to put generated jar files -->
 | |
|   <property name="build.lib.dest" value="${build.dir}/lib" />
 | |
|   <!-- where to put generated javadocs -->
 | |
|   <property name="javadoc.dest" value="${build.dir}/doc" />
 | |
|   <!-- where to find the java source -->
 | |
|   <property name="build.src" value="src" />
 | |
| 
 | |
|   <!-- where to find external jar files -->
 | |
|   <property name="lib.dir" value="lib" />
 | |
| 
 | |
|   <!-- where the unit tests reside -->
 | |
|   <property name="test.dir" value="test" />
 | |
|   <property name="test.reports" value="${test.dir}/reports" />
 | |
| 
 | |
|   <!-- PREPARE targets -->
 | |
| 
 | |
|   <target name="prepare-env">
 | |
|     <!-- see if the 'test' directory exists -->
 | |
|     <available file="${test.dir}" type="dir" property="test.present" />
 | |
| 
 | |
|     <!-- set the standard classpath -->
 | |
|     <path id="project.classpath">
 | |
|       <pathelement location="${build.dest}" />
 | |
|       <fileset dir="${lib.dir}" includes="*.jar,*.zip" />
 | |
|     </path>
 | |
|     <property name="project.classpath" refid="project.classpath" />
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <target name="prepare-src" depends="prepare-env">
 | |
|     <mkdir dir="${build.dest}" />
 | |
|     <mkdir dir="${build.lib.dest}" />
 | |
|   </target>
 | |
| 
 | |
|   <target name="prepare-test" depends="prepare-src" if="test.present">
 | |
|     <mkdir dir="${test.dir}/${build.dest}" />
 | |
|     <mkdir dir="${test.reports}" />
 | |
| 
 | |
|     <path id="test.classpath">
 | |
|       <pathelement location="${test.dir}/${build.dest}" />
 | |
|       <pathelement path="${project.classpath}" />
 | |
|       <fileset dir="${test.dir}/${lib.dir}" includes="*jar,*.zip" />
 | |
|     </path>
 | |
|     <property name="test.classpath" refid="test.classpath" />
 | |
|   </target>
 | |
| 
 | |
|   <!-- BUILD targets -->
 | |
| 
 | |
|   <target name="dnsjava">
 | |
| 
 | |
|     <javac srcdir="dnsjava"
 | |
|            destdir="${build.dest}"
 | |
|            deprecation="${build.deprecation}"
 | |
|            debug="${build.debug}"
 | |
|            target="1.4"
 | |
|            source="1.4"
 | |
|            includes="org/xbill/DNS/" />
 | |
|     <jar destfile="${build.lib.dest}/dnsjava-unbound.jar"
 | |
|          basedir="${build.dest}"
 | |
|          includes="org/xbill/DNS/" />
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <target name="unbound-proto" depends="prepare-src, dnsjava" >
 | |
|     <javac srcdir="${build.src}"
 | |
|            destdir="${build.dest}"
 | |
|            deprecation="${build.deprecation}"
 | |
|            debug="${build.debug}"
 | |
|            target="1.4"
 | |
|            source="1.4"
 | |
|            classpathref="project.classpath"
 | |
|            includes="se/rfc/unbound/" />
 | |
|   </target>
 | |
|   
 | |
|   <target name="unbound-proto-jar" depends="unbound-proto">
 | |
|     <jar jarfile="${build.lib.dest}/unbound-prototype.jar"
 | |
|          basedir="${build.dest}"
 | |
|          includes="se/rfc/unbound/" />
 | |
|          
 | |
|   </target>
 | |
| 
 | |
| 
 | |
|   <!-- DOC targets -->
 | |
| 
 | |
|   <target name="javadoc-unbound-proto" depends="prepare-src">
 | |
|     <mkdir dir="${javadoc.dest}" />
 | |
|     <javadoc packagenames="se.rfc.unbound.*"
 | |
|              sourcepath="${build.src}"
 | |
|              overview=""
 | |
|              classpath="${project.classpath}"
 | |
|              destdir="${javadoc.dest}"
 | |
|              verbose="false"
 | |
|              version="true"
 | |
|              author="true"
 | |
|              use="true"
 | |
|              windowtitle="Unbound Prototype API Documentation">
 | |
|     </javadoc>
 | |
|   </target>
 | |
| 
 | |
|   <!-- TEST targets -->
 | |
|   <target name="build-tests" depends="prepare-test, unbound-proto"
 | |
|           if="test.present">
 | |
|     <javac srcdir="${test.dir}/${build.src}"
 | |
|            destdir="${test.dir}/${build.dest}"
 | |
|            deprecation="${build.deprecation}"
 | |
|            debug="${build.debug}"
 | |
|            target="1.4"
 | |
|            source="1.4"
 | |
|            classpathref="test.classpath"
 | |
|            includes="se/rfc/unbound/" />
 | |
|   </target>
 | |
| 
 | |
|   <target name="run-tests" depends="build-tests" if="test.present">
 | |
|     <junit printsummary="yes"
 | |
|            fork="yes"
 | |
|            dir="${test.dir}"
 | |
|            timeout="12000">
 | |
|       
 | |
|       <classpath>
 | |
|         <pathelement path="${test.classpath}" />
 | |
|       </classpath>
 | |
|       
 | |
|       <formatter type="plain" />
 | |
| 
 | |
|       <batchtest todir="${test.reports}">
 | |
|         <fileset dir="${test.dir}/${build.dest}">
 | |
|           <include name="se/rfc/unbound/**/*Test.class" />
 | |
|         </fileset>
 | |
|       </batchtest>
 | |
|     </junit>
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <!-- DIST targets -->
 | |
| 
 | |
|   <property name="unbound-proto-distname" 
 | |
|             value="unbound-prototype-${version}" />
 | |
| 
 | |
|   <target name="unbound-proto-dist"
 | |
|           depends="compile">
 | |
| 
 | |
|     <tar tarfile="${unbound-proto-distname}.tar.gz"
 | |
|          compression="gzip">
 | |
|       <tarfileset mode="755"
 | |
|                   dir="."
 | |
|                   prefix="${unbound-proto-distname}">
 | |
|         <include name="bin/*.sh" />
 | |
|         <exclude name="bin/_*.sh" />
 | |
|       </tarfileset>
 | |
| 
 | |
|       <tarfileset dir="."
 | |
|                   prefix="${unbound-proto-distname}">
 | |
|         <include name="lib/*.jar" />
 | |
|         <include name="etc/*.properties" />
 | |
|         <include name="etc/named.ca" />
 | |
|         <include name="etc/trust_anchors" />
 | |
|         <include name="etc/*_trust_anchors" />
 | |
|         <include name="VERSION" />
 | |
|         <include name="README" />
 | |
|         <include name="licenses/**" />
 | |
|         <exclude name="bin/**" />
 | |
|       </tarfileset>
 | |
| 
 | |
|       <tarfileset dir="${build.lib.dest}"
 | |
|                   prefix="${unbound-proto-distname}/lib">
 | |
|         <include name="*.jar" />
 | |
|       </tarfileset>
 | |
|     </tar>
 | |
|   </target>
 | |
| 
 | |
|   <target name="unbound-proto-src-dist">
 | |
| 
 | |
|     <tar tarfile="${unbound-proto-distname}-src.tar.gz"
 | |
|          compression="gzip">
 | |
| 
 | |
|       <tarfileset mode="755"
 | |
|                   dir="."
 | |
|                   prefix="${unbound-proto-distname}">
 | |
|         <include name="bin/*.sh" />
 | |
|       </tarfileset>
 | |
| 
 | |
|       <tarfileset dir="."
 | |
|                   prefix="${unbound-proto-distname}">
 | |
|         <include name="src/**/*.java" />
 | |
|         <include name="dnsjava/**" />
 | |
|         <include name="lib/*.jar" />
 | |
|         <include name="etc/*.properties" />
 | |
|         <include name="etc/named.ca" />
 | |
|         <include name="etc/trust_anchors" />
 | |
|         <include name="licenses/**" />
 | |
|         <include name="VERSION" />
 | |
|         <include name="README" />
 | |
|         <include name="build.xml" />
 | |
|         <exclude name="bin/**" />
 | |
|       </tarfileset>
 | |
|     </tar>
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <target name="sign-dist" 
 | |
|           depends="unbound-proto-dist, unbound-proto-src-dist">
 | |
|     <exec executable="gpg">
 | |
|       <arg value="-a" />
 | |
|       <arg value="-s" />
 | |
|       <arg value="--detach-sig" />
 | |
|       <arg path="${unbound-proto-distname}.tar.gz" />
 | |
|     </exec>
 | |
|     <exec executable="gpg">
 | |
|       <arg value="-a" />
 | |
|       <arg value="-s" />
 | |
|       <arg value="--detach-sig" />
 | |
|       <arg path="${unbound-proto-distname}-src.tar.gz" />
 | |
|     </exec>
 | |
|     
 | |
|   </target>
 | |
| 
 | |
|   <target name="flatten-jar-libs">
 | |
| 
 | |
|     <mkdir dir="${build.dir}/jar" />
 | |
| 
 | |
|     <unjar dest="${build.dir}/jar/">
 | |
|       <fileset dir="lib" includes="*.jar" />
 | |
|     </unjar>
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <target name="unbound-resolver-jar" depends="compile, flatten-jar-libs">
 | |
|     
 | |
|     <!-- this attempts to make a single runnable jar file for the
 | |
|          validating iterative resolver version of this project -->
 | |
|     
 | |
|     <jar destfile="unbound-resolver.jar">
 | |
|       <fileset dir="${build.dest}"
 | |
|                includes="se/rfc/unbound/,org/xbill/DNS/" />
 | |
|       <fileset dir="${build.dir}/jar"
 | |
|                includes="**" />
 | |
|       <manifest>
 | |
|         <attribute name="Main-Class" value="se.rfc.unbound.server.Server" />
 | |
|       </manifest>
 | |
|     </jar>
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <target name="unbound-digtest-jar" depends="compile, flatten-jar-libs">
 | |
| 
 | |
|     <jar destfile="unbound-digtest.jar">
 | |
|       <fileset dir="${build.dest}"
 | |
|                includes="se/rfc/unbound/,org/xbill/DNS/" />
 | |
|       <fileset dir="${build.dir}/jar"
 | |
|                includes="**" />
 | |
|       <manifest>
 | |
|         <attribute name="Main-Class" value="se.rfc.unbound.cl.DigTest" />
 | |
|       </manifest>
 | |
|     </jar>
 | |
| 
 | |
|   </target>
 | |
| 
 | |
|   <!-- CLEAN targets -->
 | |
| 
 | |
|   <target name="clean-unbound-proto" depends="prepare-env">
 | |
|     <delete dir="${build.dest}" />
 | |
|     <delete dir="${build.dir}/jar" />
 | |
|     <delete file="${build.lib.dest}/*.jar" />
 | |
|   </target>
 | |
| 
 | |
|   <target name="clean-unbound-tests" depends="prepare-env"
 | |
|           if="test.present">
 | |
|     <delete dir="${test.dir}/${build.dest}" />
 | |
|     <delete dir="${test.reports}" />
 | |
|   </target>
 | |
| 
 | |
|   <target name="clean-dist" depends="prepare-env">
 | |
|     <delete>
 | |
|       <fileset dir="." includes="*.tar.gz" />
 | |
|     </delete>
 | |
|   </target>
 | |
| 
 | |
| 
 | |
|   <!-- MASTER targets -->
 | |
|   <target name="compile"
 | |
|           depends="usage, unbound-proto-jar">
 | |
|   </target>
 | |
| 
 | |
|   <target name="docs"
 | |
|           depends="javadoc-unbound-proto">
 | |
|   </target>
 | |
| 
 | |
|   <target name="test"
 | |
|           depends="run-tests"
 | |
|           if="test.present">
 | |
|   </target>
 | |
| 
 | |
|   <target name="dist"
 | |
|           depends="usage, unbound-proto-dist, unbound-proto-src-dist">
 | |
|   </target>
 | |
| 
 | |
|   <target name="clean" 
 | |
|           depends="usage, clean-unbound-proto, clean-unbound-tests, clean-dist">
 | |
|   </target>
 | |
| 
 | |
|   <!-- USAGE target -->
 | |
|   <target name="usage" depends="prepare-env">
 | |
|     <echo message=" " />
 | |
|     <echo message="Unbound Prototype v. ${version} Build System" />
 | |
|     <echo message="--------------------------------------" />
 | |
|     <echo message="Available Targets:" />
 | |
|     <echo message="  compile (default) - compiles the source code" />
 | |
|     <echo message="  test              - run the unit tests" />
 | |
|     <echo message="  dist              - create the distribution files" />
 | |
|     <echo message="  clean             - delete class files" />
 | |
|     <echo message="  usage             - this help message" />
 | |
|     <echo message=" " />
 | |
|   </target>
 | |
| 
 | |
| </project>
 | |
| 
 |