<?xml version="1.0"?>

<!--

   Copyright 2004,2004 The Apache Software Foundation.

   Licensed 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.
   


 ===================================================================

   Master Build file for BSF

Notes:

   This is the build file for use with the Jakarta Ant build tool.

Optional additions:

    Rhino       -> http://www.mozilla.org/rhino/
    NetRexx     -> http://www2.hursley.ibm.com/netrexx/
    Jython      -> http://www.jython.org/
    Jacl        -> http://www.scriptics.com/java/
    Xalan       -> http://xml.apache.org/xalan/
    ASF (Win32) -> http://msdn.microsoft.com/scripting/ (currently unsupported)
    PerlScript  -> http://www.activestate.com/ (currently unsupported)
    BeanShell   -> http://www.beanshell.org/ (3rd party BSF engine)
    JRuby       -> http://www.jruby.org/ (3rd party BSF engine)
    JudoScript  -> http://www.judoscript.com/ (3rd party BSF engine)

Build Instructions:

   To build, run

     java org.apache.tools.ant.Main <target>

   on the directory where this file is located with the target you want.

Most useful targets:

 - compile    -> creates the "bsf.jar" package in "./build/lib" (default target)
 - samples    -> creates/compiles the samples into "./build/samples"
 - javadocs   -> creates the javadocs in "./build/javadocs"
 - build-site -> creates the website in "./docs"
 - bindist    -> creates the complete binary distribution in "./dist/"
 - srcdist    -> creates the complete src distribution in "./dist/"
 - dist       -> creates both the binary and the src distributions in "./dist/"
 - all        -> creates the binary and src distributions, and builds the site
 - clean      -> removes all the generated files and directories

Authors:
  Sam Ruby <rubys@us.ibm.com>
  Matthew J. Duftler <duftler@us.ibm.com>
  Victor J. Orlikowski <victor.j.orlikowski@alumni.duke.edu>
  Charles Murcko <cmurcko@us.ibm.com>
  Olivier Gruber <ogruber@us.ibm.com>

Copyright:
  Copyright (c) Apache Software Foundation 2004. All Rights Reserved

==================================================================== -->

