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