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

build.xml 4.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <project name="embed" default="main" basedir=".">
  2. <description>Embed proposal</description>
  3. <property file="${user.home}/build.properties" />
  4. <property name="base.path" location="/usr/share/java"/>
  5. <property name="ant.src" location="../.."/>
  6. <property name="commons.src" location="${ant.src}/../jakarta-commons"/>
  7. <property name="sandbox.src" location="${ant.src}/../jakarta-commons-sandbox"/>
  8. <property name="embed.build" location="build"/>
  9. <property name="debug" value="true"/>
  10. <!-- Those 2 should be moved to JXPath and velocity. -->
  11. <property name="commons-logging.jar" location="${commons.src}/logging/dist/commons-logging.jar" />
  12. <property name="jxpath.jar" location="${commons.src}/jxpath/dist/commons-jxpath.jar" />
  13. <property name="velocity.jar" location="${base.path}/velocity/velocity-20020220.jar" />
  14. <property name="velocity-dep.jar" location="${base.path}/velocity/velocity-dep-20020220.jar" />
  15. <property name="jexl.jar" location="${sandbox.src}/jexl/dist/commons-jexl.jar" />
  16. <property name="commons-discovery.jar" location="${commons.src}/discovery/dist/commons-discovery.jar" />
  17. <target name="build" depends="main" />
  18. <target name="main">
  19. <mkdir dir="${ant.home}/lib"/>
  20. <mkdir dir="build/classes" />
  21. <javac srcdir="src/java"
  22. debug="${debug}"
  23. destdir="${embed.build}/classes" >
  24. <include name="**" />
  25. <exclude name="org/apache/tools/ant/taskdefs/optional/**" />
  26. </javac>
  27. <copy toDir="${embed.build}/classes">
  28. <fileset dir="src/java" includes="META-INF/**" />
  29. </copy>
  30. <jar file="${embed.build}/ant-sax2.jar" basedir="${embed.build}/classes">
  31. <include name="**" />
  32. </jar>
  33. <echo message="${embed.build}/ant-sax2.jar toDir=${ant.home}/lib"/>
  34. <copy file="${embed.build}/ant-sax2.jar" toDir="${ant.home}/lib"/>
  35. <copy file="${commons-logging.jar}" toDir="${ant.home}/lib"/>
  36. <copy file="${commons-discovery.jar}" toDir="${ant.home}/lib"/>
  37. <copy file="${commons-logging.jar}" toDir="${embed.build}"/>
  38. <copy file="${commons-discovery.jar}" toDir="${embed.build}"/>
  39. </target>
  40. <target name="embed-optional">
  41. <mkdir dir="${ant.home}/lib"/>
  42. <mkdir dir="build/classes" />
  43. <javac srcdir="src/java"
  44. debug="${debug}"
  45. destdir="${embed.build}/classes" >
  46. <include name="org/apache/tools/ant/taskdefs/optional/**" />
  47. <classpath>
  48. <!-- all this will move to their package -->
  49. <pathelement location="build/classes" />
  50. <pathelement location="${jxpath.jar}" />
  51. <pathelement location="${velocity.jar}" />
  52. <pathelement location="${jexl.jar}" />
  53. <pathelement location="${commons-discovery.jar}" />
  54. </classpath>
  55. </javac>
  56. <copy toDir="${embed.build}/classes">
  57. <fileset dir="src/java" includes="META-INF/**" />
  58. </copy>
  59. <jar file="${embed.build}/optional-dynprop.jar" basedir="${embed.build}/classes">
  60. <include name="org/apache/tools/ant/taskdefs/optional/**" />
  61. </jar>
  62. <echo message="${embed.build}/ant-sax2.jar toDir=${ant.home}/lib"/>
  63. <copy file="${embed.build}/ant-sax2.jar" toDir="${ant.home}/lib"/>
  64. <copy file="${commons-logging.jar}" toDir="${ant.home}/lib"/>
  65. <copy file="${commons-discovery.jar}" toDir="${ant.home}/lib"/>
  66. <copy file="${commons-logging.jar}" toDir="${embed.build}"/>
  67. <copy file="${commons-discovery.jar}" toDir="${embed.build}"/>
  68. </target>
  69. <target name="gump" description="Patch gump bootstrap ant" depends="main" >
  70. <!-- What we'll do - in order to get around gump classpath use - is
  71. to recreate ant.jar ( using build/classes ) to include our code -->
  72. <unjar jar="${ant.src}/bootstrap/lib/ant.jar" dest="${embed.build}/classes" />
  73. <delete file="${ant.src}/bootstrap/lib/ant.jar" />
  74. <jar file="${ant.src}/bootstrap/lib/ant.jar" basedir="${embed.build}/classes"/>
  75. </target>
  76. <target name="install" description="Installs built jars">
  77. <echo message="${embed.build}/ant-sax2.jar toDir=${ant.home}/lib"/>
  78. <copy file="${embed.build}/ant-sax2.jar" toDir="${ant.home}/lib"/>
  79. </target>
  80. <target name="install-embed" depends="main, install"
  81. description="Installs core built jars"/>
  82. <target name="install-embed-optional" depends="embed-optional, install"
  83. description="Installs extra built jars">
  84. <copy file="${commons-logging.jar}" toDir="${ant.home}/lib"/>
  85. <copy file="${commons-discovery.jar}" toDir="${ant.home}/lib"/>
  86. </target>
  87. </project>