Commits

yanchuan sim committed c4038d8

ant build file

  • Participants
  • Parent commits fcdf440

Comments (0)

Files changed (1)

+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project name="yc-config" basedir="." default="jar">
+	<property name="name" value="yc-config" />
+	<property name="version" value="0.2" />
+	
+	<property name="src.dir" value="src" />
+	<property name="bin.dir" value="bin" />
+	<property name="lib.dir" value="externals" />
+	<property name="javadoc.dir" value="javadoc" />
+	
+	<path id="classpath">
+		<fileset dir="${lib.dir}" includes="**/*.jar" />
+	</path>
+	
+	<target name="clean" description="Removes the bin and javadoc folders.">
+		<delete dir="${bin.dir}" />
+		<delete dir="${javadoc.dir}" />
+		<delete file="${name}-${version}-javadoc.jar" />
+		<delete file="${name}-${version}.jar" />
+		<delete file="${name}-${version}.tar.gz" />
+	</target>
+	
+	<target name="compile" description="Compiles Java classes.">
+		<mkdir dir="${bin.dir}" />
+		<javac srcdir="${src.dir}" destdir="${bin.dir}" classpathref="classpath" includeantruntime="false" />
+	</target>
+	
+	<target name="javadoc" description="Build Javadocs.">
+		<javadoc destdir="${javadoc.dir}" overview="${src.dir}/overview.html" access="protected" author="true" windowtitle="Javadoc for ${name} v${version}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.7" splitindex="true" use="true" version="true">
+			<doctitle>Overview ${name} v${version}</doctitle>
+			<packageset dir="${src.dir}" />
+			<classpath refid="classpath" />
+			<link href="http://download.oracle.com/javase/7/docs/api/"/>
+			<link href="http://www.martiansoftware.com/jsap/doc/javadoc/"/>
+			<bottom><![CDATA[${name} v${version} is licensed under the Lesser GNU Public License. A copy of this license is available at <a href="http://www.gnu.org/licenses/lgpl.html">http://www.gnu.org/licenses/lgpl.html</a>.]]></bottom>
+		</javadoc>
+	</target>
+	
+	<target name="jar-javadoc" depends="javadoc" description="Build JAR for Javadocs.">
+        <jar destfile="${basedir}/${name}-${version}-javadoc.jar" filesetmanifest="mergewithoutmain">
+            <manifest>
+        		<attribute name="Specification-Title" value="${name} Javadocs" />
+        		<attribute name="Specification-Version" value="${version}" />
+            	<attribute name="Created-By" value="${java.version} (${java.vendor})" />
+            </manifest>    	
+	       	<fileset dir="${basedir}" includes="${javadoc.dir}" />
+       	</jar>
+	</target>
+	
+    <target name="jar" depends="compile" description="Build JAR for source code and classes.">
+        <jar destfile="${basedir}/${name}-${version}.jar" filesetmanifest="mergewithoutmain">
+            <manifest>
+	    		<attribute name="Specification-Title" value="${name}" />
+            	<attribute name="Specification-Version" value="${version}" />
+                <attribute name="Main-Class" value="edu.cmu.cs.ark.yc.config.DemoApp" />
+            	<attribute name="Class-Path" value="." />
+            	<attribute name="Created-By" value="${java.version} (${java.vendor})" />
+            </manifest>
+        	<fileset dir="${basedir}/${bin.dir}" />
+            <zipfileset src="${lib.dir}/JSAP-2.1.jar" />
+        </jar>
+    </target>
+	
+	<target name="release" depends="jar-javadoc, jar" description="Build release Tarball.">
+		<tar destfile="${name}-${version}.tar.gz" compression="gzip">
+			<tarfileset dir="${basedir}">
+				<include name="README.md" />
+				<include name="${name}-${version}-javadoc.jar" />
+				<include name="${name}-${version}.jar" />
+			</tarfileset>
+			<!---
+			<tarfileset dir="${lib.dir}">
+				<include name="JSAP-2.1.jar" />
+			</tarfileset>
+			-->
+		</tar>
+	</target>
+</project>