<?xml version="1.0" encoding="UTF-8"?>
<project name="wikiwebserver" default="all" basedir=".">

	<description>
		This is the build script for Michael Gardiner's Online java applications.
	</description>

	<property file="../build.properties"/>

	<property environment="env"/>

	<property name="classes" value="${src.dir}"/>
	<property name="core.dir" value="${classes}/org/wikiwebserver/core"/>


	<property name="dist.core.filename" value="${classes}/WikiWebServerCore.jar"/>


	<path id="core.classpath">
		<fileset dir="${lib.dir}">
			<include name="**/*.jar"/>
			<include name="**/*.zip"/>
		</fileset>
	</path>



	<!-- TARGETS -->

	<!-- Default target does everything -->
	<target name="all" depends="everything" />

	<!-- Clean up everything -->
	<target name="clean" depends="clean-all"/>

	<target name="clean-all">
		<delete includeemptydirs="true">
    			<fileset dir="${classes}" includes="**/*.class"/>
    			<fileset dir="${classes}" includes="*.jar"/>
  		</delete>
	</target>




	<target name="compile-all">
		<javac destdir="${classes}" classpathref="core.classpath" encoding="UTF-8">
			<src path="${src.dir}"/>
			<include name="com/**/*.java"/>
			<include name="org/**/*.java"/>
			<include name="page/**/*.java"/>
			<exclude name="com/googleoids/**/*.java"/>
			<exclude name="com/jfilerecovery/**/*.java"/>
		</javac>
		<javac destdir="${classes}" source="1.5" target="1.5" encoding="UTF-8">
			<src path="${src.dir}"/>
			<include name="com/googleoids/**/*.java"/>
			<include name="com/jfilerecovery/**/*.java"/>
		</javac>
	</target>

	<target name="jar-all">
		<jar destfile="${classes}/${core.name}.jar">
			<fileset dir="${src.dir}" includes="org/wikiwebserver/core/**/*.class"/>
		</jar>
		<jar destfile="${classes}/${echo.name}.jar">
			<fileset dir="${src.dir}" includes="org/wikiwebserver/handler/echo/**/*.class"/>
		</jar>
		<jar destfile="${classes}/${http.name}.jar">
			<fileset dir="${src.dir}">
				<include name="org/wikiwebserver/handler/http/**/*.class"/>
				<include name="org/wikiwebserver/handler/http/**/*.properties"/>
				<exclude name="org/wikiwebserver/handler/http/example/*"/>
			</fileset>
		</jar>
		<jar destfile="${classes}/${iptocountry.name}.jar">
			<fileset dir="${src.dir}" includes="org/wikiwebserver/handler/iptocountry/**/*.class"/>
		</jar>
		<jar destfile="${classes}/${http.example.name}.jar">
			<fileset dir="${src.dir}">
				<include name="org/wikiwebserver/handler/http/example/**/*.class"/>
				<include name="org/wikiwebserver/handler/http/example/**/*.java"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${http.example.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="org.wikiwebserver.handler.http.example.ExampleHTTPServer"/>
    			</manifest>
		</jar>


		<jar destfile="${classes}/${jrsstray.name}.jar">
			<fileset dir="${src.dir}">
				<include name="com/jrsstray/*.class"/>
				<include name="com/jrsstray/*.properties"/>
				<include name="com/jrsstray/icons/*.png"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${jrsstray.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="com.jrsstray.JRSSTray"/>
    			</manifest>
		</jar>

		<jar destfile="${classes}/${googleoids.name}.jar">
			<fileset dir="${src.dir}">
				<include name="com/googleoids/*.class"/>
				<include name="com/googleoids/*.au"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${googleoids.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="com.googleoids.Googleoids"/>
    			</manifest>
		</jar>

		<jar destfile="${classes}/${jfilerecovery.name}.jar">
			<fileset dir="${src.dir}">
				<include name="com/jfilerecovery/*.class"/>
				<include name="com/jfilerecovery/swing/*.class"/>
				<include name="com/jfilerecovery/swing/icons/*.png"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${jfilerecovery.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="com.jfilerecovery.JFileRecovery"/>
    			</manifest>
		</jar>

		<jar destfile="${classes}/${jsitesync.name}.jar">
			<fileset dir="${src.dir}">
				<include name="org/wikiwebserver/sync/*.class"/>
				<include name="org/wikiwebserver/sync/gui/*.class"/>
				<include name="org/wikiwebserver/sync/gui/icons/*.png"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${jsitesync.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="org.wikiwebserver.sync.gui.JSiteSync"/>
    			</manifest>
		</jar>

		<jar destfile="${classes}/${mydisknode.name}.jar">
			<fileset dir="${src.dir}">
				<include name="org/wikiwebserver/distribute/**/*.class"/>
				<exclude name="org/wikiwebserver/distribute/server/*.class"/>
				<include name="org/wikiwebserver/distribute/se/*.xml"/>
				<include name="org/wikiwebserver/distribute/se/icons/*.png"/>
			</fileset>
			<manifest>
      				<attribute name="Built-By" value="${user.name}"/>
      				<attribute name="Implementation-Vendor" value="${imp.vendor}"/>
      				<attribute name="Implementation-Title" value="${mydisknode.name}"/>
      				<attribute name="Implementation-Version" value="${imp.version}"/>
				<attribute name="Main-Class" value="org.wikiwebserver.distribute.se.RemoteWorkerApp"/>
    			</manifest>
		</jar>

	</target>

	<target name="sign-all">
		<signjar jar="${classes}/${core.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${http.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${http.example.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${echo.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${iptocountry.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${jsitesync.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${jfilerecovery.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${jrsstray.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
		<signjar jar="${classes}/${mydisknode.name}.jar" keystore="${store}" alias="${store.alias}" storepass="${store.pass}"/>
	</target>

	<target name="everything" description="build wikiwebserver core jar file">
		<antcall target="clean-all"/>
		<antcall target="compile-all"/>
		<antcall target="jar-all"/>
		<antcall target="sign-all"/>
	</target>


</project>