blob: a82e4e8400c76251208e2e493c04e7c7cb3af27a [file] [log] [blame]
<project name='jam' default='all' basedir='.'>
<property name='build_dir' value='../build/jam'/>
<property name='src_dir' value='src'/>
<property name="site_dir" value='website'/>
<property name='jam_jar' value='${build_dir}/jam.jar'/>
<property name='javadoc_zip' value='${build_dir}/jamapi.zip'/>
<property name="jamsrc_zip" value='${build_dir}/jamsrc.zip'/>
<property name="sitebuild_dir" value='${build_dir}/website'/>
<property name='javadocbuild_dir' value='${sitebuild_dir}/javadocs'/>
<property name='gen_dir' value='${build_dir}/generatedsrc'/>
<property name='classes_dir' value='${build_dir}/classes'/>
<property name='antlr_jar' value='external/lib/antlr.jar'/>
<!--FIXME need to do get the jar ourselves -->
<property name='staxapi_jar' value='../build/lib/jsr173_api.jar'/>
<property name='tests_dir' value='test'/>
<target name='clean'>
<delete dir='${build_dir}'/>
<!-- delete the old location just in case someone still has it around -->
<delete dir='build'/>
</target>
<target name='cleanall' depends='clean,all'/>
<target name='all' depends='compile'/>
<target name='parser'>
<delete dir='${gen_dir}'/>
<mkdir dir='${gen_dir}'/>
<!-- skipping parser generation for now, just noise at this point
<antlr outputdirectory='${gen_dir}' target='${src_dir}/java.g'
debug='false'>
<classpath>
<pathelement location='${antlr_jar}'/>
<pathelement path='${java.class.path}'/>
<pathelement path='${classes_dir}'/>
</classpath>
</antlr>
-->
</target>
<target name='compile' depends='exclude15,jsr173,parser'>
<mkdir dir='${classes_dir}'/>
<javac srcdir='${src_dir}' destdir='${classes_dir}'
debug='on' excludes='${exclude15}'>
<src path='${src_dir}'/>
<src path='${gen_dir}'/>
<classpath>
<pathelement location='${antlr_jar}'/>
<pathelement location='${staxapi_jar}'/>
<pathelement path='${classes_dir}'/>
<pathelement path='${java.class.path}'/>
</classpath>
</javac>
</target>
<target name='jsr173'>
<ant dir='..' target='jsr173.jar' inheritAll='false' />
<ant dir='..' target='jsr173_ri.jar' inheritAll='false' />
<ant dir='..' target='jsr173_api.jar' inheritAll='false' />
</target>
<target name='test'>
<ant dir='${tests_dir}' target='all' inheritAll='false' />
</target>
<target name="javadocs" depends='compile'>
<mkdir dir='${javadocbuild_dir}' />
<javadoc packagenames='*'
destdir='${javadocbuild_dir}'
windowtitle='JAM Documentation'
stylesheetfile='${site_dir}/stylesheet.css'>
<fileset dir='${src_dir}' includes='**/jam/**/*.java' excludes='**/internal/**/*.java' />
<classpath>
<pathelement location='${classes_dir}' />
</classpath>
</javadoc>
</target>
<target name='jars' depends='all'>
<copy todir='${classes_dir}' ><fileset dir='license'/></copy>
<jar jarfile='${jam_jar}' basedir='${classes_dir}'/>
<jar jarfile='${javadoc_zip}' basedir='${javadocbuild_dir}'/>
<jar jarfile='${jamsrc_zip}' basedir='.' excludes='${build_dir}/**,test'/>
</target>
<target name='website' depends='all,javadocs,jars'>
<mkdir dir='${sitebuild_dir}' />
<copy todir='${sitebuild_dir}' >
<fileset dir='${site_dir}'/>
</copy>
<!--
<copy todir='${sitebuild_dir}' flatten='true'>
<fileset dir='.' includes='${jam_jar},${javadoc_zip},${jamsrc_zip}'/>
</copy>
-->
</target>
<target name='repackage' depends='clean,repackage_check,repackage_do'/>
<target name='repackage_check' unless='newpackage'>
<echo message='Please specify -Dnewpackage=[destination package]'/>
<echo message='on the ant command line.'/>
</target>
<target name='repackage_do' if='newpackage'>
<echo message='Building repackaged JAM under ${newpackage}...'/>
<echo message=''/>
<property name='repackage_spec'
value='org.apache.xmlbeans.impl.jam:${newpackage}'/>
<property name='repackaged_src' value='${build_dir}/repackaged_src'/>
<mkdir dir='${repackaged_src}'/>
<mkdir dir='${classes_dir}'/>
<javac srcdir='${src_dir}' destdir='${classes_dir}'
includes='**/tools/*.java'/>
<java classname='org.apache.xmlbeans.impl.jam.tools.Repackage'
fork='true' failonerror='true'>
<classpath>
<pathelement location='${build_dir}/classes'/>
</classpath>
<arg line='-repackage ${repackage_spec} -f src -t ${repackaged_src}'/>
<!-- <arg line='-repackage ${repackage_spec} -f test -t ${repackaged_src}'/>-->
</java>
<delete dir='${classes_dir}'/> <!-- don't need repackager any more -->
<ant dir='.' target='website' inheritAll='false' >
<property name='src_dir' value='${repackaged_src}'/>
</ant>
</target>
<target name='exclude15' depends='exclude15.check,exclude15.warn'/>
<target name='exclude15.check'>
<condition property='exclude15'>
<contains string='${java.version}' substring='1.5'/>
</condition>
</target>
<target name='exclude15.warn' unless='exclude15'>
<echo message='======================================================'/>
<echo message='W A R N I N G: You are building JAM without JDK 1.5.'/>
<echo message='The resulting build of JAM will not support'/>
<echo message='1.5-specific functionality such as JSR175,'/>
<echo message='even if 1.5 is available at runtime. For this'/>
<echo message='reason, it is recommended that you always build'/>
<echo message='JAM under 1.5.'/>
<echo message='======================================================'/>
<!-- not clear why, but setting this value on the condition element
above doesn't seem to work. so, just do it here -->
<property name='exclude15' value='**/internal/java15/**/*.java'/>
</target>
</project>