<project name="BSF Build" default="compile" basedir=".">
	
	<import file="build-properties.xml" />

	<!-- =================================================================== -->
	<!-- Source files to be compiled                                         -->
	<!-- =================================================================== -->
	<patternset id="java.source.files">
		<!-- Optionally includes engines based on dependencies being present -->
		<include name="**/bsf/*.java" />
		<include name="**/util/**/*.java" />
		<include name="**/jacl/**" if="jacl.present" />
		<include name="**/javascript/**" if="rhino.present" />
		<include name="**/jython/**" if="jython.present" />
		<include name="**/netrexx/**" if="netrexx.present" />
		<include name="**/xslt/**" if="xalan.present" />
		<include name="**/test/**" if="junit.present" />
	</patternset>
	
	<path id="compile.classpath">
		<fileset dir="lib">
			<include name="*.jar" />
		</fileset>
		<pathelement location="${build.dest}" />
	</path>
	
	<path id="test.classpath">
		<path refid="compile.classpath"/>
		<pathelement location="${build.tests}"/>
	</path>
	
	<target name="init" depends="clean">
		<tstamp />


		<!-- ================================================================= -->
		<!-- Sets version and time/date specific values                        -->
		<!-- ================================================================= -->
		<filter token="RELEASE_DATE_TIME" value="${TODAY} / ${TSTAMP}" />
		<filter token="VERSION" value="${project.version}" />
	</target>

	<!-- =================================================================== -->
	<!-- Prepares the build directory                                        -->
	<!-- =================================================================== -->
	<target name="prepare" depends="init">
		<mkdir dir="${build.dir}" />

		<!-- ================================================================= -->
		<!-- Determines what optional components are available                 -->
		<!-- ================================================================= -->
		<available property="jacl.present" classname="tcl.lang.JACL" />
		
		<available property="jython.present" classname="org.python.util.jython" />
		
		<available property="netrexx.present" classname="netrexx.lang.Rexx" />
		
		<available property="rhino.present" classname="org.mozilla.javascript.Scriptable" />
		
		<available property="xalan.present" classname="org.apache.xalan.xslt.EnvironmentCheck" />
		
		<available property="junit.present" classname="junit.framework.TestCase" />
		
		<uptodate property="javac.notRequired" targetfile="${build.lib}/${project.name}.jar">
			<srcfiles dir="${src.dir}">
				<patternset refid="javac.source.files" />
			</srcfiles>
		</uptodate>
		
		<uptodate property="javadoc.required" targetfile="${build.lib}/${project.name}.jar">
			<srcfiles dir="${build.dir}" includes="**/*.html" />
		</uptodate>
		
		<antcall target="checkDependencies" />
	</target>

	<!-- =================================================================== -->
	<!-- Prepares the site build process                                     -->
	<!-- =================================================================== -->
	<target name="prepare-site" depends="init">
		<path id="anakia.classpath">
			<fileset dir="${basedir}/lib">
				<include name="*.jar" />
			</fileset>
		</path>
		
		<available property="AnakiaTask.present" classname="org.apache.velocity.anakia.AnakiaTask">
			<classpath refid="anakia.classpath" />
		</available>
		
		<antcall target="checkAnakiaTask" />
	</target>

	<!-- =================================================================== -->
	<!-- Warn the user about items not present, for whatever purpose.        -->
	<!-- =================================================================== -->
	<target name="checkJacl" unless="jacl.present">
		<echo message="Warning: Jacl dependencies were not resolved." />
	</target>
	<target name="checkJython" unless="jython.present">
		<echo message="Warning: Jython dependencies were not resolved." />
	</target>
	<target name="checkNetRexx" unless="netrexx.present">
		<echo message="Warning: NetRexx dependencies were not resolved." />
	</target>
	<target name="checkRhino" unless="rhino.present">
		<echo message="Warning: Rhino dependencies were not resolved." />
	</target>
	<target name="checkXalan" unless="xalan.present">
		<echo message="Warning: Xalan dependencies were not resolved." />
	</target>
	<target name="checkAnakiaTask" unless="AnakiaTask.present">
		<echo>
          Warning: AnakiaTask not present!
          Please ensure that velocity.jar is in your classpath.

          Documentation will not be generated.
    </echo>
	</target>
	<target name="checkJUnit" unless="junit.present">
		<echo message="Warning: JUnit dependencies were not resolved." />
	</target>
	
	<target name="checkDependencies" unless="javac.notRequired">
		<antcall target="checkJacl" />
		<antcall target="checkJython" />
		<antcall target="checkNetRexx" />
		<antcall target="checkRhino" />
		
		<antcall target="checkXalan" />
		<antcall target="checkJUnit" />
	</target>






	<!-- =================================================================== -->
	<!-- Compiles the source directory                                       -->
	<!-- =================================================================== -->
	<target name="compile" description="Compiles the BSF *.java files." depends="prepare">
		<mkdir dir="${build.dest}"/>
		<javac srcdir="${src.dir}" destdir="${build.dest}" debug="${project.debug}" deprecation="${project.deprecation}" source="${source.level}">
			<classpath>
				<fileset dir="lib">
					<include name="*.jar"/>
				</fileset>
			</classpath>
			<patternset refid="java.source.files"/>
		</javac>
	</target>

	<!-- ================================================================= -->
	<!-- Produces the jar file                                             -->
	<!-- ================================================================= -->
	<target name="jar" depends="compile" description="Produces the jar file and copies to ${build.lib}">
		<mkdir dir="${build.lib}" />
		<copy todir="${build.dest}">
			<fileset dir="${src.dir}">
				<include name="**/*.properties" />
			</fileset>
		</copy>
		
		<mkdir dir="${build.dest}/META-INF" />
		<copy todir="${build.dest}/META-INF">
			<fileset dir="${basedir}">
				<include name="**/LICENSE.txt" />
				<include name="**/NOTICE.txt" />
			</fileset>
		</copy>
		
		<jar jarfile="${build.lib}/${project.name}.jar" basedir="${build.dest}" />
		<uptodate property="javadoc.required" targetfile="${build.lib}/${project.name}.jar">
			<srcfiles dir="${build.dir}" includes="**/*.html" />
		</uptodate>
	</target>

	<!-- =================================================================== -->
	<!-- Compiles the samples                                                -->
	<!-- =================================================================== -->
	<target name="samples" description="Compiles the samples." depends="jar">
		<copy todir="${build.samples}">
			<fileset dir="${samples.dir}" />
		</copy>
		<javac srcdir="${build.samples.calc}" destdir="${build.samples.calc}" classpath="${build.lib}/${project.name}.jar" debug="${project.debug}" deprecation="${project.deprecation}" source="${source.level}" />
		<javac srcdir="${build.samples.jsplike}" destdir="${build.samples.jsplike}" classpath="${build.lib}/${project.name}.jar" debug="${project.debug}" deprecation="${project.deprecation}" source="${source.level}" />
		<javac srcdir="${build.samples.scriptedui}" destdir="${build.samples.scriptedui}" classpath="${build.lib}/${project.name}.jar" debug="${project.debug}" deprecation="${project.deprecation}" source="${source.level}" />
		<javac srcdir="${build.samples.xsl}" destdir="${build.samples.xsl}" classpath="${build.lib}/${project.name}.jar" debug="${project.debug}" deprecation="${project.deprecation}" source="${source.level}" />
	</target>

	<!-- =================================================================== -->
	<!-- Creates the API documentation                                       -->
	<!-- =================================================================== -->
	<target name="javadocs" description="Generates the API documentation." depends="compile">
		<mkdir dir="${build.javadocs}" />
		<!-- FIXME: Excluding some packages temporarily -->
		<javadoc packagenames="${packages}" failonerror="true" excludepackagenames="org.apache.bsf.engines.java, org.apache.bsf.engines.javaclass" destdir="${build.javadocs}" author="true" version="false" use="true" windowtitle="${project.fullName} API" doctitle="${project.fullName}" source="${source.level}">
			<classpath refid="compile.classpath" />
			<fileset dir="${src.dir}">
				<patternset refid="java.source.files"></patternset>
			</fileset>
		</javadoc>
	
	</target>

	<!-- =================================================================== -->
	<!-- Creates the website                                                 -->
	<!-- =================================================================== -->
	<target name="build-site" if="AnakiaTask.present" description="Generates the website." depends="prepare-site">
		<taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
			<classpath refid="anakia.classpath" />
		</taskdef>
		
		<anakia basedir="${site.src}" destdir="${site.dest}/" extension=".html" style="./site.vsl" projectFile="${site.projectFile}" excludes="**/stylesheets/** faq.xml" includes="**/*.xml" lastModifiedCheck="true" templatePath="${templ.path}" velocityPropertiesFile="${velocity.props}"/>

		
		<anakia basedir="${site.src}" destdir="${site.dest}/" extension=".html" style="./faq.vsl" projectFile="${site.projectFile}" includes="faq.xml" lastModifiedCheck="true" templatePath="${templ.path}" velocityPropertiesFile="${velocity.props}"/>

		
		<copy todir="${site.dest}/images" filtering="no">
			<fileset dir="${site.src}/images">
				<include name="**/*.gif" />
				<include name="**/*.jpeg" />
				<include name="**/*.jpg" />
			</fileset>
		</copy>
	</target>

	<!-- =================================================================== -->
	<!-- Creates the binary distribution                                     -->
	<!-- =================================================================== -->
	<target name="bindist" description="Creates the binary distribution(s)." depends="javadocs, samples">
		
		<copy todir="${dist.dir.root}/docs/api">
			<fileset dir="${build.javadocs}" />
		</copy>
		<copy todir="${dist.dir.root}/lib">
			<fileset dir="${build.lib}" />
		</copy>
		<copy todir="${dist.dir.root}/samples">
			<fileset dir="${build.samples}" />
		</copy>
		
		<copy file="AUTHORS.txt" tofile="${dist.dir.root}/AUTHORS.txt" />
		<copy file="README.txt" tofile="${dist.dir.root}/README.txt" />
		<copy file="INSTALL.txt" tofile="${dist.dir.root}/INSTALL.txt" />
		<copy file="CHANGES.txt" tofile="${dist.dir.root}/CHANGES.txt" />
		<copy file="TODO.txt" tofile="${dist.dir.root}/TODO.txt" />
		<copy file="LICENSE.txt" tofile="${dist.dir.root}/LICENSE.txt" />
		<copy file="RELEASE-NOTE.txt" tofile="${dist.dir.root}/RELEASE-NOTE.txt" />

		<!-- ================================================================= -->
		<!-- Produces the tar/gzip file                                        -->
		<!-- ================================================================= -->
		<tar tarfile="${dist.bin.file}.tar" basedir="${dist.dir}" excludes="*.zip,*.tar,*.gz" />
		<gzip src="${dist.bin.file}.tar" zipfile="${dist.bin.file}.tar.gz" />
		<delete file="${dist.bin.file}.tar" />

		<!-- ================================================================= -->
		<!-- Produces the zip file                                             -->
		<!-- ================================================================= -->
		<zip zipfile="${dist.bin.file}.zip" basedir="${dist.dir}" excludes="*.zip,*.tar,*.gz" />
	</target>

	<!-- =================================================================== -->
	<!-- Creates the source distribution                                     -->
	<!-- =================================================================== -->
	<target name="srcdist" description="Creates the source distribution(s)." depends="init">
		
		<copy todir="${dist.dir.root}/src">
			<fileset dir="${src.dir}" />
		</copy>
		
		<copy file="BUILDING.txt" tofile="${dist.dir.root}/BUILDING.txt" />
		<copy file="INSTALL.txt" tofile="${dist.dir.root}/INSTALL.txt" />
		<copy file="README.txt" tofile="${dist.dir.root}/README.txt" />
		<copy file="CHANGES.txt" tofile="${dist.dir.root}/CHANGES.txt" />
		<copy file="TODO.txt" tofile="${dist.dir.root}/TODO.txt" />
		<copy file="AUTHORS.txt" tofile="${dist.dir.root}/AUTHORS.txt" />
		<copy file="LICENSE.txt" tofile="${dist.dir.root}/LICENSE.txt" />
		<copy file="RELEASE-NOTE.txt" tofile="${dist.dir.root}/RELEASE-NOTE.txt" />
		<copy file="${build.file}" tofile="${dist.dir.root}/${build.file}" />

		<!-- ================================================================= -->
		<!-- Produces the tar/gzip file                                        -->
		<!-- ================================================================= -->
		<tar tarfile="${dist.src.file}.tar" basedir="${dist.dir}" excludes="*.zip,*.tar,*.gz" />
		<gzip src="${dist.src.file}.tar" zipfile="${dist.src.file}.tar.gz" />
		<delete file="${dist.src.file}.tar" />

		<!-- ================================================================= -->
		<!-- Produces the zip file                                             -->
		<!-- ================================================================= -->
		<zip zipfile="${dist.src.file}.zip" basedir="${dist.dir}/" excludes="*.zip,*.tar,*.gz" />
	</target>


	<!-- =================================================================== -->
	<!-- Compile unit tests                                                  -->
	<!-- =================================================================== -->
	<target name="compile-test" if="junit.present" depends="compile">
		<mkdir dir="${build.tests}" />
		<javac srcdir="${tests.dir}" destdir="${build.tests}" classpath="${build.dest}" source="${source.level}" />
	</target>

	<!-- =================================================================== -->
	<!-- Performs unit tests                                                 -->
	<!-- =================================================================== -->
	<target name="test" if="junit.present" description="Performs unit tests on BSF." depends="compile-test">
		<copy todir="${build.dest}" overwrite="true">
			<fileset dir="${src.dir}">
				<include name="**/*.properties" />
			</fileset>
		</copy>
		<junit>
			<classpath refid="test.classpath" />
			<formatter type="brief" usefile="false" />
			<test name="org.apache.bsf.BSFTest" />
		</junit>
	</target>

	<!-- =================================================================== -->
	<!-- Creates both distributions                                          -->
	<!-- =================================================================== -->
	<target name="dist" description="Executes both bindist and srcdist." depends="bindist, srcdist" />

	<!-- =================================================================== -->
	<!-- Cleans everything                                                   -->
	<!-- =================================================================== -->
	<target name="clean" description="Removes build and dist directories.">
		<delete dir="${build.dir}" />
		<delete dir="${dist.dir}" />
	</target>
	
	<target name="all" depends="build-site, dist" />
</project>