Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

build.xml 37KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959
  1. <!-- -*- Mode: SGML; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
  2. <!-- ========================================================================= -->
  3. <!-- Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC), -->
  4. <!-- 2003-2005 Contributors -->
  5. <!-- All rights reserved. -->
  6. <!-- This program and the accompanying materials are made available -->
  7. <!-- under the terms of the Eclipse Public License v1.0 -->
  8. <!-- which accompanies this distribution and is available at -->
  9. <!-- http://www.eclipse.org/legal/epl-v10.html -->
  10. <!-- -->
  11. <!-- Contributors: (See CVS checkin's) -->
  12. <!-- Xerox/PARC initial implementation -->
  13. <!-- Adrian Colyer / George Harley eclipse plugin targets -->
  14. <!-- ========================================================================= -->
  15. <project name="build" default="all" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">
  16. <target name="all" depends="aspectj">
  17. <antcall target="eclipse.plugins"/>
  18. </target>
  19. <target name="clean" depends="clean-directories"/>
  20. <target name="compile" depends="build-module"
  21. description="compile module ${module.name} (without tests, by default)"/>
  22. <target name="compile-tests" depends="init"
  23. description="compile module ${module.name} tests">
  24. <assemble-module-test module="${module.name}"/>
  25. </target>
  26. <target name="test" depends="compile-tests">
  27. <antcall target="do-test-junit"/>
  28. </target>
  29. <!-- ===================================================================== -->
  30. <!-- Init -->
  31. <!-- ===================================================================== -->
  32. <property name="modules.dir" location="${basedir}/.."/>
  33. <property name="module.name" value="${ant.project.name}"/>
  34. <import file="${modules.dir}/build/build-properties.xml"/>
  35. <target name="init" depends="init-properties,init-directories">
  36. <property name="build.config" value=""/>
  37. <property name="trim.testing.default" value="true"/>
  38. <property name="aj.installer.jar" location="${aj.dist.dir}/aspectj-${build.version.long}.jar"/>
  39. <available property="ant.lib.aspectjtools"
  40. file="${ant.home}/lib/aspectjtools.jar"
  41. value="Expect classpath errors from ${ant.home}/lib/aspectjtools.jar"/>
  42. <available property="ant.lib.aspectjrt"
  43. file="${ant.home}/lib/aspectjrt.jar"
  44. value="Expect classpath errors from ${ant.home}/lib/aspectjrt.jar"/>
  45. <available property="testing.drivers.all.available"
  46. file="${aj.jar.dir}/testing-drivers-all.jar"
  47. value="${aj.jar.dir}/testing-drivers-all.jar"/>
  48. </target>
  49. <target name="version-uptodate" depends="init,init-taskdefs"
  50. unless="version-uptodate.done">
  51. <!-- XXX change task to pre-check & avoid scan if dates uptodate -->
  52. <versionuptodate
  53. version="${build.version}"
  54. versionSourceFile="${aspectj.modules.dir}/bridge/src/org/aspectj/bridge/Version.java"
  55. versionTagFile="${aj.temp.dir}/versionUptodate"/>
  56. <available file="${aj.temp.dir}/versionUptodate"
  57. property="version.uptodate"/>
  58. <property name="version-uptodate.done" value="done"/>
  59. </target>
  60. <target name="init-version" depends="init,init-filters,version-uptodate" >
  61. <antcall target="init-filters"/>
  62. <copy file="${aspectj.modules.dir}/build/lib/BridgeVersion.java.txt"
  63. tofile="${aspectj.modules.dir}/bridge/src/org/aspectj/bridge/Version.java"
  64. overwrite="yes" filtering="yes"/>
  65. <property name="init.version.done" value="done"/>
  66. <!-- consider checking this in? -->
  67. </target>
  68. <!-- ===================================================================== -->
  69. <!-- Misc setup and warnings -->
  70. <!-- ===================================================================== -->
  71. <target name="warn.ant.lib.aspectjrt" if="ant.lib.aspectjrt">
  72. <echo message="----- WARNING: ${ant.lib.aspectjrt}" />
  73. </target>
  74. <target name="warn.ant.lib.aspectjtools" if="ant.lib.aspectjtools">
  75. <echo message="----- WARNING: ${ant.lib.aspectjtools}" />
  76. </target>
  77. <target name="fail-unless-boot-libraries-uptodate" depends="init"
  78. description="fail unless all boot libraries are up-to-date">
  79. <antcall target="verify-boot-lib">
  80. <param name="boot.lib" value="test/aspectjrt.jar"/>
  81. <param name="vbl.module.name" value="runtime"/>
  82. </antcall>
  83. <antcall target="verify-boot-lib">
  84. <param name="boot.lib" value="build/build.jar"/>
  85. <param name="vbl.module.name" value="build"/>
  86. </antcall>
  87. <antcall target="verify-boot-lib">
  88. <param name="boot.lib" value="test/testing-client.jar"/>
  89. <param name="vbl.module.name" value="testing-client"/>
  90. </antcall>
  91. <echo message="fyi, bridge/util changes rarely mean client is invalid"/>
  92. <antcall target="verify-boot-lib">
  93. <param name="boot.lib" value="test/testing-client.jar"/>
  94. <param name="vbl.module.name" value="util"/>
  95. </antcall>
  96. <antcall target="verify-boot-lib">
  97. <param name="boot.lib" value="test/testing-client.jar"/>
  98. <param name="vbl.module.name" value="bridge"/>
  99. </antcall>
  100. <echo message="all boot libraries verified"/>
  101. </target>
  102. <target name="update-tree" depends="init"
  103. description="update tree">
  104. <fail unless="CVSROOT"
  105. message="required: {ant} -DCVSROOT=... ..."/>
  106. <cvs cvsRoot="${CVSROOT}"
  107. dest="${aspectj.modules.dir}"
  108. quiet="on"
  109. failonerror="on"
  110. command="update -dP" />
  111. </target>
  112. <!-- ===================================================================== -->
  113. <!-- antcall targets -->
  114. <!-- ===================================================================== -->
  115. <target name="build-product" depends="init,init-taskdefs,init-version" description="build $${product.name}">
  116. <ajbuild jarDir="${aj.jar.dir}"
  117. baseDir="${aspectj.modules.dir}"
  118. distDir="${aj.dist.dir}"
  119. productDir="${aspectj.modules.dir}/build/products/${product.name}"
  120. trimTesting="true"
  121. buildConfig="${build.config}"
  122. version="${build.version.long}"
  123. verbose="${build.verbose}"
  124. failonerror="true"/>
  125. </target>
  126. <target name="build-module" depends="init,init-taskdefs,init-version">
  127. <ajbuild module="${module.name}"
  128. baseDir="${aspectj.modules.dir}"
  129. distDir="${aj.dist.dir}"
  130. jarDir="${aj.jar.dir}"
  131. trimTesting="${trim.testing}"
  132. buildConfig="${build.config}"
  133. version="${build.version.long}"
  134. verbose="${build.verbose}"
  135. assembleall="${assemble}"
  136. failonerror="true"/>
  137. </target>
  138. <macrodef name="build-module-all">
  139. <attribute name="module"/>
  140. <attribute name="trimTesting" default="${trim.testing.default}"/>
  141. <sequential>
  142. <antcall target="build-module">
  143. <param name="module.name" value="@{module}"/>
  144. <param name="trim.testing" value="@{trimTesting}"/>
  145. <param name="assemble" value="true"/>
  146. </antcall>
  147. </sequential>
  148. </macrodef>
  149. <macrodef name="build-module">
  150. <attribute name="module"/>
  151. <attribute name="trimTesting" default="${trim.testing.default}"/>
  152. <attribute name="assemble" default="false"/>
  153. <sequential>
  154. <antcall target="build-module">
  155. <param name="module.name" value="@{module}"/>
  156. <param name="trim.testing" value="@{trimTesting}"/>
  157. <param name="assemble" value="@{assemble}"/>
  158. </antcall>
  159. </sequential>
  160. </macrodef>
  161. <macrodef name="assemble-module-test">
  162. <attribute name="module"/>
  163. <sequential>
  164. <build-module module="@{module}" assemble="true" trimTesting="false"/>
  165. </sequential>
  166. </macrodef>
  167. <target name="create-installer" depends="init,init-taskdefs,init-filters"
  168. description="create ${installer.file} from ${staging.dir} using ${htmlSrc.dir} and ${simpleClassName}">
  169. <!-- init-filters: filter on copy used by ajinstaller taskdef -->
  170. <delete quiet="on" file="${installer.file}"/>
  171. <ajinstaller zipfile="${installer.file}"
  172. installerclassjar="${aspectj.build.jar}"
  173. basedir="${staging.dir}"
  174. mainclass="$$installer$$.org.aspectj.${simpleClassName}"
  175. htmlSrc="${htmlSrc.dir}"
  176. resourcesSrc="${aspectj.modules.build.dir}/installer-resources"/>
  177. </target>
  178. <target name="verify-boot-lib" depends="init"
  179. description="fail if ${boot.lib} is out of date wrt ${vbl.module.name}">
  180. <uptodate property="lib-warning-${vbl.module.name}"
  181. targetfile="${aspectj.modules.dir}/lib/${boot.lib}">
  182. <srcfiles dir="${aspectj.modules.dir}/${vbl.module.name}/src"
  183. includes="**/*.java"/>
  184. </uptodate>
  185. <fail unless="lib-warning-${vbl.module.name}"
  186. message="${boot.lib} out of date wrt module ${vbl.module.name}"/>
  187. </target>
  188. <!-- ===================================================================== -->
  189. <!-- test targets -->
  190. <!-- ===================================================================== -->
  191. <target name="test-run-all-junit-tests"
  192. depends="init"
  193. description="run unit tests via run-all-junit-tests module">
  194. <antcall target="test">
  195. <param name="module.name" value="run-all-junit-tests"/>
  196. </antcall>
  197. </target>
  198. <target name="test-compiler-tests"
  199. depends="init"
  200. description="run compiler tests via tests module">
  201. <antcall target="test">
  202. <param name="module.name" value="tests"/>
  203. </antcall>
  204. </target>
  205. <target name="test-each-module"
  206. depends="init"
  207. description="run JUnit tests for each module">
  208. <subant target="test">
  209. <filelist dir="${aspectj.modules.dir}"
  210. files="${aspectj.tools.modules},${aspectj.test.modules}"/>
  211. </subant>
  212. </target>
  213. <!--
  214. <target name="ivy.init" unless="ivy.initialized">
  215. <property name="ivy.lib.dir" value="n:/apache-ivy-2.1.0/lib"/>
  216. <property name="ivy.settings.file" value="n:/workspaces/aspectj16_1/build/ivysettings.xml"/>
  217. <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant">
  218. <classpath>
  219. <path location="${ivy.lib.dir}/ivy.jar"/>
  220. <path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/>
  221. <path location="${ivy.lib.dir}/commons-codec.jar"/>
  222. <path location="${ivy.lib.dir}/commons-httpclient.jar"/>
  223. <path location="${ivy.lib.dir}/commons-logging.jar"/>
  224. <path location="${ivy.lib.dir}/jets3t.jar"/>
  225. <path location="${ivy.lib.dir}"/>
  226. </classpath>
  227. </taskdef>
  228. <ivy:settings file="${ivy.settings.file}"/>
  229. <property name="ivy.initialized" value="true"/>
  230. </target>
  231. -->
  232. <target name="maven.init" >
  233. <property name="org.apache.maven.ant.version" value="2.0.10"/>
  234. <property name="org.springframework.build.aws.maven.version" value="2.0.0.RELEASE"/>
  235. <!--
  236. <ivy:cachepath resolveId="maven.ant.tasks.classpath" pathid="maven.ant.tasks.classpath"
  237. organisation="org.apache.maven" module="com.springsource.org.apache.maven.ant"
  238. revision="${org.apache.maven.ant.version}" conf="runtime" type="jar" inline="true" log="download-only"/>
  239. -->
  240. <!--
  241. <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
  242. classpathref="maven.ant.tasks.classpath"/>
  243. -->
  244. <maven:install-provider groupId="org.springframework.build.aws" artifactId="org.springframework.build.aws.maven"
  245. version="${org.springframework.build.aws.maven.version}"/>
  246. </target>
  247. <target name="junitreport" depends="init,init-taskdefs"
  248. if="junitreport.available">
  249. <clean-dir dir="${aj.junit.dir}/html"/>
  250. <junitreport todir="${aj.junit.dir}/html">
  251. <fileset dir="${aj.junit.dir}">
  252. <include name="**/TEST-*.xml"/>
  253. </fileset>
  254. <report format="frames" todir="${aj.junit.dir}/html"/>
  255. </junitreport>
  256. <pathconvert property="jur.url" targetos="unix">
  257. <path location="${aj.junit.dir}/html/index.html"/>
  258. </pathconvert>
  259. <echo message="see file:${jur.url}"/>
  260. </target>
  261. <target name="do-test-junit"
  262. depends="init-taskdefs"
  263. description="run junit tests for a module using module root or leaves">
  264. <property name="dtj.dir"
  265. location="${aj.junit.dir}/${module.name}"/>
  266. <mkdir dir="${dtj.dir}"/>
  267. <condition property="dtj.includes"
  268. value="${junit.includes}"
  269. else="${junit.rootSuites}">
  270. <istrue value="${junit.leaves}"/>
  271. </condition>
  272. <condition property="dtj.excludes"
  273. value="${junit.excludes}"
  274. else="">
  275. <istrue value="${junit.leaves}"/>
  276. </condition>
  277. <junit
  278. dir="${aspectj.modules.build.dir}"
  279. failureproperty="test-junit-${module.name}.failed"
  280. fork="on"
  281. forkmode="perTest"
  282. maxmemory="400m"
  283. includeAntRuntime="off"
  284. printsummary="yes"
  285. haltonfailure="${haltOnTestFailure}" >
  286. <classpath>
  287. <pathelement location="${aj.jar.dir}/${module.name}-test-all.jar"/>
  288. <!-- see skipped libraries in Builder.properties -->
  289. <pathelement location="${jdk.tools.jar}"/>
  290. <pathelement location="${aspectj.modules.lib.dir}/junit/junit.jar"/>
  291. <fileset dir="${aspectj.modules.lib.dir}/commons" includes="commons.jar"/>
  292. <!-- XML api's used by loadtime, also needed when running under 1.3 per Ant FAQ -->
  293. <fileset dir="${aspectj.modules.lib.dir}/ant/lib"
  294. includes="ant.jar,ant-junit.jar,xml-apis.jar,xercesImpl.jar"/>
  295. </classpath>
  296. <jvmarg value="-Daspectjrtpath=${lib.test.aspectjrt.jar}" />
  297. <formatter type="xml"/>
  298. <batchtest todir="${dtj.dir}">
  299. <fileset dir="${modules.dir}/${module.name}/testsrc"
  300. includes="${dtj.includes}"
  301. excludes="${dtj.excludes}"/>
  302. </batchtest>
  303. </junit>
  304. <report-if-failed text="JUnit tests for ${module.name} failed"
  305. property="test-junit-${module.name}.failed"/>
  306. </target>
  307. <!-- ===================================================================== -->
  308. <!-- custom targets -->
  309. <!-- ===================================================================== -->
  310. <target name="build-harness-jar" depends="init"
  311. description="build harness jar from scratch">
  312. <antcall target="clean-jars"/>
  313. <assemble-module-test module="testing-drivers"/>
  314. </target>
  315. <target name="build-testing-jars" depends="init"
  316. description="build testing jars from scratch">
  317. <antcall target="build-harness-jar"/>
  318. </target>
  319. <target name="build-testing-client" depends="init-taskdefs,init">
  320. <build-module module="testing-client" assemble="true"/>
  321. <assemble-module-test module="testing-client"/>
  322. <echo>
  323. To use testing client jar in tests,
  324. mv ../aj-build/jars/testing-client-all.jar ../lib/tests/testing-client.jar
  325. </echo>
  326. </target>
  327. <target name="aspectj" depends="init,aspectjtools-dist,docs-dist" description="create installer from local distributions">
  328. <property name="installer.staging.dir" location="${aj.temp.dir}/installer-staging"/>
  329. <clean-dir dir="${installer.staging.dir}"/>
  330. <copy todir="${installer.staging.dir}">
  331. <fileset dir="${aj.dist.dir}/tools"/>
  332. <fileset dir="${aj.dist.dir}/docs"/>
  333. </copy>
  334. <antcall target="create-installer">
  335. <param name="installer.file" location="${aj.installer.jar}"/>
  336. <param name="staging.dir" location="${installer.staging.dir}"/>
  337. <param name="htmlSrc.dir" location="${aspectj.modules.build.dir}/products/aspectj/install"/>
  338. <param name="simpleClassName" value="ToolsInstaller"/>
  339. </antcall>
  340. <delete dir="${installer.staging.dir}"/>
  341. </target>
  342. <target name="docs-dist" depends="init">
  343. <ant dir="${aspectj.modules.dir}/docs"
  344. antfile="build.xml"
  345. target="local-dist"
  346. inheritAll="false"/>
  347. </target>
  348. <target name="aspectjrt" depends="init"
  349. description="build aspectjrt.jar (differently than release)">
  350. <build-module-all module="aspectj5rt"/>
  351. <copy file="${aj.jar.dir}/aspectj5rt-all.jar"
  352. tofile="${aj.jar.dir}/aspectjrt.jar"/>
  353. </target>
  354. <target name="compile-runtime-11" depends="init-properties"
  355. description="compile runtime under 1.1 - fails, but by how much?">
  356. <condition property="cr1.in13">
  357. <equals arg1="1.3" arg2="${ant.java.version}"/>
  358. </condition>
  359. <antcall target="compile-runtime-11-flag-unless13"/>
  360. <antcall target="compile-runtime-11-do-if13"/>
  361. </target>
  362. <target name="compile-runtime-11-flag-unless13" depends="init-properties"
  363. unless="cr1.in13">
  364. <echo message="Skipping compile-runtime-11 unless 1.3"/>
  365. </target>
  366. <target name="compile-runtime-11-do-if13" depends="init-properties"
  367. if="cr1.in13">
  368. <mkdir dir="${aj.build.dir}/classes-1.1"/>
  369. <property name="java11.classes.zip"
  370. location="${java11.home}/lib/classes.zip"/>
  371. <available property="classes.zip.available"
  372. file="${java11.classes.zip}"/>
  373. <fail unless="classes.zip.available" message="no 1.1 bootclasspath"/>
  374. <javac
  375. compiler="javac1.1"
  376. bootclasspath="${java11.classes.zip}"
  377. source="1.3"
  378. includejavaruntime="no"
  379. includeantruntime="no"
  380. destdir="${aj.build.dir}/classes-1.1"
  381. srcdir="${aspectj.modules.dir}/runtime/src"
  382. target="1.1"
  383. verbose="false"
  384. failonerror="true"
  385. />
  386. <delete dir="${aj.build.dir}/classes-1.1"/>
  387. </target>
  388. <!-- ===================================================================== -->
  389. <!-- boilerplate antcalls -->
  390. <!-- ===================================================================== -->
  391. <!-- for any-[module|product], define [module|product].name -->
  392. <target name="any-module" depends="init">
  393. <fail unless="module.name" message="use -Dmodule.name=... to define"/>
  394. <build-module module="${module.name}"/>
  395. </target>
  396. <target name="any-module-all" depends="init">
  397. <fail unless="module.name" message="use -Dmodule.name=... to define"/>
  398. <build-module-all module="${module.name}"/>
  399. </target>
  400. <target name="any-product" depends="init">
  401. <fail unless="product.name" message="use -Dproduct.name=... to define"/>
  402. <antcall target="build-product">
  403. <param name="product.name" value="${product.name}"/>
  404. </antcall>
  405. </target>
  406. <target name="ajbrowser-all" >
  407. <build-module-all module="ajbrowser"/>
  408. </target>
  409. <target name="ajdoc-all">
  410. <build-module-all module="ajdoc"/>
  411. </target>
  412. <target name="build">
  413. <build-module-all module="build"/>
  414. </target>
  415. <target name="aspectjtools-dist" depends="init" description="build local distribution">
  416. <antcall target="build-product">
  417. <param name="product.name" value="tools"/>
  418. </antcall>
  419. </target>
  420. <!-- ===================================================================== -->
  421. <!-- eclipse plugins -->
  422. <!-- ===================================================================== -->
  423. <target name="eclipse.plugins" depends="init"
  424. description="create the Eclipse distribution plugins">
  425. <ant dir="${aspectj.modules.dir}/eclipse.plugin" inheritAll="false"/>
  426. </target>
  427. <target name="src" depends="init" description="build src modules">
  428. <mkdir dir="${aj.src.dir}"/>
  429. <jar destfile="${aj.src.dir}/aspectjrt${build.version}-src.jar">
  430. <fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
  431. <exclude name="CVS"/>
  432. <exclude name="**/.cvsignore"/>
  433. </fileset>
  434. <fileset dir="${aspectj.modules.dir}/runtime/src">
  435. <exclude name="CVS"/>
  436. <exclude name="**/.cvsignore"/>
  437. </fileset>
  438. </jar>
  439. <unzip dest="${aj.src.dir}/bcelsrc" src="${aspectj.modules.dir}/lib/bcel/bcel-src.zip"/>
  440. <!-- loadtime5/asm/bridge/loadtime/weaver/weaver5 -->
  441. <jar destfile="${aj.src.dir}/aspectjweaver${build.version}-src.jar">
  442. <fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
  443. <exclude name="CVS"/>
  444. <exclude name="**/.cvsignore"/>
  445. </fileset>
  446. <fileset dir="${aspectj.modules.dir}/runtime/src">
  447. <exclude name="CVS"/>
  448. <exclude name="**/.cvsignore"/>
  449. <exclude name="**/*.html"/>
  450. </fileset>
  451. <fileset dir="${aj.src.dir}/bcelsrc">
  452. <exclude name="CVS"/>
  453. <exclude name="**/.cvsignore"/>
  454. </fileset>
  455. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  456. <exclude name="CVS"/>
  457. <exclude name="**/.cvsignore"/>
  458. </fileset>
  459. <fileset dir="${aspectj.modules.dir}/asm/src">
  460. <exclude name="CVS"/>
  461. <exclude name="**/.cvsignore"/>
  462. </fileset>
  463. <fileset dir="${aspectj.modules.dir}/bridge/src">
  464. <exclude name="CVS"/>
  465. <exclude name="**/.cvsignore"/>
  466. </fileset>
  467. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  468. <exclude name="CVS"/>
  469. <exclude name="**/.cvsignore"/>
  470. </fileset>
  471. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  472. <exclude name="CVS"/>
  473. <exclude name="**/.cvsignore"/>
  474. </fileset>
  475. <fileset dir="${aspectj.modules.dir}/weaver/src">
  476. <exclude name="CVS"/>
  477. <exclude name="**/.cvsignore"/>
  478. </fileset>
  479. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  480. <exclude name="CVS"/>
  481. <exclude name="**/.cvsignore"/>
  482. </fileset>
  483. <fileset dir="${aspectj.modules.dir}/util/src">
  484. <exclude name="CVS"/>
  485. <exclude name="**/.cvsignore"/>
  486. </fileset>
  487. </jar>
  488. <!-- missing from this are the jdtDepends.jar src files -->
  489. <unzip dest="${aj.src.dir}/jdtsrc" src="${aspectj.modules.dir}/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip"/>
  490. <!-- ajde/ajde.core/ajdoc/asm/bridge/loadtime/org.aspectj.ajdt.core/taskdefs/util/weaver5 -->
  491. <jar destfile="${aj.src.dir}/aspectjtools${build.version}-src.jar">
  492. <fileset dir="${aj.src.dir}/jdtsrc">
  493. <exclude name="CVS"/>
  494. <exclude name="**/.cvsignore"/>
  495. </fileset>
  496. <fileset dir="${aj.src.dir}/bcelsrc">
  497. <exclude name="CVS"/>
  498. <exclude name="**/.cvsignore"/>
  499. </fileset>
  500. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  501. <exclude name="CVS"/>
  502. <exclude name="**/.cvsignore"/>
  503. </fileset>
  504. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  505. <exclude name="CVS"/>
  506. <exclude name="**/.cvsignore"/>
  507. </fileset>
  508. <fileset dir="${aspectj.modules.dir}/ajde/src">
  509. <exclude name="CVS"/>
  510. <exclude name="**/.cvsignore"/>
  511. </fileset>
  512. <fileset dir="${aspectj.modules.dir}/ajde.core/src">
  513. <exclude name="CVS"/>
  514. <exclude name="**/.cvsignore"/>
  515. </fileset>
  516. <fileset dir="${aspectj.modules.dir}/runtime/src">
  517. <exclude name="CVS"/>
  518. <exclude name="**/.cvsignore"/>
  519. </fileset>
  520. <fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
  521. <exclude name="CVS"/>
  522. <exclude name="**/.cvsignore"/>
  523. </fileset>
  524. <fileset dir="${aspectj.modules.dir}/ajdoc/src">
  525. <exclude name="CVS"/>
  526. <exclude name="**/.cvsignore"/>
  527. </fileset>
  528. <fileset dir="${aspectj.modules.dir}/asm/src">
  529. <exclude name="CVS"/>
  530. <exclude name="**/.cvsignore"/>
  531. </fileset>
  532. <fileset dir="${aspectj.modules.dir}/bridge/src">
  533. <exclude name="CVS"/>
  534. <exclude name="**/.cvsignore"/>
  535. </fileset>
  536. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  537. <exclude name="CVS"/>
  538. <exclude name="**/.cvsignore"/>
  539. </fileset>
  540. <fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
  541. <exclude name="CVS"/>
  542. <exclude name="**/.cvsignore"/>
  543. </fileset>
  544. <fileset dir="${aspectj.modules.dir}/taskdefs/src">
  545. <exclude name="CVS"/>
  546. <exclude name="**/.cvsignore"/>
  547. </fileset>
  548. <fileset dir="${aspectj.modules.dir}/util/src">
  549. <exclude name="CVS"/>
  550. <exclude name="**/.cvsignore"/>
  551. </fileset>
  552. <fileset dir="${aspectj.modules.dir}/weaver/src">
  553. <exclude name="CVS"/>
  554. <exclude name="**/.cvsignore"/>
  555. </fileset>
  556. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  557. <exclude name="CVS"/>
  558. <exclude name="**/.cvsignore"/>
  559. </fileset>
  560. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  561. <exclude name="CVS"/>
  562. <exclude name="**/.cvsignore"/>
  563. </fileset>
  564. </jar>
  565. <delete dir="${aj.src.dir}/bcelsrc" failonerror="false"/>
  566. <delete dir="${aj.src.dir}/jdtsrc" failonerror="false"/>
  567. <jar destfile="${aj.src.dir}/org.aspectj.matcher-${build.version}-src.jar">
  568. <fileset dir="${aspectj.modules.dir}/bridge/src">
  569. <exclude name="CVS"/>
  570. <exclude name="**/.cvsignore"/>
  571. </fileset>
  572. <fileset dir="${aspectj.modules.dir}/util/src">
  573. <exclude name="CVS"/>
  574. <exclude name="**/.cvsignore"/>
  575. </fileset>
  576. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  577. <exclude name="CVS"/>
  578. <exclude name="**/.cvsignore"/>
  579. </fileset>
  580. <!--
  581. <fileset dir="${aj.src.dir}/jdtsrc">
  582. <exclude name="CVS"/>
  583. <exclude name="**/.cvsignore"/>
  584. </fileset>
  585. <fileset dir="${aj.src.dir}/bcelsrc">
  586. <exclude name="CVS"/>
  587. <exclude name="**/.cvsignore"/>
  588. </fileset>
  589. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  590. <exclude name="CVS"/>
  591. <exclude name="**/.cvsignore"/>
  592. </fileset>
  593. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  594. <exclude name="CVS"/>
  595. <exclude name="**/.cvsignore"/>
  596. </fileset>
  597. <fileset dir="${aspectj.modules.dir}/ajde/src">
  598. <exclude name="CVS"/>
  599. <exclude name="**/.cvsignore"/>
  600. </fileset>
  601. <fileset dir="${aspectj.modules.dir}/ajde.core/src">
  602. <exclude name="CVS"/>
  603. <exclude name="**/.cvsignore"/>
  604. </fileset>
  605. <fileset dir="${aspectj.modules.dir}/runtime/src">
  606. <exclude name="CVS"/>
  607. <exclude name="**/.cvsignore"/>
  608. </fileset>
  609. <fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
  610. <exclude name="CVS"/>
  611. <exclude name="**/.cvsignore"/>
  612. </fileset>
  613. <fileset dir="${aspectj.modules.dir}/ajdoc/src">
  614. <exclude name="CVS"/>
  615. <exclude name="**/.cvsignore"/>
  616. </fileset>
  617. <fileset dir="${aspectj.modules.dir}/asm/src">
  618. <exclude name="CVS"/>
  619. <exclude name="**/.cvsignore"/>
  620. </fileset>
  621. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  622. <exclude name="CVS"/>
  623. <exclude name="**/.cvsignore"/>
  624. </fileset>
  625. <fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
  626. <exclude name="CVS"/>
  627. <exclude name="**/.cvsignore"/>
  628. </fileset>
  629. <fileset dir="${aspectj.modules.dir}/taskdefs/src">
  630. <exclude name="CVS"/>
  631. <exclude name="**/.cvsignore"/>
  632. </fileset>
  633. <fileset dir="${aspectj.modules.dir}/weaver/src">
  634. <exclude name="CVS"/>
  635. <exclude name="**/.cvsignore"/>
  636. </fileset>
  637. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  638. <exclude name="CVS"/>
  639. <exclude name="**/.cvsignore"/>
  640. </fileset>
  641. -->
  642. </jar>
  643. <jar destfile="${aj.src.dir}/org.aspectj-${build.version}-src.jar">
  644. <fileset dir="${aj.src.dir}">
  645. <include name="aspectjrt${build.version}-src.jar"/>
  646. <include name="aspectjweaver${build.version}-src.jar"/>
  647. <include name="aspectjtools${build.version}-src.jar"/>
  648. <include name="org.aspectj.matcher-${build.version}-src.jar"/>
  649. </fileset>
  650. </jar>
  651. <delete file="{aj.src.dir}/aspectjrt${build.version}-src.jar"/>
  652. <delete file="{aj.src.dir}/aspectjweaver${build.version}-src.jar"/>
  653. <delete file="{aj.src.dir}/aspectjtools${build.version}-src.jar"/>
  654. <delete file="{aj.src.dir}/org.aspectj.matcher${build.version}-src.jar"/>
  655. </target>
  656. <target name="repo" depends="init" description="deploy maven repo">
  657. <property name="repo.url" value="scp://simonegianni.it/home/mavenrsync/repo"/>
  658. <property name="repo.id" value="simonegianni-rsync"/>
  659. <mkdir dir="${modules.dir}/aj-build/repo"/>
  660. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjtools.pom"/>
  661. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjweaver.pom"/>
  662. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjrt.pom"/>
  663. <replaceregexp byline="true" flags="g">
  664. <regexp pattern="ASPECTJVERSION"/>
  665. <substitution expression="${repo.version}"/>
  666. <fileset dir="${modules.dir}/aj-build/repo">
  667. <include name="*.pom"/>
  668. </fileset>
  669. </replaceregexp>
  670. <!-- Invoke maven to deploy the jars to the rsynced repo -->
  671. <antcall target="mavenDeployJar">
  672. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjtools.jar"/>
  673. <param name="artifact" value="aspectjtools"/>
  674. <param name="desc" value="AspectJ Tools"/>
  675. </antcall>
  676. <antcall target="mavenDeployJar">
  677. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjweaver.jar"/>
  678. <param name="artifact" value="aspectjweaver"/>
  679. <param name="desc" value="AspectJ Weaver"/>
  680. </antcall>
  681. <antcall target="mavenDeployJar">
  682. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjrt.jar"/>
  683. <param name="artifact" value="aspectjrt"/>
  684. <param name="desc" value="AspectJ Runtime"/>
  685. </antcall>
  686. <antcall target="mavenDeploySource">
  687. <param name="file" value="${modules.dir}/aj-build/src/aspectjtools${build.version}-src.jar"/>
  688. <param name="artifact" value="aspectjtools"/>
  689. <param name="desc" value="AspectJ Tools"/>
  690. </antcall>
  691. <antcall target="mavenDeploySource">
  692. <param name="file" value="${modules.dir}/aj-build/src/aspectjweaver${build.version}-src.jar"/>
  693. <param name="artifact" value="aspectjweaver"/>
  694. <param name="desc" value="AspectJ Weaver"/>
  695. </antcall>
  696. <antcall target="mavenDeploySource">
  697. <param name="file" value="${modules.dir}/aj-build/src/aspectjrt${build.version}-src.jar"/>
  698. <param name="artifact" value="aspectjrt"/>
  699. <param name="desc" value="AspectJ Runtime"/>
  700. </antcall>
  701. </target>
  702. <!--
  703. ant -propertyfile XXX publishtomaven
  704. -->
  705. <target name="publishtomaven_snapshot" depends="maven.init">
  706. <property name="build.root" value="/Users/aclement/gits/org.aspectj/aj-build"/>
  707. <property name="adjusted.release.type" value="snapshot"/>
  708. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  709. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  710. <property name="src.jars.folder" value="${build.root}/src"/>
  711. <property name="suffix" value="DEVELOPMENT"/>
  712. <!-- ASPECTJRT -->
  713. <maven:deploy file="${bin.jars.folder}/aspectjrt.jar">
  714. <remoteRepository url="${maven.central.repository}">
  715. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  716. </remoteRepository>
  717. <pom file="usedForMavenUpload/aspectjrt.pom"/>
  718. <attach file="${src.jars.folder}/aspectjrt${suffix}-src.jar" classifier="sources"/>
  719. </maven:deploy>
  720. <!-- ASPECTJTOOLS -->
  721. <maven:deploy file="${bin.jars.folder}/aspectjtools.jar">
  722. <remoteRepository url="${maven.central.repository}">
  723. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  724. </remoteRepository>
  725. <pom file="usedForMavenUpload/aspectjtools.pom"/>
  726. <attach file="${src.jars.folder}/aspectjtools${suffix}-src.jar" classifier="sources"/>
  727. </maven:deploy>
  728. <!-- ASPECTJWEAVER -->
  729. <maven:deploy file="${bin.jars.folder}/aspectjweaver.jar">
  730. <remoteRepository url="${maven.central.repository}">
  731. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  732. </remoteRepository>
  733. <pom file="usedForMavenUpload/aspectjweaver.pom"/>
  734. <attach file="${src.jars.folder}/aspectjweaver${suffix}-src.jar" classifier="sources"/>
  735. </maven:deploy>
  736. </target>
  737. <target name="publishtomaven_milestone" depends="maven.init">
  738. <property name="suffix" value="1.8.0.M1"/>
  739. <property name="build.root" value="/Users/aclement/gits/org.aspectj/aj-build"/>
  740. <property name="adjusted.release.type" value="milestone"/>
  741. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  742. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  743. <property name="src.jars.folder" value="${build.root}/src"/>
  744. <!-- ASPECTJRT -->
  745. <maven:deploy file="${bin.jars.folder}/aspectjrt.jar">
  746. <remoteRepository url="${maven.central.repository}">
  747. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  748. </remoteRepository>
  749. <pom file="usedForMavenUpload_milestone/aspectjrt.pom"/>
  750. <attach file="${src.jars.folder}/aspectjrt${suffix}-src.jar" classifier="sources"/>
  751. </maven:deploy>
  752. <!-- ASPECTJTOOLS -->
  753. <maven:deploy file="${bin.jars.folder}/aspectjtools.jar">
  754. <remoteRepository url="${maven.central.repository}">
  755. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  756. </remoteRepository>
  757. <pom file="usedForMavenUpload_milestone/aspectjtools.pom"/>
  758. <attach file="${src.jars.folder}/aspectjtools${suffix}-src.jar" classifier="sources"/>
  759. </maven:deploy>
  760. <!-- ASPECTJWEAVER -->
  761. <maven:deploy file="${bin.jars.folder}/aspectjweaver.jar">
  762. <remoteRepository url="${maven.central.repository}">
  763. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  764. </remoteRepository>
  765. <pom file="usedForMavenUpload_milestone/aspectjweaver.pom"/>
  766. <attach file="${src.jars.folder}/aspectjweaver${suffix}-src.jar" classifier="sources"/>
  767. </maven:deploy>
  768. </target>
  769. <target name="publishtomaven_release" depends="maven.init">
  770. <property name="suffix" value="1.7.2"/>
  771. <property name="build.root" value="/Users/aclement/gits/org.aspectj/aj-build"/>
  772. <property name="adjusted.release.type" value="release"/>
  773. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  774. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  775. <property name="src.jars.folder" value="${build.root}/src"/>
  776. <!-- ASPECTJRT -->
  777. <maven:deploy file="${bin.jars.folder}/aspectjrt.jar">
  778. <remoteRepository url="${maven.central.repository}">
  779. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  780. </remoteRepository>
  781. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjrt.pom"/>
  782. <attach file="${src.jars.folder}/aspectjrt${suffix}-src.jar" classifier="sources"/>
  783. </maven:deploy>
  784. <!-- ASPECTJTOOLS -->
  785. <maven:deploy file="${bin.jars.folder}/aspectjtools.jar">
  786. <remoteRepository url="${maven.central.repository}">
  787. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  788. </remoteRepository>
  789. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjtools.pom"/>
  790. <attach file="${src.jars.folder}/aspectjtools${suffix}-src.jar" classifier="sources"/>
  791. </maven:deploy>
  792. <!-- ASPECTJWEAVER -->
  793. <maven:deploy file="${bin.jars.folder}/aspectjweaver.jar">
  794. <remoteRepository url="${maven.central.repository}">
  795. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  796. </remoteRepository>
  797. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjweaver.pom"/>
  798. <attach file="${src.jars.folder}/aspectjweaver${suffix}-src.jar" classifier="sources"/>
  799. </maven:deploy>
  800. </target>
  801. <target name="repo2" depends="maven.init">
  802. </target>
  803. <target name="mavenDeployJar">
  804. <!--
  805. Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
  806. this mean you need to have maven installed on your system.
  807. -->
  808. <exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="true">
  809. <arg line="--batch-mode"/>
  810. <arg line="deploy:deploy-file"/>
  811. <arg line="-Durl=${repo.url}"/>
  812. <arg line="-DrepositoryId=${repo.id}"/>
  813. <arg line="-Dfile=${file}"/>
  814. <arg line="-DgroupId=org.aspectj"/>
  815. <arg line="-DartifactId=${artifact}"/>
  816. <arg line="-Dpackaging=jar"/>
  817. <arg line="-Dversion=${repo.version}"/>
  818. <arg line="-DpomFile=${modules.dir}/aj-build/repo/${artifact}.pom"/>
  819. </exec>
  820. </target>
  821. <target name="mavenDeploySource">
  822. <!--
  823. Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
  824. this mean you need to have maven installed on your system.
  825. failonerror is set to false because deploy:deploy-file goes NPE for some obscure reason
  826. on recent versions, see http://jira.codehaus.org/browse/MDEPLOY-48
  827. -->
  828. <exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="false">
  829. <arg line="--batch-mode"/>
  830. <arg line="deploy:deploy-file"/>
  831. <arg line="-Durl=${repo.url}"/>
  832. <arg line="-DrepositoryId=${repo.id}"/>
  833. <arg line="-Dfile=${file}"/>
  834. <arg line="-DgroupId=org.aspectj"/>
  835. <arg line="-DartifactId=${artifact}"/>
  836. <arg line="-Dpackaging=java-source"/>
  837. <arg line="-Dversion=${repo.version}"/>
  838. <arg value="-DgeneratePom=false"/>
  839. </exec>
  840. </target>
  841. </project>