Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

21 лет назад
21 лет назад
18 лет назад
21 лет назад
18 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
15 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
21 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
15 лет назад
13 лет назад
3 лет назад
3 лет назад
3 лет назад
3 лет назад
3 лет назад
3 лет назад
3 лет назад
3 лет назад
13 лет назад
11 лет назад
13 лет назад
11 лет назад
13 лет назад
15 лет назад
15 лет назад
21 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988
  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. <!--
  247. <maven:install-provider groupId="org.springframework.build" artifactId="aws.maven"
  248. version="${org.springframework.build.aws.maven.version}"/>
  249. -->
  250. </target>
  251. <target name="junitreport" depends="init,init-taskdefs"
  252. if="junitreport.available">
  253. <clean-dir dir="${aj.junit.dir}/html"/>
  254. <junitreport todir="${aj.junit.dir}/html">
  255. <fileset dir="${aj.junit.dir}">
  256. <include name="**/TEST-*.xml"/>
  257. </fileset>
  258. <report format="frames" todir="${aj.junit.dir}/html"/>
  259. </junitreport>
  260. <pathconvert property="jur.url" targetos="unix">
  261. <path location="${aj.junit.dir}/html/index.html"/>
  262. </pathconvert>
  263. <echo message="see file:${jur.url}"/>
  264. </target>
  265. <target name="do-test-junit"
  266. depends="init-taskdefs"
  267. description="run junit tests for a module using module root or leaves">
  268. <property name="dtj.dir"
  269. location="${aj.junit.dir}/${module.name}"/>
  270. <mkdir dir="${dtj.dir}"/>
  271. <condition property="dtj.includes"
  272. value="${junit.includes}"
  273. else="${junit.rootSuites}">
  274. <istrue value="${junit.leaves}"/>
  275. </condition>
  276. <condition property="dtj.excludes"
  277. value="${junit.excludes}"
  278. else="">
  279. <istrue value="${junit.leaves}"/>
  280. </condition>
  281. <junit
  282. dir="${aspectj.modules.build.dir}"
  283. failureproperty="test-junit-${module.name}.failed"
  284. fork="on"
  285. forkmode="perTest"
  286. maxmemory="400m"
  287. includeAntRuntime="off"
  288. printsummary="yes"
  289. haltonfailure="${haltOnTestFailure}" >
  290. <classpath>
  291. <pathelement location="${aj.jar.dir}/${module.name}-test-all.jar"/>
  292. <!-- see skipped libraries in Builder.properties -->
  293. <pathelement location="${jdk.tools.jar}"/>
  294. <pathelement location="${aspectj.modules.lib.dir}/junit/junit.jar"/>
  295. <fileset dir="${aspectj.modules.lib.dir}/commons" includes="commons.jar"/>
  296. <!-- XML api's used by loadtime, also needed when running under 1.3 per Ant FAQ -->
  297. <fileset dir="${aspectj.modules.lib.dir}/ant/lib"
  298. includes="ant.jar,ant-junit.jar,xml-apis.jar,xercesImpl.jar"/>
  299. </classpath>
  300. <jvmarg value="-Daspectjrtpath=${lib.test.aspectjrt.jar}" />
  301. <formatter type="xml"/>
  302. <batchtest todir="${dtj.dir}">
  303. <fileset dir="${modules.dir}/${module.name}/testsrc"
  304. includes="${dtj.includes}"
  305. excludes="${dtj.excludes}"/>
  306. </batchtest>
  307. </junit>
  308. <report-if-failed text="JUnit tests for ${module.name} failed"
  309. property="test-junit-${module.name}.failed"/>
  310. </target>
  311. <!-- ===================================================================== -->
  312. <!-- custom targets -->
  313. <!-- ===================================================================== -->
  314. <target name="build-harness-jar" depends="init"
  315. description="build harness jar from scratch">
  316. <antcall target="clean-jars"/>
  317. <assemble-module-test module="testing-drivers"/>
  318. </target>
  319. <target name="build-testing-jars" depends="init"
  320. description="build testing jars from scratch">
  321. <antcall target="build-harness-jar"/>
  322. </target>
  323. <target name="build-testing-client" depends="init-taskdefs,init">
  324. <build-module module="testing-client" assemble="true"/>
  325. <assemble-module-test module="testing-client"/>
  326. <echo>
  327. To use testing client jar in tests,
  328. mv ../aj-build/jars/testing-client-all.jar ../lib/tests/testing-client.jar
  329. </echo>
  330. </target>
  331. <target name="aspectj" depends="init,aspectjtools-dist,docs-dist" description="create installer from local distributions">
  332. <property name="installer.staging.dir" location="${aj.temp.dir}/installer-staging"/>
  333. <clean-dir dir="${installer.staging.dir}"/>
  334. <copy todir="${installer.staging.dir}">
  335. <fileset dir="${aj.dist.dir}/tools"/>
  336. <fileset dir="${aj.dist.dir}/docs"/>
  337. </copy>
  338. <antcall target="create-installer">
  339. <param name="installer.file" location="${aj.installer.jar}"/>
  340. <param name="staging.dir" location="${installer.staging.dir}"/>
  341. <param name="htmlSrc.dir" location="${aspectj.modules.build.dir}/products/aspectj/install"/>
  342. <param name="simpleClassName" value="ToolsInstaller"/>
  343. </antcall>
  344. <delete dir="${installer.staging.dir}"/>
  345. </target>
  346. <target name="docs-dist" depends="init">
  347. <ant dir="${aspectj.modules.dir}/docs"
  348. antfile="build.xml"
  349. target="local-dist"
  350. inheritAll="false"/>
  351. </target>
  352. <target name="aspectjrt" depends="init"
  353. description="build aspectjrt.jar (differently than release)">
  354. <build-module-all module="aspectj5rt"/>
  355. <copy file="${aj.jar.dir}/aspectj5rt-all.jar"
  356. tofile="${aj.jar.dir}/aspectjrt.jar"/>
  357. </target>
  358. <target name="compile-runtime-11" depends="init-properties"
  359. description="compile runtime under 1.1 - fails, but by how much?">
  360. <condition property="cr1.in13">
  361. <equals arg1="1.3" arg2="${ant.java.version}"/>
  362. </condition>
  363. <antcall target="compile-runtime-11-flag-unless13"/>
  364. <antcall target="compile-runtime-11-do-if13"/>
  365. </target>
  366. <target name="compile-runtime-11-flag-unless13" depends="init-properties"
  367. unless="cr1.in13">
  368. <echo message="Skipping compile-runtime-11 unless 1.3"/>
  369. </target>
  370. <target name="compile-runtime-11-do-if13" depends="init-properties"
  371. if="cr1.in13">
  372. <mkdir dir="${aj.build.dir}/classes-1.1"/>
  373. <property name="java11.classes.zip"
  374. location="${java11.home}/lib/classes.zip"/>
  375. <available property="classes.zip.available"
  376. file="${java11.classes.zip}"/>
  377. <fail unless="classes.zip.available" message="no 1.1 bootclasspath"/>
  378. <javac
  379. compiler="javac1.1"
  380. bootclasspath="${java11.classes.zip}"
  381. source="1.3"
  382. includejavaruntime="no"
  383. includeantruntime="no"
  384. destdir="${aj.build.dir}/classes-1.1"
  385. srcdir="${aspectj.modules.dir}/runtime/src"
  386. target="1.1"
  387. verbose="false"
  388. failonerror="true"
  389. />
  390. <delete dir="${aj.build.dir}/classes-1.1"/>
  391. </target>
  392. <!-- ===================================================================== -->
  393. <!-- boilerplate antcalls -->
  394. <!-- ===================================================================== -->
  395. <!-- for any-[module|product], define [module|product].name -->
  396. <target name="any-module" depends="init">
  397. <fail unless="module.name" message="use -Dmodule.name=... to define"/>
  398. <build-module module="${module.name}"/>
  399. </target>
  400. <target name="any-module-all" depends="init">
  401. <fail unless="module.name" message="use -Dmodule.name=... to define"/>
  402. <build-module-all module="${module.name}"/>
  403. </target>
  404. <target name="any-product" depends="init">
  405. <fail unless="product.name" message="use -Dproduct.name=... to define"/>
  406. <antcall target="build-product">
  407. <param name="product.name" value="${product.name}"/>
  408. </antcall>
  409. </target>
  410. <target name="ajbrowser-all" >
  411. <build-module-all module="ajbrowser"/>
  412. </target>
  413. <target name="ajdoc-all">
  414. <build-module-all module="ajdoc"/>
  415. </target>
  416. <target name="build">
  417. <build-module-all module="build"/>
  418. </target>
  419. <target name="aspectjtools-dist" depends="init" description="build local distribution">
  420. <antcall target="build-product">
  421. <param name="product.name" value="tools"/>
  422. </antcall>
  423. </target>
  424. <!-- ===================================================================== -->
  425. <!-- eclipse plugins -->
  426. <!-- ===================================================================== -->
  427. <target name="eclipse.plugins" depends="init"
  428. description="create the Eclipse distribution plugins">
  429. <ant dir="${aspectj.modules.dir}/eclipse.plugin" inheritAll="false"/>
  430. </target>
  431. <target name="src" depends="init" description="build src modules">
  432. <mkdir dir="${aj.src.dir}"/>
  433. <jar destfile="${aj.src.dir}/aspectjrt${build.version}-src.jar">
  434. <fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
  435. <exclude name="CVS"/>
  436. <exclude name="**/.cvsignore"/>
  437. </fileset>
  438. <fileset dir="${aspectj.modules.dir}/runtime/src">
  439. <exclude name="CVS"/>
  440. <exclude name="**/.cvsignore"/>
  441. </fileset>
  442. </jar>
  443. <unzip dest="${aj.src.dir}/bcelsrc" src="${aspectj.modules.dir}/lib/bcel/bcel-src.zip"/>
  444. <!-- loadtime5/asm/bridge/loadtime/weaver/weaver5 -->
  445. <jar destfile="${aj.src.dir}/aspectjweaver${build.version}-src.jar">
  446. <fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
  447. <exclude name="CVS"/>
  448. <exclude name="**/.cvsignore"/>
  449. </fileset>
  450. <fileset dir="${aspectj.modules.dir}/runtime/src">
  451. <exclude name="CVS"/>
  452. <exclude name="**/.cvsignore"/>
  453. <exclude name="**/*.html"/>
  454. </fileset>
  455. <fileset dir="${aj.src.dir}/bcelsrc">
  456. <exclude name="CVS"/>
  457. <exclude name="**/.cvsignore"/>
  458. </fileset>
  459. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  460. <exclude name="CVS"/>
  461. <exclude name="**/.cvsignore"/>
  462. </fileset>
  463. <fileset dir="${aspectj.modules.dir}/asm/src">
  464. <exclude name="CVS"/>
  465. <exclude name="**/.cvsignore"/>
  466. </fileset>
  467. <fileset dir="${aspectj.modules.dir}/bridge/src">
  468. <exclude name="CVS"/>
  469. <exclude name="**/.cvsignore"/>
  470. </fileset>
  471. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  472. <exclude name="CVS"/>
  473. <exclude name="**/.cvsignore"/>
  474. </fileset>
  475. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  476. <exclude name="CVS"/>
  477. <exclude name="**/.cvsignore"/>
  478. </fileset>
  479. <fileset dir="${aspectj.modules.dir}/weaver/src">
  480. <exclude name="CVS"/>
  481. <exclude name="**/.cvsignore"/>
  482. </fileset>
  483. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  484. <exclude name="CVS"/>
  485. <exclude name="**/.cvsignore"/>
  486. </fileset>
  487. <fileset dir="${aspectj.modules.dir}/util/src">
  488. <exclude name="CVS"/>
  489. <exclude name="**/.cvsignore"/>
  490. </fileset>
  491. </jar>
  492. <!-- missing from this are the jdtDepends.jar src files -->
  493. <unzip dest="${aj.src.dir}/jdtsrc" src="${aspectj.modules.dir}/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip"/>
  494. <!-- ajde/ajde.core/ajdoc/asm/bridge/loadtime/org.aspectj.ajdt.core/taskdefs/util/weaver5 -->
  495. <jar destfile="${aj.src.dir}/aspectjtools${build.version}-src.jar">
  496. <fileset dir="${aj.src.dir}/jdtsrc">
  497. <exclude name="CVS"/>
  498. <exclude name="**/.cvsignore"/>
  499. </fileset>
  500. <fileset dir="${aj.src.dir}/bcelsrc">
  501. <exclude name="CVS"/>
  502. <exclude name="**/.cvsignore"/>
  503. </fileset>
  504. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  505. <exclude name="CVS"/>
  506. <exclude name="**/.cvsignore"/>
  507. </fileset>
  508. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  509. <exclude name="CVS"/>
  510. <exclude name="**/.cvsignore"/>
  511. </fileset>
  512. <fileset dir="${aspectj.modules.dir}/ajde/src">
  513. <exclude name="CVS"/>
  514. <exclude name="**/.cvsignore"/>
  515. </fileset>
  516. <fileset dir="${aspectj.modules.dir}/ajde.core/src">
  517. <exclude name="CVS"/>
  518. <exclude name="**/.cvsignore"/>
  519. </fileset>
  520. <fileset dir="${aspectj.modules.dir}/runtime/src">
  521. <exclude name="CVS"/>
  522. <exclude name="**/.cvsignore"/>
  523. </fileset>
  524. <fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
  525. <exclude name="CVS"/>
  526. <exclude name="**/.cvsignore"/>
  527. </fileset>
  528. <fileset dir="${aspectj.modules.dir}/ajdoc/src">
  529. <exclude name="CVS"/>
  530. <exclude name="**/.cvsignore"/>
  531. </fileset>
  532. <fileset dir="${aspectj.modules.dir}/asm/src">
  533. <exclude name="CVS"/>
  534. <exclude name="**/.cvsignore"/>
  535. </fileset>
  536. <fileset dir="${aspectj.modules.dir}/bridge/src">
  537. <exclude name="CVS"/>
  538. <exclude name="**/.cvsignore"/>
  539. </fileset>
  540. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  541. <exclude name="CVS"/>
  542. <exclude name="**/.cvsignore"/>
  543. </fileset>
  544. <fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
  545. <exclude name="CVS"/>
  546. <exclude name="**/.cvsignore"/>
  547. </fileset>
  548. <fileset dir="${aspectj.modules.dir}/taskdefs/src">
  549. <exclude name="CVS"/>
  550. <exclude name="**/.cvsignore"/>
  551. </fileset>
  552. <fileset dir="${aspectj.modules.dir}/util/src">
  553. <exclude name="CVS"/>
  554. <exclude name="**/.cvsignore"/>
  555. </fileset>
  556. <fileset dir="${aspectj.modules.dir}/weaver/src">
  557. <exclude name="CVS"/>
  558. <exclude name="**/.cvsignore"/>
  559. </fileset>
  560. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  561. <exclude name="CVS"/>
  562. <exclude name="**/.cvsignore"/>
  563. </fileset>
  564. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  565. <exclude name="CVS"/>
  566. <exclude name="**/.cvsignore"/>
  567. </fileset>
  568. </jar>
  569. <delete dir="${aj.src.dir}/bcelsrc" failonerror="false"/>
  570. <delete dir="${aj.src.dir}/jdtsrc" failonerror="false"/>
  571. <jar destfile="${aj.src.dir}/org.aspectj.matcher-${build.version}-src.jar">
  572. <fileset dir="${aspectj.modules.dir}/bridge/src">
  573. <exclude name="CVS"/>
  574. <exclude name="**/.cvsignore"/>
  575. </fileset>
  576. <fileset dir="${aspectj.modules.dir}/util/src">
  577. <exclude name="CVS"/>
  578. <exclude name="**/.cvsignore"/>
  579. </fileset>
  580. <fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
  581. <exclude name="CVS"/>
  582. <exclude name="**/.cvsignore"/>
  583. </fileset>
  584. <!--
  585. <fileset dir="${aj.src.dir}/jdtsrc">
  586. <exclude name="CVS"/>
  587. <exclude name="**/.cvsignore"/>
  588. </fileset>
  589. <fileset dir="${aj.src.dir}/bcelsrc">
  590. <exclude name="CVS"/>
  591. <exclude name="**/.cvsignore"/>
  592. </fileset>
  593. <fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
  594. <exclude name="CVS"/>
  595. <exclude name="**/.cvsignore"/>
  596. </fileset>
  597. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  598. <exclude name="CVS"/>
  599. <exclude name="**/.cvsignore"/>
  600. </fileset>
  601. <fileset dir="${aspectj.modules.dir}/ajde/src">
  602. <exclude name="CVS"/>
  603. <exclude name="**/.cvsignore"/>
  604. </fileset>
  605. <fileset dir="${aspectj.modules.dir}/ajde.core/src">
  606. <exclude name="CVS"/>
  607. <exclude name="**/.cvsignore"/>
  608. </fileset>
  609. <fileset dir="${aspectj.modules.dir}/runtime/src">
  610. <exclude name="CVS"/>
  611. <exclude name="**/.cvsignore"/>
  612. </fileset>
  613. <fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
  614. <exclude name="CVS"/>
  615. <exclude name="**/.cvsignore"/>
  616. </fileset>
  617. <fileset dir="${aspectj.modules.dir}/ajdoc/src">
  618. <exclude name="CVS"/>
  619. <exclude name="**/.cvsignore"/>
  620. </fileset>
  621. <fileset dir="${aspectj.modules.dir}/asm/src">
  622. <exclude name="CVS"/>
  623. <exclude name="**/.cvsignore"/>
  624. </fileset>
  625. <fileset dir="${aspectj.modules.dir}/loadtime/src">
  626. <exclude name="CVS"/>
  627. <exclude name="**/.cvsignore"/>
  628. </fileset>
  629. <fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
  630. <exclude name="CVS"/>
  631. <exclude name="**/.cvsignore"/>
  632. </fileset>
  633. <fileset dir="${aspectj.modules.dir}/taskdefs/src">
  634. <exclude name="CVS"/>
  635. <exclude name="**/.cvsignore"/>
  636. </fileset>
  637. <fileset dir="${aspectj.modules.dir}/weaver/src">
  638. <exclude name="CVS"/>
  639. <exclude name="**/.cvsignore"/>
  640. </fileset>
  641. <fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
  642. <exclude name="CVS"/>
  643. <exclude name="**/.cvsignore"/>
  644. </fileset>
  645. -->
  646. </jar>
  647. <jar destfile="${aj.src.dir}/org.aspectj-${build.version}-src.jar">
  648. <fileset dir="${aj.src.dir}">
  649. <include name="aspectjrt${build.version}-src.jar"/>
  650. <include name="aspectjweaver${build.version}-src.jar"/>
  651. <include name="aspectjtools${build.version}-src.jar"/>
  652. <include name="org.aspectj.matcher-${build.version}-src.jar"/>
  653. </fileset>
  654. </jar>
  655. <delete file="{aj.src.dir}/aspectjrt${build.version}-src.jar"/>
  656. <delete file="{aj.src.dir}/aspectjweaver${build.version}-src.jar"/>
  657. <delete file="{aj.src.dir}/aspectjtools${build.version}-src.jar"/>
  658. <delete file="{aj.src.dir}/org.aspectj.matcher${build.version}-src.jar"/>
  659. </target>
  660. <target name="repo" depends="init" description="deploy maven repo">
  661. <property name="repo.url" value="scp://simonegianni.it/home/mavenrsync/repo"/>
  662. <property name="repo.id" value="simonegianni-rsync"/>
  663. <mkdir dir="${modules.dir}/aj-build/repo"/>
  664. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjtools.pom"/>
  665. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjweaver.pom"/>
  666. <copy toDir="${modules.dir}/aj-build/repo" file="aspectjrt.pom"/>
  667. <replaceregexp byline="true" flags="g">
  668. <regexp pattern="ASPECTJVERSION"/>
  669. <substitution expression="${repo.version}"/>
  670. <fileset dir="${modules.dir}/aj-build/repo">
  671. <include name="*.pom"/>
  672. </fileset>
  673. </replaceregexp>
  674. <!-- Invoke maven to deploy the jars to the rsynced repo -->
  675. <antcall target="mavenDeployJar">
  676. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjtools.jar"/>
  677. <param name="artifact" value="aspectjtools"/>
  678. <param name="desc" value="AspectJ Tools"/>
  679. </antcall>
  680. <antcall target="mavenDeployJar">
  681. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjweaver.jar"/>
  682. <param name="artifact" value="aspectjweaver"/>
  683. <param name="desc" value="AspectJ Weaver"/>
  684. </antcall>
  685. <antcall target="mavenDeployJar">
  686. <param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjrt.jar"/>
  687. <param name="artifact" value="aspectjrt"/>
  688. <param name="desc" value="AspectJ Runtime"/>
  689. </antcall>
  690. <antcall target="mavenDeploySource">
  691. <param name="file" value="${modules.dir}/aj-build/src/aspectjtools${build.version}-src.jar"/>
  692. <param name="artifact" value="aspectjtools"/>
  693. <param name="desc" value="AspectJ Tools"/>
  694. </antcall>
  695. <antcall target="mavenDeploySource">
  696. <param name="file" value="${modules.dir}/aj-build/src/aspectjweaver${build.version}-src.jar"/>
  697. <param name="artifact" value="aspectjweaver"/>
  698. <param name="desc" value="AspectJ Weaver"/>
  699. </antcall>
  700. <antcall target="mavenDeploySource">
  701. <param name="file" value="${modules.dir}/aj-build/src/aspectjrt${build.version}-src.jar"/>
  702. <param name="artifact" value="aspectjrt"/>
  703. <param name="desc" value="AspectJ Runtime"/>
  704. </antcall>
  705. </target>
  706. <!--
  707. ant -propertyfile XXX publishtomaven
  708. -->
  709. <target name="publishtomaven_snapshot" depends="maven.init">
  710. <property name="build.root" value="/Users/aclement/gits/org.aspectj"/>
  711. <property name="adjusted.release.type" value="snapshot"/>
  712. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  713. <!--
  714. <property name="maven.central.repository" value="https://repo.spring.io/libs-snapshot-local/org/aspectj/aspectjweaver"/>
  715. -->
  716. <!-- aspectjtools/target/aspectjtools-1.9.6.BUILD-SNAPSHOT.jar -->
  717. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  718. <property name="src.jars.folder" value="${build.root}/src"/>
  719. <property name="suffix" value="1.9.6.BUILD-SNAPSHOT"/>
  720. <!-- ASPECTJRT -->
  721. <maven:deploy file="${build.root}/aspectjrt/target/aspectjrt-${suffix}.jar">
  722. <remoteRepository url="${maven.central.repository}">
  723. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  724. </remoteRepository>
  725. <pom file="usedForMavenUpload/aspectjrt.pom"/>
  726. <attach file="${build.root}/aspectjrt/target/aspectjrt-${suffix}-sources.jar" classifier="sources"/>
  727. </maven:deploy>
  728. <!-- ASPECTJTOOLS -->
  729. <maven:deploy file="${build.root}/aspectjtools/target/aspectjtools-${suffix}.jar">
  730. <remoteRepository url="${maven.central.repository}">
  731. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  732. </remoteRepository>
  733. <pom file="usedForMavenUpload/aspectjtools.pom"/>
  734. <attach file="${build.root}/aspectjtools/target/aspectjtools-${suffix}-sources.jar" classifier="sources"/>
  735. </maven:deploy>
  736. <!-- ASPECTJWEAVER -->
  737. <maven:deploy file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}.jar">
  738. <remoteRepository url="${maven.central.repository}">
  739. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  740. </remoteRepository>
  741. <pom file="usedForMavenUpload/aspectjweaver.pom"/>
  742. <attach file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}-sources.jar" classifier="sources"/>
  743. </maven:deploy>
  744. <!-- ASPECTJMATCHER -->
  745. <maven:deploy file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}.jar">
  746. <remoteRepository url="${maven.central.repository}">
  747. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  748. </remoteRepository>
  749. <pom file="usedForMavenUpload/aspectjmatcher.pom"/>
  750. <attach file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}-sources.jar" classifier="sources"/>
  751. </maven:deploy>
  752. </target>
  753. <target name="publishtomaven_milestone" depends="maven.init">
  754. <property name="build.root" value="/Users/aclement/gits/org.aspectj"/>
  755. <property name="suffix" value="1.9.7.M1"/>
  756. <property name="adjusted.release.type" value="milestone"/>
  757. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  758. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  759. <property name="src.jars.folder" value="${build.root}/src"/>
  760. <!-- ASPECTJRT -->
  761. <maven:deploy file="${build.root}/aspectjrt/target/aspectjrt-${suffix}.jar">
  762. <remoteRepository url="${maven.central.repository}">
  763. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  764. </remoteRepository>
  765. <pom file="usedForMavenUpload_milestone/aspectjrt.pom"/>
  766. <attach file="${build.root}/aspectjrt/target/aspectjrt-${suffix}-sources.jar" classifier="sources"/>
  767. </maven:deploy>
  768. <!-- ASPECTJTOOLS -->
  769. <maven:deploy file="${build.root}/aspectjtools/target/aspectjtools-${suffix}.jar">
  770. <remoteRepository url="${maven.central.repository}">
  771. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  772. </remoteRepository>
  773. <pom file="usedForMavenUpload_milestone/aspectjtools.pom"/>
  774. <attach file="${build.root}/aspectjtools/target/aspectjtools-${suffix}-sources.jar" classifier="sources"/>
  775. </maven:deploy>
  776. <!-- ASPECTJWEAVER -->
  777. <maven:deploy file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}.jar">
  778. <remoteRepository url="${maven.central.repository}">
  779. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  780. </remoteRepository>
  781. <pom file="usedForMavenUpload_milestone/aspectjweaver.pom"/>
  782. <attach file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}-sources.jar" classifier="sources"/>
  783. </maven:deploy>
  784. <!-- ASPECTJMATCHER -->
  785. <maven:deploy file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}.jar">
  786. <remoteRepository url="${maven.central.repository}">
  787. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  788. </remoteRepository>
  789. <pom file="usedForMavenUpload_milestone/aspectjmatcher.pom"/>
  790. <attach file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}-sources.jar" classifier="sources"/>
  791. </maven:deploy>
  792. </target>
  793. <target name="publishtomaven_release" depends="maven.init">
  794. <property name="suffix" value="1.7.2"/>
  795. <property name="build.root" value="/Users/aclement/gits/org.aspectj/aj-build"/>
  796. <property name="adjusted.release.type" value="release"/>
  797. <property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
  798. <property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
  799. <property name="src.jars.folder" value="${build.root}/src"/>
  800. <!-- ASPECTJRT -->
  801. <maven:deploy file="${bin.jars.folder}/aspectjrt.jar">
  802. <remoteRepository url="${maven.central.repository}">
  803. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  804. </remoteRepository>
  805. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjrt.pom"/>
  806. <attach file="${src.jars.folder}/aspectjrt${suffix}-src.jar" classifier="sources"/>
  807. </maven:deploy>
  808. <!-- ASPECTJTOOLS -->
  809. <maven:deploy file="${bin.jars.folder}/aspectjtools.jar">
  810. <remoteRepository url="${maven.central.repository}">
  811. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  812. </remoteRepository>
  813. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjtools.pom"/>
  814. <attach file="${src.jars.folder}/aspectjtools${suffix}-src.jar" classifier="sources"/>
  815. </maven:deploy>
  816. <!-- ASPECTJWEAVER -->
  817. <maven:deploy file="${bin.jars.folder}/aspectjweaver.jar">
  818. <remoteRepository url="${maven.central.repository}">
  819. <authentication username="${accessKey}" passphrase="${secretKey}"/>
  820. </remoteRepository>
  821. <pom file="usedForMavenUpload_${adjusted.release.type}/aspectjweaver.pom"/>
  822. <attach file="${src.jars.folder}/aspectjweaver${suffix}-src.jar" classifier="sources"/>
  823. </maven:deploy>
  824. </target>
  825. <target name="repo2" depends="maven.init">
  826. </target>
  827. <target name="mavenDeployJar">
  828. <!--
  829. Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
  830. this mean you need to have maven installed on your system.
  831. -->
  832. <exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="true">
  833. <arg line="--batch-mode"/>
  834. <arg line="deploy:deploy-file"/>
  835. <arg line="-Durl=${repo.url}"/>
  836. <arg line="-DrepositoryId=${repo.id}"/>
  837. <arg line="-Dfile=${file}"/>
  838. <arg line="-DgroupId=org.aspectj"/>
  839. <arg line="-DartifactId=${artifact}"/>
  840. <arg line="-Dpackaging=jar"/>
  841. <arg line="-Dversion=${repo.version}"/>
  842. <arg line="-DpomFile=${modules.dir}/aj-build/repo/${artifact}.pom"/>
  843. </exec>
  844. </target>
  845. <target name="mavenDeploySource">
  846. <!--
  847. Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
  848. this mean you need to have maven installed on your system.
  849. failonerror is set to false because deploy:deploy-file goes NPE for some obscure reason
  850. on recent versions, see http://jira.codehaus.org/browse/MDEPLOY-48
  851. -->
  852. <exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="false">
  853. <arg line="--batch-mode"/>
  854. <arg line="deploy:deploy-file"/>
  855. <arg line="-Durl=${repo.url}"/>
  856. <arg line="-DrepositoryId=${repo.id}"/>
  857. <arg line="-Dfile=${file}"/>
  858. <arg line="-DgroupId=org.aspectj"/>
  859. <arg line="-DartifactId=${artifact}"/>
  860. <arg line="-Dpackaging=java-source"/>
  861. <arg line="-Dversion=${repo.version}"/>
  862. <arg value="-DgeneratePom=false"/>
  863. </exec>
  864. </target>
  865. </project>