<project name="JasperReports" default="compile" basedir=".">

	<!--
		Compiles the java source files of the library.
	-->
	<target name="compile">
		<mkdir dir="./classes"/> 
		<condition property="using.jdk.1.4">
			<equals arg1="${ant.java.version}" arg2="1.4"/>
		</condition>
		<javac srcdir="./src" destdir="./classes" debug="true" optimize="false" deprecation="false">
			<exclude name="**/JRPrintServiceExporter.java" unless="using.jdk.1.4"/>
			<exclude name="**/JRPrintServiceExporterParameter.java" unless="using.jdk.1.4"/>
			<classpath>
				<pathelement location="./classes"/>
				<fileset dir="./lib">
					<include name="**/*.jar"/>
				</fileset>
			</classpath>
		</javac>
		<copy todir="./classes/net/sf/jasperreports/engine/dtds">
			<fileset dir="./src/net/sf/jasperreports/engine/dtds"/>
		</copy>
		<copy todir="./classes/net/sf/jasperreports/engine/images">
			<fileset dir="./src/net/sf/jasperreports/engine/images"/>
		</copy>
		<copy todir="./classes/net/sf/jasperreports/view/images">
			<fileset dir="./src/net/sf/jasperreports/view/images"/>
		</copy>
	</target>

	<!--
		Builds the JasperReports JAR file.
	-->
	<target name="jar" depends="compile, applet">
		<mkdir dir="./dist"/> 
		<jar jarfile="./dist/jasperreports-0.6.1.jar">
			<fileset dir="./classes"/>
			<fileset dir="./">
				<include name="**/lgpl.txt"/>
				<include name="**/license.txt"/>
			</fileset>
		</jar>
	</target>

	<!--
		Builds the jasperreports-applet.jar file.
	-->
	<target name="applet" depends="compile">
		<jar jarfile="./dist/jasperreports-0.6.1-applet.jar">
			<fileset dir="./classes">
				<include name="**/net/sf/jasperreports/engine/JasperPrint.class"/>
				<include name="**/net/sf/jasperreports/engine/JasperPrintManager.class"/>
				<include name="**/net/sf/jasperreports/engine/JRAbstractExporter.class"/>
				<include name="**/net/sf/jasperreports/engine/JRAlignment.class"/>
				<include name="**/net/sf/jasperreports/engine/JRAnchor.class"/>
				<include name="**/net/sf/jasperreports/engine/JRDefaultFontProvider.class"/>
				<include name="**/net/sf/jasperreports/engine/JRElement.class"/>
				<include name="**/net/sf/jasperreports/engine/JREllipse.class"/>
				<include name="**/net/sf/jasperreports/engine/JRException.class"/>
				<include name="**/net/sf/jasperreports/engine/JRExporter.class"/>
				<include name="**/net/sf/jasperreports/engine/JRExporterParameter.class"/>
				<include name="**/net/sf/jasperreports/engine/JRExpression.class"/>
				<include name="**/net/sf/jasperreports/engine/JRExpressionChunk.class"/>
				<include name="**/net/sf/jasperreports/engine/JRFont.class"/>
				<include name="**/net/sf/jasperreports/engine/JRGraphicElement.class"/>
				<include name="**/net/sf/jasperreports/engine/JRHyperlink.class"/>
				<include name="**/net/sf/jasperreports/engine/JRImage.class"/>
				<include name="**/net/sf/jasperreports/engine/JRImageRenderer.class"/>
				<include name="**/net/sf/jasperreports/engine/JRLine.class"/>
				<include name="**/net/sf/jasperreports/engine/JRPrint*.class"/>
				<include name="**/net/sf/jasperreports/engine/JRRectangle.class"/>
				<include name="**/net/sf/jasperreports/engine/JRRenderable.class"/>
				<include name="**/net/sf/jasperreports/engine/JRReportFont.class"/>
				<include name="**/net/sf/jasperreports/engine/JRRuntimeException.class"/>
				<include name="**/net/sf/jasperreports/engine/JRStaticText.class"/>
				<include name="**/net/sf/jasperreports/engine/JRTextElement.class"/>
				<include name="**/net/sf/jasperreports/engine/JRTextField.class"/>
				<include name="**/net/sf/jasperreports/engine/base/JRBaseFont.class"/>
				<include name="**/net/sf/jasperreports/engine/base/JRBasePrintPage.class"/>
				<include name="**/net/sf/jasperreports/engine/base/JRBaseReportFont.class"/>
				<include name="**/net/sf/jasperreports/engine/design/JRDesignFont.class"/>
				<include name="**/net/sf/jasperreports/engine/design/JRDesignReportFont.class"/>
				<include name="**/net/sf/jasperreports/engine/export/JRExportProgressMonitor.class"/>
				<include name="**/net/sf/jasperreports/engine/export/JRGraphics2DExporter.class"/>
				<include name="**/net/sf/jasperreports/engine/export/JRGraphics2DExporterParameter.class"/>
				<include name="**/net/sf/jasperreports/engine/fill/JRTemplate*.class"/>
				<include name="**/net/sf/jasperreports/engine/print/JRPrinterAWT.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRGraphEnvInitializer.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRImageLoader.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRLoader.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRStringUtil.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRStyledText*.class"/>
				<include name="**/net/sf/jasperreports/engine/util/JRTextAttribute.class"/>
				<include name="**/net/sf/jasperreports/view/JasperViewer*.class"/>
				<include name="**/net/sf/jasperreports/view/JRSaveContributor.class"/>
				<include name="**/net/sf/jasperreports/view/JRHyperlinkListener.class"/>
				<include name="**/net/sf/jasperreports/view/JRViewer*.class"/>
				<include name="**/net/sf/jasperreports/view/images/*.GIF"/>
			</fileset>
		</jar>
	</target>

	<!--
		Deletes all the .class files.
	-->
	<target name="clean">
		<delete dir="./classes/net"/>
		<delete dir="./classes/org"/>
		<delete>
			<fileset dir="./dist" includes="**/*.jar"/>
		</delete>
	</target>

	<!--
		Compiles the library API documentation.
	-->
	<target name="docs" depends="compile">
		<delete dir="./docs/api/net"/>
		<delete>
			<fileset dir="./docs/api" includes="**/*.*" />
		</delete>
		<copy todir="./docs/dtds">
			<fileset dir="./src/net/sf/jasperreports/engine/dtds"/>
		</copy>
		<javadoc packagenames="net.sf.jasperreports.*, org.w3c.tools.codec.*"
				sourcepath="./src"
				destdir="./docs/api"
				author="true"
				version="true"
				use="true"
				windowtitle="JasperReports API"
				doctitle="&lt;h1&gt;JasperReports&lt;/h1&gt;"
				bottom="&lt;i&gt;Copyright &#169; 2001-2004 Teodor Danciu. All Rights Reserved.&lt;/i&gt;">
			<classpath>
				<fileset dir="./lib">
					<include name="**/*.jar"/>
				</fileset>
				<pathelement location="./classes"/>
			</classpath>
		</javadoc>
	</target>

</project>

