<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- $Id$ -->
<project default="compile" basedir=".">
	<property name="Name" value="Apache FOP - Embedding Examples"/>
	<property name="name" value="embedding"/>
	<!-- compiler switches -->
	<property name="debug" value="on"/>
	<property name="optimize" value="off"/>
	<property name="deprecation" value="on"/>
	<!-- directories -->
	<property name="src.dir" value="./java"/>
	<property name="fop.lib.dir" value="../../lib"/>
	<property name="lib.dir" value="./lib"/>
	<property name="build.dir" value="./build"/>
	<property name="build.src" value="./build/src"/>
	<property name="build.dest" value="./build/classes"/>
	<!-- stuff -->
	<path id="project.class.path">
     <fileset dir="${fop.lib.dir}">
        <include name="avalon-framework*.jar"/>
        <include name="batik*.jar"/>
        <include name="xml-apis*.jar"/>
        <include name="xerces*.jar"/>
        <include name="xalan*.jar"/>
        <include name="serializer*.jar"/>
        <include name="commons-io*.jar"/>
        <include name="commons-logging*.jar"/>
        <include name="xmlgraphics-commons*.jar"/>
     </fileset>
     <fileset dir="${fop.lib.dir}/../build">
		 <include name="fop.jar"/>
     </fileset>
	</path>
	<!-- =================================================================== -->
	<!-- Initialization target                                               -->
	<!-- =================================================================== -->
	<target name="init">
		<tstamp/>
		<property name="year" value="2002-2004,2006"/>
		<echo message="------------------- ${Name} [${year}] ----------------"/>
	</target>
	<!-- =================================================================== -->
	<!-- Prepares the build directory                                        -->
	<!-- =================================================================== -->
	<target name="prepare" depends="init">
		<!-- create directories -->
		<echo message="Preparing the build directories"/>
		<mkdir dir="${build.dir}"/>
		<mkdir dir="${build.dest}"/>
	</target>
	<!-- =================================================================== -->
	<!-- Compiles the source directory                                       -->
	<!-- =================================================================== -->
	<target name="compile" depends="prepare" description="Compiles the examples">
		<echo message="Compiling the sources"/>
		<javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}" deprecation="${deprecation}" optimize="${optimize}">
			<classpath refid="project.class.path"/>
		</javac>
	</target>
	<!-- =================================================================== -->
	<!-- Runs the various examples                                           -->
	<!-- =================================================================== -->
	<target name="example1" depends="compile" description="Runs the FO to PDF example">
		<echo message="Running the FO to PDF example"/>
		<java classname="${name}.ExampleFO2PDF" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example2" depends="compile" description="Runs the FO to PDF example using a SAXParser">
		<echo message="Running the FO to PDF example using a SAXParser"/>
		<java classname="${name}.ExampleFO2PDFUsingSAXParser" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example3" depends="compile" description="Runs the XML to FO example">
		<echo message="Running the XML to FO example"/>
		<java classname="${name}.ExampleXML2FO" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example4" depends="compile" description="Runs the XML to PDF example">
		<echo message="Running the XML to PDF example"/>
		<java classname="${name}.ExampleXML2PDF" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example5" depends="compile" description="Runs the Object to XML example">
		<echo message="Running the Object to XML example"/>
		<java classname="${name}.ExampleObj2XML" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example6" depends="compile" description="Runs the Object to PDF example">
		<echo message="Running the Object to PDF example"/>
		<java classname="${name}.ExampleObj2PDF" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example7" depends="compile" description="Runs the DOM to PDF example">
		<echo message="Running the DOM to PDF example"/>
		<java classname="${name}.ExampleDOM2PDF" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<target name="example8" depends="compile" description="Runs the SVG to PDF example">
		<echo message="Running the SVG to PDF example"/>
		<java classname="${name}.ExampleSVG2PDF" fork="yes">
		  <classpath>
		    <path refid="project.class.path"/>
		    <pathelement location="${build.dest}"/>
		  </classpath>
		</java>
	</target>
	<!-- =================================================================== -->
	<!-- Clean targets                                                       -->
	<!-- =================================================================== -->
	<target name="clean" depends="init" description="Cleans the build directory">
		<delete dir="${build.dir}"/>
	</target>
</project>
