<?xml version="1.0"?>

<project name="octopus" default="jar">
	<!-- some properties -->
	<property name="dist.dir" value="dist" />
	<property name="build.top.dir" value="build" />
	<property name="docs.top.dir" value="docs" />
	<property name="target.jdk" value="1.4" />

	<!-- init -->
	<target name="init">
		<mkdir dir="${dist.dir}" />
		<mkdir dir="${docs.top.dir}" />
		<mkdir dir="${build.top.dir}" />

		<mkdir dir="${build.octopus.dir}" />
		<mkdir dir="${docs.octopus.dir}" />
		
		<mkdir dir="${build.octopus-generator.dir}" />
		<mkdir dir="${docs.octopus-generator.dir}" />
		
		<mkdir dir="${build.octopus-task.dir}" />
		<mkdir dir="${docs.octopus-task.dir}" />
		
		<mkdir dir="${build.octopus-test.dir}" />
		<mkdir dir="${docs.octopus-test.dir}" />
		
		<mkdir dir="${build.csvjdbc.dir}" />
		<mkdir dir="${docs.csvjdbc.dir}" />
		
		<mkdir dir="${build.xmljdbc.dir}" />
		<mkdir dir="${docs.xmljdbc.dir}" />
		
		<mkdir dir="${build.log4jlogger.dir}" />
		<mkdir dir="${docs.log4jlogger.dir}" />

		<mkdir dir="${build.i18njdbc.dir}" />
		<mkdir dir="${docs.i18njdbc.dir}" />
		
		<mkdir dir="${build.xmlutil.dir}" />
		<mkdir dir="${docs.xmlutil.dir}" />
	</target>	


	<!-- jar all -->
	<target name="jar-all" 
		depends="jar-octopus, jar-xmlutil, jar-octopus-generator, jar-octopus-task, jar-octopus-test, jar-xmlutil, jar-csvjdbc, jar-xmljdbc, jar-log4jlogger, jar-i18njdbc" />

	<!-- docs all -->
	<target name="docs-all"
		depends="docs-octopus, docs-xmlutil, docs-octopus-generator, docs-octopus-task, docs-octopus-test, docs-xmlutil, docs-csvjdbc, docs-xmljdbc, docs-log4jlogger, docs-i18njdbc" />

	<!-- sourcezip all -->
	<target name="sourcezip-all"
		depends="sourcezip-octopus, sourcezip-xmlutil, sourcezip-octopus-generator, sourcezip-octopus-task, sourcezip-octopus-test, sourcezip-xmlutil, sourcezip-csvjdbc, sourcezip-xmljdbc, sourcezip-log4jlogger, sourcezip-i18njdbc" />
	
	
	<!-- ############## -->
	<!-- Octopus module -->
	<!-- ############## -->
	<property name="build.octopus.dir" value="build/Octopus" />
	<property name="docs.octopus.dir" value="docs/Octopus" />
	<property name="src.octopus.dir" value="Octopus" />
	<property name="jar.octopus" value="${dist.dir}/Octopus.jar" />

	<!-- compile everything -->
	<target name="compile-octopus" depends="init">
		<javac srcdir="${src.octopus.dir}/src" 
			destdir="${build.octopus.dir}"
			source="${target.jdk}"
			target="${target.jdk}" />

		<copy todir="${build.octopus.dir}">
			<fileset dir="${src.octopus.dir}/xmls" />
		</copy>
	</target>

	<!-- build the jar file -->
	<target name="jar-octopus" depends="compile-octopus">
		<jar jarfile="${jar.octopus}" basedir="${build.octopus.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-octopus" depends="init">
		<javadoc sourcepath="${src.octopus.dir}/src"
			packagenames="org.*"
           		destdir="${docs.octopus.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API" />
	</target>

       <!-- zip Octopus sources -->
        <target name="sourcezip-octopus">
		<zip destfile="${dist.dir}/Octopus-src.zip">
			<zipfileset dir="${src.octopus.dir}/src" />
                </zip>
        </target>



	<!-- ############## -->
	<!-- xmlutil module -->
	<!-- ############## -->
	<property name="build.xmlutil.dir" value="build/XMLutil" />
	<property name="docs.xmlutil.dir" value="docs/XMLutil" />
	<property name="src.xmlutil.dir" value="XMLutil" />
	<property name="jar.xmlutil" value="${dist.dir}/xmlutil.jar" />

	<!-- compile everything -->
	<target name="compile-xmlutil" depends="init">
		<javac srcdir="${src.xmlutil.dir}/src/src" 
			destdir="${build.xmlutil.dir}"
			source="${target.jdk}"
			target="${target.jdk}" />
	</target>

	<!-- build the jar file -->
	<target name="jar-xmlutil" depends="compile-xmlutil">
		<jar jarfile="${jar.xmlutil}" basedir="${build.xmlutil.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-xmlutil" depends="init">
		<javadoc sourcepath="${src.xmlutil.dir}/src/src"
			packagenames="org.*"
           		destdir="${docs.xmlutil.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API" />
	</target>

       <!-- zip xmlutil sources -->
        <target name="sourcezip-xmlutil">
		<zip destfile="${dist.dir}/XMLutil-src.zip">
			<zipfileset dir="${src.xmlutil.dir}/src/src" />
                </zip>
        </target>


	
	<!-- ####################### -->
	<!-- OctopusGenerator module -->
	<!-- ####################### -->
	<property name="build.octopus-generator.dir" value="build/OctopusGenerator" />
	<property name="docs.octopus-generator.dir" value="docs/OctopusGenerator" />
	<property name="src.octopus-generator.dir" value="OctopusGenerator" />
	<property name="jar.octopus-generator" value="${dist.dir}/OctopusGenerator.jar" />

	<!-- compile everything -->
	<target name="compile-octopus-generator" depends="init, jar-xmlutil, jar-octopus">
		<javac srcdir="${src.octopus-generator.dir}/src" 
			destdir="${build.octopus-generator.dir}"
			source="${target.jdk}"
			target="${target.jdk}">
			<classpath>
				<pathelement path="${jar.octopus}" />
				<pathelement path="${jar.xmlutil}" />
			</classpath>
		</javac>
		
		<copy todir="${build.octopus-generator.dir}">
			<fileset dir="${src.octopus-generator.dir}/src">
				<exclude name="**/*.java" />
			</fileset>
		</copy>
	</target>

	<!-- build the jar file -->
	<target name="jar-octopus-generator" depends="compile-octopus-generator">
		<jar jarfile="${jar.octopus-generator}" basedir="${build.octopus-generator.dir}">
			<manifest>
				<attribute name="Main-Class" value="org.webdocwf.util.loader.wizard.WizardFrame" />
			</manifest>
		</jar>
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-octopus-generator" depends="init, jar-xmlutil, jar-octopus">
		<javadoc sourcepath="${src.octopus-generator.dir}/src"
			packagenames="org.*"
           		destdir="${docs.octopus-generator.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API">
			<classpath>
				<pathelement path="${jar.octopus}" />
				<pathelement path="${jar.xmlutil}" />
			</classpath>
		</javadoc>
	</target>
	
       <!-- zip OctopusGenerator sources -->
        <target name="sourcezip-octopus-generator">
		<zip destfile="${dist.dir}/OctopusGenerator-src.zip">
			<zipfileset dir="${src.octopus-generator.dir}/src" />
                </zip>
        </target>

	

	
	
	<!-- ################### -->
	<!-- OctopusTasks module -->
	<!-- ################### -->
	<property name="build.octopus-task.dir" value="build/OctopusTask" />
	<property name="docs.octopus-task.dir" value="docs/OctopusTask" />
	<property name="src.octopus-task.dir" value="OctopusTask" />
	<property name="jar.octopus-task" value="${dist.dir}/OctopusTask.jar" />

	<!-- compile everything -->
	<target name="compile-octopus-task" depends="init">
		<javac srcdir="${src.octopus-task.dir}/src" 
			destdir="${build.octopus-task.dir}"
			source="${target.jdk}"
			target="${target.jdk}" />
	</target>
	
	<!-- build the jar file -->
	<target name="jar-octopus-task" depends="compile-octopus-task">
		<jar jarfile="${jar.octopus-task}" basedir="${build.octopus-task.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-octopus-task" depends="init">
		<javadoc sourcepath="${src.octopus-task.dir}/src"
			packagenames="org.*"
           		destdir="${docs.octopus-task.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API" />
	</target>
	
       <!-- zip OctopusTask sources -->
        <target name="sourcezip-octopus-task">
		<zip destfile="${dist.dir}/OctopusTask-src.zip">
			<zipfileset dir="${src.octopus-task.dir}/src" />
                </zip>
        </target>
	
	
	
	<!-- ################## -->
	<!-- OctopusTest module -->
	<!-- ################## -->
	<property name="build.octopus-test.dir" value="build/OctopusTest" />
	<property name="docs.octopus-test.dir" value="docs/OctopusTest" />
	<property name="src.octopus-test.dir" value="OctopusTest" />
	<property name="jar.octopus-test" value="${dist.dir}/OctopusTest.jar" />

	<!-- compile everything -->
	<target name="compile-octopus-test" depends="init, jar-octopus">
		<javac srcdir="${src.octopus-test.dir}/src" 
			destdir="${build.octopus-test.dir}"
			source="${target.jdk}"
			target="${target.jdk}">
			<classpath>
				<pathelement path="${jar.octopus}" />
			</classpath>
		</javac>
	</target>

	<!-- build the jar file -->
	<target name="jar-octopus-test" depends="compile-octopus-test">
		<jar jarfile="${jar.octopus-test}" basedir="${build.octopus-test.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-octopus-test" depends="init, jar-octopus">
		<javadoc sourcepath="${src.octopus-test.dir}/src"
			packagenames="org.*"
           		destdir="${docs.octopus-test.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API">
			<classpath>
				<pathelement path="${jar.octopus}" />
			</classpath>
		</javadoc>
	</target>

       <!-- zip OctopusTest sources -->
        <target name="sourcezip-octopus-test">
		<zip destfile="${dist.dir}/OctopusTest-src.zip">
			<zipfileset dir="${src.octopus-test.dir}/src" />
                </zip>
        </target>
	

	
	
	<!-- ############## -->
	<!-- Csvjdbc module -->
	<!-- ############## -->
	<property name="build.csvjdbc.dir" value="build/Csvjdbc" />
	<property name="docs.csvjdbc.dir" value="docs/Csvjdbc" />
	<property name="src.csvjdbc.dir" value="Csvjdbc" />
	<property name="jar.csvjdbc" value="${dist.dir}/csvjdbc.jar" />

	<!-- compile everything -->
	<target name="compile-csvjdbc" depends="init">
		<javac srcdir="${src.csvjdbc.dir}/src/src/java" 
			destdir="${build.csvjdbc.dir}"
			source="${target.jdk}"
			target="${target.jdk}" />
	</target>

	<!-- build the jar file -->
	<target name="jar-csvjdbc" depends="compile-csvjdbc">
		<jar jarfile="${jar.csvjdbc}" basedir="${build.csvjdbc.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-csvjdbc" depends="init">
		<javadoc sourcepath="${src.csvjdbc.dir}/src/src/java"
			packagenames="org.*"
           		destdir="${docs.csvjdbc.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API" />
	</target>

       <!-- zip Csvjdbc sources -->
        <target name="sourcezip-csvjdbc">
		<zip destfile="${dist.dir}/Csvjdbc-src.zip">
			<zipfileset dir="${src.csvjdbc.dir}/src/src/java" />
                </zip>
        </target>




	<!-- ############## -->
	<!-- xmljdbc module -->
	<!-- ############## -->
	<property name="build.xmljdbc.dir" value="build/XMLjdbc" />
	<property name="docs.xmljdbc.dir" value="docs/XMLjdbc" />
	<property name="src.xmljdbc.dir" value="XMLjdbc" />
	<property name="jar.xmljdbc" value="${dist.dir}/xmljdbc.jar" />

	<!-- compile everything -->
	<target name="compile-xmljdbc" depends="init, jar-xmlutil">
		<javac srcdir="${src.xmljdbc.dir}/src/src" 
			destdir="${build.xmljdbc.dir}"
			source="${target.jdk}"
			target="${target.jdk}">
			<classpath>
				<pathelement path="${jar.xmlutil}" />
			</classpath>
		</javac>
	</target>

	<!-- build the jar file -->
	<target name="jar-xmljdbc" depends="compile-xmljdbc">
		<jar jarfile="${jar.xmljdbc}" basedir="${build.xmljdbc.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-xmljdbc" depends="init, jar-xmlutil">
		<javadoc sourcepath="${src.xmljdbc.dir}/src/src"
			packagenames="org.*"
           		destdir="${docs.xmljdbc.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API">
			<classpath>
				<pathelement path="${jar.xmlutil}" />
			</classpath>
		</javadoc>
	</target>

       <!-- zip XMLjdbc sources -->
        <target name="sourcezip-xmljdbc">
		<zip destfile="${dist.dir}/XMLjdbc-src.zip">
			<zipfileset dir="${src.xmljdbc.dir}/src" />
                </zip>
        </target>



	
	<!-- ################## -->
	<!-- Log4jlogger module -->
	<!-- ################## -->
	<property name="build.log4jlogger.dir" value="build/Log4jlogger" />
	<property name="docs.log4jlogger.dir" value="docs/Log4jlogger" />
	<property name="src.log4jlogger.dir" value="Log4jlogger" />
	<property name="jar.log4jlogger" value="${dist.dir}/Log4jlogger.jar" />

	<!-- compile everything -->
	<target name="compile-log4jlogger" depends="init, jar-octopus">
		<javac srcdir="${src.log4jlogger.dir}/src" 
			destdir="${build.log4jlogger.dir}"
			source="${target.jdk}"
			target="${target.jdk}">
			<classpath>
				<pathelement path="${jar.octopus}" />
			</classpath>
		</javac>
	</target>

	<!-- build the jar file -->
	<target name="jar-log4jlogger" depends="compile-log4jlogger">
		<jar jarfile="${jar.log4jlogger}" basedir="${build.log4jlogger.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-log4jlogger" depends="init, jar-octopus">
		<javadoc sourcepath="${src.log4jlogger.dir}/src"
			packagenames="org.*"
           		destdir="${docs.log4jlogger.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API">
			<classpath>
				<pathelement path="${jar.octopus}" />
			</classpath>
		</javadoc>
	</target>

       <!-- zip Log4jlogger sources -->
        <target name="sourcezip-log4jlogger">
		<zip destfile="${dist.dir}/Log4jlogger-src.zip">
			<zipfileset dir="${src.log4jlogger.dir}/src" />
                </zip>
        </target>




	<!-- ############### -->
	<!-- i18njdbc module -->
	<!-- ############### -->
	<property name="build.i18njdbc.dir" value="build/i18njdbc" />
	<property name="docs.i18njdbc.dir" value="docs/i18njdbc" />
	<property name="src.i18njdbc.dir" value="i18njdbc" />
	<property name="jar.i18njdbc" value="${dist.dir}/i18njdbc.jar" />

	<!-- compile everything -->
	<target name="compile-i18njdbc" depends="init">
		<javac srcdir="${src.i18njdbc.dir}/src" 
			destdir="${build.i18njdbc.dir}"
			source="${target.jdk}"
			target="${target.jdk}" />
	</target>

	<!-- build the jar file -->
	<target name="jar-i18njdbc" depends="compile-i18njdbc">
		<jar jarfile="${jar.i18njdbc}" basedir="${build.i18njdbc.dir}" />
	</target>
	
	<!-- generate javadocs -->
	<target name="docs-i18njdbc" depends="init">
		<javadoc sourcepath="${src.i18njdbc.dir}/src"
			packagenames="org.*"
           		destdir="${docs.i18njdbc.dir}"
			author="true"
			version="true"
			use="true"
			source="${target.jdk}"
           		windowtitle="${ant.project.name} API" />
	</target>

       <!-- zip Octopus sources -->
        <target name="sourcezip-i18njdbc">
		<zip destfile="${dist.dir}/i18njdbc-src.zip">
			<zipfileset dir="${src.i18njdbc.dir}/src" />
                </zip>
        </target>

	
	<!-- clean up -->
	<target name="clean">
		<delete dir="${build.top.dir}" />
		<delete dir="${docs.top.dir}" />
		<delete dir="${dist.dir}" />
	</target>
	

</project>