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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <!-- ====================================================================== -->
  2. <!-- Copyright (c) 2005 Contributors -->
  3. <!-- All rights reserved. -->
  4. <!-- This program and the accompanying materials are made available -->
  5. <!-- under the terms of the Eclipse Public License v1.0 -->
  6. <!-- which accompanies this distribution and is available at -->
  7. <!-- http://www.eclipse.org/legal/epl-v10.html -->
  8. <!-- -->
  9. <!-- Contributors: (See CVS checkin's) -->
  10. <!-- ====================================================================== -->
  11. <project name="eclipse.plugins" default="eclipse.plugins" basedir=".">
  12. <property name="aspectj.modules.dir" location="${basedir}/.."/>
  13. <import file="${aspectj.modules.dir}/build/build-properties.xml" />
  14. <target name="info">
  15. <echo>
  16. Assembles the Eclipse plugins.
  17. Relies on ../build/build-properties.xml for some definitions, and
  18. the build must have produced the AspectJ distribution already.
  19. Define $${build.version.eclipse.plugins} to avoid "9.9.9" for
  20. "DEVELOPMENT" (the default).
  21. </echo>
  22. </target>
  23. <target name="init-eclipse-plugins" depends="init-properties">
  24. <property name="ep.dir"
  25. location="${aspectj.modules.dir}/eclipse.plugin"
  26. />
  27. <condition property="build.version.eclipse.plugins"
  28. value="9.9.9"
  29. >
  30. <equals arg1="DEVELOPMENT" arg2="${build.version.long}" />
  31. </condition>
  32. <condition property="build.version.eclipse.plugins"
  33. value="${build.version.long}"
  34. >
  35. <not>
  36. <equals arg1="DEVELOPMENT"
  37. arg2="${build.version.long}"
  38. />
  39. </not>
  40. </condition>
  41. <jar-property name="ep.aspectjrt.jar"
  42. location="${aj.dist.dir}/tools/lib/aspectjrt.jar"
  43. />
  44. <property name="ep.eclipse.dist.dir"
  45. location="${aj.dist.dir}/ide/eclipse"
  46. />
  47. </target>
  48. <target name="eclipse.plugins"
  49. depends="do-rt,do-source,do-ajde,do-doc"
  50. />
  51. <target name="do-rt" depends="init-eclipse-plugins">
  52. <property name="name.rt" value="org.aspectj.aspectjrt" />
  53. <mkdir dir="${ep.eclipse.dist.dir}/${name.rt}" />
  54. <copy todir="${ep.eclipse.dist.dir}/${name.rt}"
  55. file="${ep.aspectjrt.jar}"
  56. />
  57. <build-eclipse-plugin name="${name.rt}" />
  58. </target>
  59. <target name="do-source" depends="init-eclipse-plugins">
  60. <property name="name.source"
  61. value="org.aspectj.ajde.source"
  62. />
  63. <clean-dir dir="${ep.eclipse.dist.dir}/${name.source}/src" />
  64. <copy todir="${ep.eclipse.dist.dir}/${name.source}/src"
  65. file="${aspectj.modules.dir}/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip"
  66. />
  67. <!-- verify source dirs included:
  68. grep 'kind="src"' */.classpath | sed '/testsrc/d;/path="\//d;s|\/.*path="|\/|;s|".*||'
  69. compare filelist: ${aspectj.tools.modules}
  70. -->
  71. <zip destfile="${ep.eclipse.dist.dir}/${name.source}/src/aspectjsrc.zip"
  72. >
  73. <fileset dir="${aspectj.modules.dir}/ajbrowser/src" />
  74. <fileset dir="${aspectj.modules.dir}/ajde/src" />
  75. <fileset dir="${aspectj.modules.dir}/ajde.core/src" />
  76. <fileset dir="${aspectj.modules.dir}/ajdoc/src" />
  77. <fileset dir="${aspectj.modules.dir}/asm/src" />
  78. <fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src"
  79. />
  80. <fileset dir="${aspectj.modules.dir}/aspectj5rt/src" />
  81. <fileset dir="${aspectj.modules.dir}/bridge/src" />
  82. <fileset dir="${aspectj.modules.dir}/loadtime/src" />
  83. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src" />
  84. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src"
  85. />
  86. <fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src"
  87. />
  88. <!--fileset dir="${aspectj.modules.dir}/org.aspectj.lib/src"
  89. /-->
  90. <fileset dir="${aspectj.modules.dir}/runtime/src" />
  91. <fileset dir="${aspectj.modules.dir}/taskdefs/src" />
  92. <fileset dir="${aspectj.modules.dir}/util/src" />
  93. <fileset dir="${aspectj.modules.dir}/weaver/src" />
  94. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src" />
  95. </zip>
  96. <build-eclipse-plugin name="${name.source}" />
  97. </target>
  98. <target name="do-ajde" depends="init-eclipse-plugins">
  99. <property name="name.ajde" value="org.aspectj.ajde" />
  100. <jar-property name="ep.aspectjtools.jar"
  101. location="${aj.dist.dir}/tools/lib/aspectjtools.jar"
  102. />
  103. <clean-dir dir="${ep.eclipse.dist.dir}/${name.ajde}" />
  104. <copy todir="${ep.eclipse.dist.dir}/${name.ajde}">
  105. <fileset file="${ep.aspectjrt.jar}" />
  106. <fileset file="${ep.aspectjtools.jar}" />
  107. </copy>
  108. <jar destfile="${ep.eclipse.dist.dir}/${name.ajde}/ajde.jar">
  109. <zipfileset src="${ep.aspectjtools.jar}"
  110. includes="org/aspectj/**"
  111. />
  112. <!-- TODO dangerous assumption: only org.aspectj? not org.eclipse or org.osgi? -->
  113. </jar>
  114. <build-eclipse-plugin name="${name.ajde}" />
  115. </target>
  116. <target name="do-doc" depends="init-eclipse-plugins">
  117. <available property="ep.docs.available"
  118. file="${aj.dist.dir}/docs/doc/examples/build.xml"
  119. />
  120. <fail unless="ep.docs.available"
  121. message="no doc in ${aj.dist.dir}"
  122. />
  123. <property name="name.doc" value="org.aspectj.ajde.doc" />
  124. <clean-dir dir="${ep.eclipse.dist.dir}/${name.doc}/doc" />
  125. <copy todir="${ep.eclipse.dist.dir}/${name.doc}/doc">
  126. <fileset dir="${aj.dist.dir}/docs/doc" />
  127. </copy>
  128. <build-eclipse-plugin name="${name.doc}" />
  129. </target>
  130. <macrodef name="build-eclipse-plugin">
  131. <attribute name="name" />
  132. <sequential>
  133. <mkdir dir="${ep.eclipse.dist.dir}/@{name}" />
  134. <copy todir="${ep.eclipse.dist.dir}/@{name}">
  135. <fileset dir="${ep.dir}/@{name}" />
  136. </copy>
  137. <replace file="${ep.eclipse.dist.dir}/@{name}/plugin.xml"
  138. token="build.version.eclipse.plugins"
  139. value="${build.version.eclipse.plugins}"
  140. />
  141. <jar destfile="${ep.eclipse.dist.dir}/@{name}_${build.version.eclipse.plugins}.jar"
  142. >
  143. <fileset dir="${ep.eclipse.dist.dir}/@{name}" />
  144. </jar>
  145. </sequential>
  146. </macrodef>
  147. </project>