You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.xml 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?xml version="1.0"?>
  2. <!-- ===========================================================================
  3. ============================================================================ -->
  4. <project default="package" basedir=".">
  5. <path id="libs-build-classpath">
  6. <fileset dir="../../lib">
  7. <include name="*.jar"/>
  8. </fileset>
  9. <fileset dir="../../build">
  10. <include name="fop.jar"/>
  11. </fileset>
  12. <fileset dir="lib">
  13. <include name="*.jar"/>
  14. </fileset>
  15. </path>
  16. <!-- =================================================================== -->
  17. <!-- Initialization target -->
  18. <!-- =================================================================== -->
  19. <target name="init">
  20. <tstamp/>
  21. <property name="Name" value="MathML-FOP"/>
  22. <property name="name" value="mathml-fop"/>
  23. <property name="version" value="0.1-CVS"/>
  24. <filter token="version" value="${version}"/>
  25. <property name="year" value="2002"/>
  26. <echo message="------------------- ${Name} ${version} [${year}] ----------------"/>
  27. <property name="build.compiler" value="classic"/>
  28. <property name="debug" value="on"/>
  29. <property name="optimize" value="off"/>
  30. <property name="deprecation" value="on"/>
  31. <property name="src.dir" value="./src"/>
  32. <property name="lib.dir" value="./lib"/>
  33. <property name="packages" value="org.apache.fop.*"/>
  34. <property name="build.dir" value="./build"/>
  35. <property name="build.src" value="./build/src"/>
  36. <property name="build.dest" value="./build/classes"/>
  37. <property name="resource.dir" value="resources"/>
  38. <property name="mathml.dir" value="org/apache/fop/mathml"/>
  39. <available property="jeuclid.present" classname="net.sourceforge.jeuclid.MathBase" classpathref="libs-build-classpath"/>
  40. </target>
  41. <target name="jeuclid-check" depends="init" unless="jeuclid.present">
  42. <echo message="============================================================================="/>
  43. <echo message="jeuclid.jar is missing in the lib directory."/>
  44. <echo message="You can download it at: http://sourceforge.net/projects/jeuclid/"/>
  45. <echo message="============================================================================="/>
  46. <fail message="Dependecy check failed."/>
  47. </target>
  48. <!-- =================================================================== -->
  49. <!-- Help on usage -->
  50. <!-- =================================================================== -->
  51. <target name="usage">
  52. <echo message="Use the -projecthelp option instead"/>
  53. </target>
  54. <!-- =================================================================== -->
  55. <!-- Prepares the build directory -->
  56. <!-- =================================================================== -->
  57. <target name="prepare" depends="init, jeuclid-check">
  58. <!-- create directories -->
  59. <echo message="Preparing the build directories"/>
  60. <mkdir dir="${build.dir}"/>
  61. <mkdir dir="${build.src}"/>
  62. <mkdir dir="${build.src}/${mathml.dir}"/>
  63. </target>
  64. <!-- =================================================================== -->
  65. <!-- Prepares the source code -->
  66. <!-- =================================================================== -->
  67. <target name="prepare-src" depends="prepare">
  68. <!-- copy src files -->
  69. <copy todir="${build.src}">
  70. <fileset dir="${src.dir}"
  71. excludes="**/Makefile*, **/package.html"/>
  72. </copy>
  73. <copy todir="${build.dest}/">
  74. <fileset dir="${resource.dir}"/>
  75. </copy>
  76. </target>
  77. <!-- =================================================================== -->
  78. <!-- Compiles the source directory -->
  79. <!-- =================================================================== -->
  80. <target name="compile" depends="prepare-src" description="Compile the Java sources">
  81. <echo message="Compiling the sources "/>
  82. <!-- create directories -->
  83. <mkdir dir="${build.dest}"/>
  84. <javac srcdir="${build.src}"
  85. destdir="${build.dest}"
  86. debug="${debug}"
  87. deprecation="${deprecation}"
  88. optimize="${optimize}"
  89. excludes="">
  90. <classpath refid="libs-build-classpath"/>
  91. </javac>
  92. </target>
  93. <!-- =================================================================== -->
  94. <!-- Creates the class package -->
  95. <!-- =================================================================== -->
  96. <target name="package" depends="compile" description="Create jar file">
  97. <echo message="Creating the jar file ${build.dir}/${name}.jar"/>
  98. <tstamp>
  99. <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
  100. </tstamp>
  101. <jar jarfile="${build.dir}/${name}.jar"
  102. basedir="${build.dest}"
  103. includes="**">
  104. <manifest>
  105. <attribute name="Implementation-Title" value="${Name}"/>
  106. <attribute name="Implementation-Version" value="${version}"/>
  107. <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/fop/)"/>
  108. <attribute name="Build-Id" value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}])"/>
  109. </manifest>
  110. </jar>
  111. </target>
  112. <!-- =================================================================== -->
  113. <!-- Clean targets -->
  114. <!-- =================================================================== -->
  115. <target name="clean" depends="init" description="Cleans the build directory">
  116. <delete dir="${build.dir}"/>
  117. </target>
  118. </project>