Mirror von
https://github.com/eclipse-aspectj/aspectj.git
synchronisiert 2024-07-25 14:24:48 +02:00
![Alexander Kriegisch](/assets/img/avatar_default.png)
Closes #148. TODO: Should more AJDE stuff be removed? Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
984 Zeilen
39 KiB
XML
984 Zeilen
39 KiB
XML
<!-- -*- Mode: SGML; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -->
|
|
|
|
<!-- ========================================================================= -->
|
|
<!-- Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC), -->
|
|
<!-- 2003-2005 Contributors -->
|
|
<!-- All rights reserved. -->
|
|
<!-- This program and the accompanying materials are made available -->
|
|
<!-- under the terms of the Eclipse Public License v 2.0 -->
|
|
<!-- which accompanies this distribution and is available at -->
|
|
<!-- https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt -->
|
|
<!-- -->
|
|
<!-- Contributors: (See CVS checkin's) -->
|
|
<!-- Xerox/PARC initial implementation -->
|
|
<!-- Adrian Colyer / George Harley eclipse plugin targets -->
|
|
<!-- ========================================================================= -->
|
|
|
|
<project name="build" default="all" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:maven="antlib:org.apache.maven.artifact.ant">
|
|
|
|
<target name="all" depends="aspectj">
|
|
<antcall target="eclipse.plugins"/>
|
|
</target>
|
|
<target name="clean" depends="clean-directories"/>
|
|
|
|
<target name="compile" depends="build-module"
|
|
description="compile module ${module.name} (without tests, by default)"/>
|
|
|
|
<target name="compile-tests" depends="init"
|
|
description="compile module ${module.name} tests">
|
|
<assemble-module-test module="${module.name}"/>
|
|
</target>
|
|
|
|
<target name="test" depends="compile-tests">
|
|
<antcall target="do-test-junit"/>
|
|
</target>
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- Init -->
|
|
<!-- ===================================================================== -->
|
|
<property name="modules.dir" location="${basedir}/.."/>
|
|
<property name="module.name" value="${ant.project.name}"/>
|
|
|
|
<import file="${modules.dir}/build/build-properties.xml"/>
|
|
|
|
<target name="init" depends="init-properties,init-directories">
|
|
<property name="build.config" value=""/>
|
|
<property name="trim.testing.default" value="true"/>
|
|
<property name="aj.installer.jar" location="${aj.dist.dir}/aspectj-${build.version.long}.jar"/>
|
|
|
|
<available property="ant.lib.aspectjtools"
|
|
file="${ant.home}/lib/aspectjtools.jar"
|
|
value="Expect classpath errors from ${ant.home}/lib/aspectjtools.jar"/>
|
|
|
|
<available property="ant.lib.aspectjrt"
|
|
file="${ant.home}/lib/aspectjrt.jar"
|
|
value="Expect classpath errors from ${ant.home}/lib/aspectjrt.jar"/>
|
|
|
|
<available property="testing.drivers.all.available"
|
|
file="${aj.jar.dir}/testing-drivers-all.jar"
|
|
value="${aj.jar.dir}/testing-drivers-all.jar"/>
|
|
</target>
|
|
|
|
<target name="version-uptodate" depends="init,init-taskdefs"
|
|
unless="version-uptodate.done">
|
|
<!-- XXX change task to pre-check & avoid scan if dates uptodate -->
|
|
<versionuptodate
|
|
version="${build.version}"
|
|
versionSourceFile="${aspectj.modules.dir}/bridge/src/org/aspectj/bridge/Version.java"
|
|
versionTagFile="${aj.temp.dir}/versionUptodate"/>
|
|
|
|
<available file="${aj.temp.dir}/versionUptodate"
|
|
property="version.uptodate"/>
|
|
<property name="version-uptodate.done" value="done"/>
|
|
</target>
|
|
|
|
<target name="init-version" depends="init,init-filters,version-uptodate" >
|
|
<antcall target="init-filters"/>
|
|
<copy file="${aspectj.modules.dir}/build/lib/BridgeVersion.java.txt"
|
|
tofile="${aspectj.modules.dir}/bridge/src/org/aspectj/bridge/Version.java"
|
|
overwrite="yes" filtering="yes"/>
|
|
<property name="init.version.done" value="done"/>
|
|
<!-- consider checking this in? -->
|
|
</target>
|
|
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- Misc setup and warnings -->
|
|
<!-- ===================================================================== -->
|
|
|
|
<target name="warn.ant.lib.aspectjrt" if="ant.lib.aspectjrt">
|
|
<echo message="----- WARNING: ${ant.lib.aspectjrt}" />
|
|
</target>
|
|
|
|
<target name="warn.ant.lib.aspectjtools" if="ant.lib.aspectjtools">
|
|
<echo message="----- WARNING: ${ant.lib.aspectjtools}" />
|
|
</target>
|
|
|
|
<target name="fail-unless-boot-libraries-uptodate" depends="init"
|
|
description="fail unless all boot libraries are up-to-date">
|
|
|
|
<antcall target="verify-boot-lib">
|
|
<param name="boot.lib" value="test/aspectjrt.jar"/>
|
|
<param name="vbl.module.name" value="runtime"/>
|
|
</antcall>
|
|
|
|
<antcall target="verify-boot-lib">
|
|
<param name="boot.lib" value="build/build.jar"/>
|
|
<param name="vbl.module.name" value="build"/>
|
|
</antcall>
|
|
|
|
<antcall target="verify-boot-lib">
|
|
<param name="boot.lib" value="test/testing-client.jar"/>
|
|
<param name="vbl.module.name" value="testing-client"/>
|
|
</antcall>
|
|
|
|
<echo message="fyi, bridge/util changes rarely mean client is invalid"/>
|
|
<antcall target="verify-boot-lib">
|
|
<param name="boot.lib" value="test/testing-client.jar"/>
|
|
<param name="vbl.module.name" value="util"/>
|
|
</antcall>
|
|
|
|
<antcall target="verify-boot-lib">
|
|
<param name="boot.lib" value="test/testing-client.jar"/>
|
|
<param name="vbl.module.name" value="bridge"/>
|
|
</antcall>
|
|
|
|
<echo message="all boot libraries verified"/>
|
|
</target>
|
|
|
|
<target name="update-tree" depends="init"
|
|
description="update tree">
|
|
<fail unless="CVSROOT"
|
|
message="required: {ant} -DCVSROOT=... ..."/>
|
|
<cvs cvsRoot="${CVSROOT}"
|
|
dest="${aspectj.modules.dir}"
|
|
quiet="on"
|
|
failonerror="on"
|
|
command="update -dP" />
|
|
</target>
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- antcall targets -->
|
|
<!-- ===================================================================== -->
|
|
|
|
<target name="build-product" depends="init,init-taskdefs,init-version" description="build $${product.name}">
|
|
<ajbuild jarDir="${aj.jar.dir}"
|
|
baseDir="${aspectj.modules.dir}"
|
|
distDir="${aj.dist.dir}"
|
|
productDir="${aspectj.modules.dir}/build/products/${product.name}"
|
|
trimTesting="true"
|
|
buildConfig="${build.config}"
|
|
version="${build.version.long}"
|
|
verbose="${build.verbose}"
|
|
failonerror="true"/>
|
|
</target>
|
|
|
|
<target name="build-module" depends="init,init-taskdefs,init-version">
|
|
<ajbuild module="${module.name}"
|
|
baseDir="${aspectj.modules.dir}"
|
|
distDir="${aj.dist.dir}"
|
|
jarDir="${aj.jar.dir}"
|
|
trimTesting="${trim.testing}"
|
|
buildConfig="${build.config}"
|
|
version="${build.version.long}"
|
|
verbose="${build.verbose}"
|
|
assembleall="${assemble}"
|
|
failonerror="true"/>
|
|
</target>
|
|
|
|
<macrodef name="build-module-all">
|
|
<attribute name="module"/>
|
|
<attribute name="trimTesting" default="${trim.testing.default}"/>
|
|
<sequential>
|
|
<antcall target="build-module">
|
|
<param name="module.name" value="@{module}"/>
|
|
<param name="trim.testing" value="@{trimTesting}"/>
|
|
<param name="assemble" value="true"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
<macrodef name="build-module">
|
|
<attribute name="module"/>
|
|
<attribute name="trimTesting" default="${trim.testing.default}"/>
|
|
<attribute name="assemble" default="false"/>
|
|
<sequential>
|
|
<antcall target="build-module">
|
|
<param name="module.name" value="@{module}"/>
|
|
<param name="trim.testing" value="@{trimTesting}"/>
|
|
<param name="assemble" value="@{assemble}"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<macrodef name="assemble-module-test">
|
|
<attribute name="module"/>
|
|
<sequential>
|
|
<build-module module="@{module}" assemble="true" trimTesting="false"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
|
|
<target name="create-installer" depends="init,init-taskdefs,init-filters"
|
|
description="create ${installer.file} from ${staging.dir} using ${htmlSrc.dir} and ${simpleClassName}">
|
|
<!-- init-filters: filter on copy used by ajinstaller taskdef -->
|
|
|
|
<delete quiet="on" file="${installer.file}"/>
|
|
<ajinstaller zipfile="${installer.file}"
|
|
installerclassjar="${aspectj.build.jar}"
|
|
basedir="${staging.dir}"
|
|
mainclass="$$installer$$.org.aspectj.${simpleClassName}"
|
|
htmlSrc="${htmlSrc.dir}"
|
|
resourcesSrc="${aspectj.modules.build.dir}/installer-resources"/>
|
|
</target>
|
|
|
|
<target name="verify-boot-lib" depends="init"
|
|
description="fail if ${boot.lib} is out of date wrt ${vbl.module.name}">
|
|
<uptodate property="lib-warning-${vbl.module.name}"
|
|
targetfile="${aspectj.modules.dir}/lib/${boot.lib}">
|
|
<srcfiles dir="${aspectj.modules.dir}/${vbl.module.name}/src"
|
|
includes="**/*.java"/>
|
|
</uptodate>
|
|
|
|
<fail unless="lib-warning-${vbl.module.name}"
|
|
message="${boot.lib} out of date wrt module ${vbl.module.name}"/>
|
|
|
|
</target>
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- test targets -->
|
|
<!-- ===================================================================== -->
|
|
<target name="test-run-all-junit-tests"
|
|
depends="init"
|
|
description="run unit tests via run-all-junit-tests module">
|
|
<antcall target="test">
|
|
<param name="module.name" value="run-all-junit-tests"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="test-compiler-tests"
|
|
depends="init"
|
|
description="run compiler tests via tests module">
|
|
<antcall target="test">
|
|
<param name="module.name" value="tests"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="test-each-module"
|
|
depends="init"
|
|
description="run JUnit tests for each module">
|
|
<subant target="test">
|
|
<filelist dir="${aspectj.modules.dir}"
|
|
files="${aspectj.tools.modules},${aspectj.test.modules}"/>
|
|
</subant>
|
|
</target>
|
|
|
|
<!--
|
|
<target name="ivy.init" unless="ivy.initialized">
|
|
<property name="ivy.lib.dir" value="n:/apache-ivy-2.1.0/lib"/>
|
|
<property name="ivy.settings.file" value="n:/workspaces/aspectj16_1/build/ivysettings.xml"/>
|
|
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant">
|
|
<classpath>
|
|
<path location="${ivy.lib.dir}/ivy.jar"/>
|
|
<path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/>
|
|
<path location="${ivy.lib.dir}/commons-codec.jar"/>
|
|
<path location="${ivy.lib.dir}/commons-httpclient.jar"/>
|
|
<path location="${ivy.lib.dir}/commons-logging.jar"/>
|
|
<path location="${ivy.lib.dir}/jets3t.jar"/>
|
|
<path location="${ivy.lib.dir}"/>
|
|
</classpath>
|
|
</taskdef>
|
|
|
|
<ivy:settings file="${ivy.settings.file}"/>
|
|
<property name="ivy.initialized" value="true"/>
|
|
</target>
|
|
-->
|
|
|
|
<target name="maven.init" >
|
|
<property name="org.apache.maven.ant.version" value="2.0.10"/>
|
|
<property name="org.springframework.build.aws.maven.version" value="2.0.0.RELEASE"/>
|
|
<!--
|
|
<ivy:cachepath resolveId="maven.ant.tasks.classpath" pathid="maven.ant.tasks.classpath"
|
|
organisation="org.apache.maven" module="com.springsource.org.apache.maven.ant"
|
|
revision="${org.apache.maven.ant.version}" conf="runtime" type="jar" inline="true" log="download-only"/>
|
|
-->
|
|
<!--
|
|
<taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant"
|
|
classpathref="maven.ant.tasks.classpath"/>
|
|
-->
|
|
<maven:install-provider groupId="org.springframework.build.aws" artifactId="org.springframework.build.aws.maven"
|
|
version="${org.springframework.build.aws.maven.version}"/>
|
|
<!--
|
|
<maven:install-provider groupId="org.springframework.build" artifactId="aws.maven"
|
|
version="${org.springframework.build.aws.maven.version}"/>
|
|
-->
|
|
</target>
|
|
|
|
|
|
|
|
<target name="junitreport" depends="init,init-taskdefs"
|
|
if="junitreport.available">
|
|
<clean-dir dir="${aj.junit.dir}/html"/>
|
|
<junitreport todir="${aj.junit.dir}/html">
|
|
<fileset dir="${aj.junit.dir}">
|
|
<include name="**/TEST-*.xml"/>
|
|
</fileset>
|
|
<report format="frames" todir="${aj.junit.dir}/html"/>
|
|
</junitreport>
|
|
<pathconvert property="jur.url" targetos="unix">
|
|
<path location="${aj.junit.dir}/html/index.html"/>
|
|
</pathconvert>
|
|
<echo message="see file:${jur.url}"/>
|
|
</target>
|
|
|
|
<target name="do-test-junit"
|
|
depends="init-taskdefs"
|
|
description="run junit tests for a module using module root or leaves">
|
|
<property name="dtj.dir"
|
|
location="${aj.junit.dir}/${module.name}"/>
|
|
<mkdir dir="${dtj.dir}"/>
|
|
|
|
<condition property="dtj.includes"
|
|
value="${junit.includes}"
|
|
else="${junit.rootSuites}">
|
|
<istrue value="${junit.leaves}"/>
|
|
</condition>
|
|
<condition property="dtj.excludes"
|
|
value="${junit.excludes}"
|
|
else="">
|
|
<istrue value="${junit.leaves}"/>
|
|
</condition>
|
|
|
|
<junit
|
|
dir="${aspectj.modules.build.dir}"
|
|
failureproperty="test-junit-${module.name}.failed"
|
|
fork="on"
|
|
forkmode="perTest"
|
|
maxmemory="400m"
|
|
includeAntRuntime="off"
|
|
printsummary="yes"
|
|
haltonfailure="${haltOnTestFailure}" >
|
|
<classpath>
|
|
<pathelement location="${aj.jar.dir}/${module.name}-test-all.jar"/>
|
|
<!-- see skipped libraries in Builder.properties -->
|
|
<pathelement location="${jdk.tools.jar}"/>
|
|
<pathelement location="${aspectj.modules.lib.dir}/junit/junit.jar"/>
|
|
<fileset dir="${aspectj.modules.lib.dir}/commons" includes="commons.jar"/>
|
|
<!-- XML api's used by loadtime, also needed when running under 1.3 per Ant FAQ -->
|
|
<fileset dir="${aspectj.modules.lib.dir}/ant/lib"
|
|
includes="ant.jar,ant-junit.jar,xml-apis.jar,xercesImpl.jar"/>
|
|
</classpath>
|
|
<jvmarg value="-Daspectjrtpath=${lib.test.aspectjrt.jar}" />
|
|
<formatter type="xml"/>
|
|
<batchtest todir="${dtj.dir}">
|
|
<fileset dir="${modules.dir}/${module.name}/testsrc"
|
|
includes="${dtj.includes}"
|
|
excludes="${dtj.excludes}"/>
|
|
</batchtest>
|
|
</junit>
|
|
<report-if-failed text="JUnit tests for ${module.name} failed"
|
|
property="test-junit-${module.name}.failed"/>
|
|
</target>
|
|
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- custom targets -->
|
|
<!-- ===================================================================== -->
|
|
|
|
<target name="build-harness-jar" depends="init"
|
|
description="build harness jar from scratch">
|
|
<antcall target="clean-jars"/>
|
|
<assemble-module-test module="testing-drivers"/>
|
|
</target>
|
|
|
|
<target name="build-testing-jars" depends="init"
|
|
description="build testing jars from scratch">
|
|
<antcall target="build-harness-jar"/>
|
|
</target>
|
|
|
|
<target name="build-testing-client" depends="init-taskdefs,init">
|
|
<build-module module="testing-client" assemble="true"/>
|
|
<assemble-module-test module="testing-client"/>
|
|
<echo>
|
|
To use testing client jar in tests,
|
|
mv ../aj-build/jars/testing-client-all.jar ../lib/tests/testing-client.jar
|
|
</echo>
|
|
</target>
|
|
|
|
<target name="aspectj" depends="init,aspectjtools-dist,docs-dist" description="create installer from local distributions">
|
|
<property name="installer.staging.dir" location="${aj.temp.dir}/installer-staging"/>
|
|
<clean-dir dir="${installer.staging.dir}"/>
|
|
<copy todir="${installer.staging.dir}">
|
|
<fileset dir="${aj.dist.dir}/tools"/>
|
|
<fileset dir="${aj.dist.dir}/docs"/>
|
|
</copy>
|
|
|
|
<antcall target="create-installer">
|
|
<param name="installer.file" location="${aj.installer.jar}"/>
|
|
<param name="staging.dir" location="${installer.staging.dir}"/>
|
|
<param name="htmlSrc.dir" location="${aspectj.modules.build.dir}/products/aspectj/install"/>
|
|
<param name="simpleClassName" value="ToolsInstaller"/>
|
|
</antcall>
|
|
<delete dir="${installer.staging.dir}"/>
|
|
</target>
|
|
|
|
<target name="docs-dist" depends="init">
|
|
<ant dir="${aspectj.modules.dir}/docs"
|
|
antfile="build.xml"
|
|
target="local-dist"
|
|
inheritAll="false"/>
|
|
</target>
|
|
|
|
<target name="aspectjrt" depends="init"
|
|
description="build aspectjrt.jar (differently than release)">
|
|
<build-module-all module="aspectj5rt"/>
|
|
<copy file="${aj.jar.dir}/aspectj5rt-all.jar"
|
|
tofile="${aj.jar.dir}/aspectjrt.jar"/>
|
|
</target>
|
|
|
|
<target name="compile-runtime-11" depends="init-properties"
|
|
description="compile runtime under 1.1 - fails, but by how much?">
|
|
<condition property="cr1.in13">
|
|
<equals arg1="1.3" arg2="${ant.java.version}"/>
|
|
</condition>
|
|
<antcall target="compile-runtime-11-flag-unless13"/>
|
|
<antcall target="compile-runtime-11-do-if13"/>
|
|
</target>
|
|
|
|
<target name="compile-runtime-11-flag-unless13" depends="init-properties"
|
|
unless="cr1.in13">
|
|
<echo message="Skipping compile-runtime-11 unless 1.3"/>
|
|
</target>
|
|
|
|
<target name="compile-runtime-11-do-if13" depends="init-properties"
|
|
if="cr1.in13">
|
|
<mkdir dir="${aj.build.dir}/classes-1.1"/>
|
|
<property name="java11.classes.zip"
|
|
location="${java11.home}/lib/classes.zip"/>
|
|
<available property="classes.zip.available"
|
|
file="${java11.classes.zip}"/>
|
|
<fail unless="classes.zip.available" message="no 1.1 bootclasspath"/>
|
|
<javac
|
|
compiler="javac1.1"
|
|
bootclasspath="${java11.classes.zip}"
|
|
source="1.3"
|
|
includejavaruntime="no"
|
|
includeantruntime="no"
|
|
destdir="${aj.build.dir}/classes-1.1"
|
|
srcdir="${aspectj.modules.dir}/runtime/src"
|
|
target="1.1"
|
|
verbose="false"
|
|
failonerror="true"
|
|
/>
|
|
<delete dir="${aj.build.dir}/classes-1.1"/>
|
|
</target>
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- boilerplate antcalls -->
|
|
<!-- ===================================================================== -->
|
|
|
|
<!-- for any-[module|product], define [module|product].name -->
|
|
<target name="any-module" depends="init">
|
|
<fail unless="module.name" message="use -Dmodule.name=... to define"/>
|
|
<build-module module="${module.name}"/>
|
|
</target>
|
|
|
|
<target name="any-module-all" depends="init">
|
|
<fail unless="module.name" message="use -Dmodule.name=... to define"/>
|
|
<build-module-all module="${module.name}"/>
|
|
</target>
|
|
|
|
<target name="any-product" depends="init">
|
|
<fail unless="product.name" message="use -Dproduct.name=... to define"/>
|
|
<antcall target="build-product">
|
|
<param name="product.name" value="${product.name}"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<target name="ajdoc-all">
|
|
<build-module-all module="ajdoc"/>
|
|
</target>
|
|
|
|
<target name="build">
|
|
<build-module-all module="build"/>
|
|
</target>
|
|
|
|
<target name="aspectjtools-dist" depends="init" description="build local distribution">
|
|
<antcall target="build-product">
|
|
<param name="product.name" value="tools"/>
|
|
</antcall>
|
|
</target>
|
|
|
|
<!-- ===================================================================== -->
|
|
<!-- eclipse plugins -->
|
|
<!-- ===================================================================== -->
|
|
|
|
<target name="eclipse.plugins" depends="init"
|
|
description="create the Eclipse distribution plugins">
|
|
<ant dir="${aspectj.modules.dir}/eclipse.plugin" inheritAll="false"/>
|
|
</target>
|
|
|
|
<target name="src" depends="init" description="build src modules">
|
|
|
|
<mkdir dir="${aj.src.dir}"/>
|
|
<jar destfile="${aj.src.dir}/aspectjrt${build.version}-src.jar">
|
|
<fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/runtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
</jar>
|
|
|
|
<unzip dest="${aj.src.dir}/bcelsrc" src="${aspectj.modules.dir}/lib/bcel/bcel-src.zip"/>
|
|
<!-- loadtime5/asm/bridge/loadtime/weaver/weaver5 -->
|
|
<jar destfile="${aj.src.dir}/aspectjweaver${build.version}-src.jar">
|
|
<fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/runtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
<exclude name="**/*.html"/>
|
|
</fileset>
|
|
<fileset dir="${aj.src.dir}/bcelsrc">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/asm/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/bridge/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/util/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
</jar>
|
|
|
|
<!-- missing from this are the jdtDepends.jar src files -->
|
|
<unzip dest="${aj.src.dir}/jdtsrc" src="${aspectj.modules.dir}/lib/jdtcore-aj/jdtcore-for-aspectj-src.zip"/>
|
|
<!-- ajde/ajde.core/ajdoc/asm/bridge/loadtime/org.aspectj.ajdt.core/taskdefs/util/weaver5 -->
|
|
<jar destfile="${aj.src.dir}/aspectjtools${build.version}-src.jar">
|
|
<fileset dir="${aj.src.dir}/jdtsrc">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aj.src.dir}/bcelsrc">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajde/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajde.core/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/runtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajdoc/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/asm/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/bridge/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/taskdefs/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/util/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
</jar>
|
|
<delete dir="${aj.src.dir}/bcelsrc" failonerror="false"/>
|
|
<delete dir="${aj.src.dir}/jdtsrc" failonerror="false"/>
|
|
|
|
<jar destfile="${aj.src.dir}/org.aspectj.matcher-${build.version}-src.jar">
|
|
<fileset dir="${aspectj.modules.dir}/bridge/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/util/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/org.aspectj.matcher/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<!--
|
|
<fileset dir="${aj.src.dir}/jdtsrc">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aj.src.dir}/bcelsrc">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajde/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajde.core/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/runtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/aspectj5rt/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/ajdoc/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/asm/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/loadtime/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/taskdefs/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver/src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
<fileset dir="${aspectj.modules.dir}/weaver5/java5-src">
|
|
<exclude name="CVS"/>
|
|
<exclude name="**/.cvsignore"/>
|
|
</fileset>
|
|
-->
|
|
</jar>
|
|
|
|
<jar destfile="${aj.src.dir}/org.aspectj-${build.version}-src.jar">
|
|
<fileset dir="${aj.src.dir}">
|
|
<include name="aspectjrt${build.version}-src.jar"/>
|
|
<include name="aspectjweaver${build.version}-src.jar"/>
|
|
<include name="aspectjtools${build.version}-src.jar"/>
|
|
<include name="org.aspectj.matcher-${build.version}-src.jar"/>
|
|
</fileset>
|
|
</jar>
|
|
|
|
<delete file="{aj.src.dir}/aspectjrt${build.version}-src.jar"/>
|
|
<delete file="{aj.src.dir}/aspectjweaver${build.version}-src.jar"/>
|
|
<delete file="{aj.src.dir}/aspectjtools${build.version}-src.jar"/>
|
|
<delete file="{aj.src.dir}/org.aspectj.matcher${build.version}-src.jar"/>
|
|
</target>
|
|
|
|
|
|
|
|
<target name="repo" depends="init" description="deploy maven repo">
|
|
<property name="repo.url" value="scp://simonegianni.it/home/mavenrsync/repo"/>
|
|
<property name="repo.id" value="simonegianni-rsync"/>
|
|
|
|
<mkdir dir="${modules.dir}/aj-build/repo"/>
|
|
<copy toDir="${modules.dir}/aj-build/repo" file="aspectjtools.pom"/>
|
|
<copy toDir="${modules.dir}/aj-build/repo" file="aspectjweaver.pom"/>
|
|
<copy toDir="${modules.dir}/aj-build/repo" file="aspectjrt.pom"/>
|
|
<replaceregexp byline="true" flags="g">
|
|
<regexp pattern="ASPECTJVERSION"/>
|
|
<substitution expression="${repo.version}"/>
|
|
<fileset dir="${modules.dir}/aj-build/repo">
|
|
<include name="*.pom"/>
|
|
</fileset>
|
|
</replaceregexp>
|
|
|
|
|
|
<!-- Invoke maven to deploy the jars to the rsynced repo -->
|
|
<antcall target="mavenDeployJar">
|
|
<param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjtools.jar"/>
|
|
<param name="artifact" value="aspectjtools"/>
|
|
<param name="desc" value="AspectJ Tools"/>
|
|
</antcall>
|
|
<antcall target="mavenDeployJar">
|
|
<param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjweaver.jar"/>
|
|
<param name="artifact" value="aspectjweaver"/>
|
|
<param name="desc" value="AspectJ Weaver"/>
|
|
</antcall>
|
|
<antcall target="mavenDeployJar">
|
|
<param name="file" value="${modules.dir}/aj-build/dist/tools/lib/aspectjrt.jar"/>
|
|
<param name="artifact" value="aspectjrt"/>
|
|
<param name="desc" value="AspectJ Runtime"/>
|
|
</antcall>
|
|
|
|
<antcall target="mavenDeploySource">
|
|
<param name="file" value="${modules.dir}/aj-build/src/aspectjtools${build.version}-src.jar"/>
|
|
<param name="artifact" value="aspectjtools"/>
|
|
<param name="desc" value="AspectJ Tools"/>
|
|
</antcall>
|
|
<antcall target="mavenDeploySource">
|
|
<param name="file" value="${modules.dir}/aj-build/src/aspectjweaver${build.version}-src.jar"/>
|
|
<param name="artifact" value="aspectjweaver"/>
|
|
<param name="desc" value="AspectJ Weaver"/>
|
|
</antcall>
|
|
<antcall target="mavenDeploySource">
|
|
<param name="file" value="${modules.dir}/aj-build/src/aspectjrt${build.version}-src.jar"/>
|
|
<param name="artifact" value="aspectjrt"/>
|
|
<param name="desc" value="AspectJ Runtime"/>
|
|
</antcall>
|
|
|
|
|
|
|
|
</target>
|
|
|
|
<!--
|
|
ant -propertyfile XXX publishtomaven
|
|
-->
|
|
<target name="publishtomaven_snapshot" depends="maven.init">
|
|
<property name="build.root" value="/Users/aclement/gits/org.aspectj"/>
|
|
|
|
|
|
<property name="adjusted.release.type" value="snapshot"/>
|
|
<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
|
|
<!--
|
|
<property name="maven.central.repository" value="https://repo.spring.io/libs-snapshot-local/org/aspectj/aspectjweaver"/>
|
|
-->
|
|
|
|
<!-- aspectjtools/target/aspectjtools-1.9.8-SNAPSHOT.jar -->
|
|
|
|
<property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
|
|
<property name="src.jars.folder" value="${build.root}/src"/>
|
|
<property name="suffix" value="1.9.8-SNAPSHOT"/>
|
|
|
|
<!-- ASPECTJRT -->
|
|
<maven:deploy file="${build.root}/aspectjrt/target/aspectjrt-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload/aspectjrt.pom"/>
|
|
<attach file="${build.root}/aspectjrt/target/aspectjrt-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJTOOLS -->
|
|
<maven:deploy file="${build.root}/aspectjtools/target/aspectjtools-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload/aspectjtools.pom"/>
|
|
<attach file="${build.root}/aspectjtools/target/aspectjtools-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJWEAVER -->
|
|
<maven:deploy file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload/aspectjweaver.pom"/>
|
|
<attach file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJMATCHER -->
|
|
<maven:deploy file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload/aspectjmatcher.pom"/>
|
|
<attach file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
|
|
|
|
<target name="publishtomaven_milestone" depends="maven.init">
|
|
<property name="build.root" value="/Users/aclement/gits/org.aspectj"/>
|
|
<property name="suffix" value="1.9.8.M1"/>
|
|
|
|
<property name="adjusted.release.type" value="milestone"/>
|
|
<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
|
|
<property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
|
|
<property name="src.jars.folder" value="${build.root}/src"/>
|
|
|
|
<!-- ASPECTJRT -->
|
|
<maven:deploy file="${build.root}/aspectjrt/target/aspectjrt-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_milestone/aspectjrt.pom"/>
|
|
<attach file="${build.root}/aspectjrt/target/aspectjrt-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJTOOLS -->
|
|
<maven:deploy file="${build.root}/aspectjtools/target/aspectjtools-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_milestone/aspectjtools.pom"/>
|
|
<attach file="${build.root}/aspectjtools/target/aspectjtools-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJWEAVER -->
|
|
<maven:deploy file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_milestone/aspectjweaver.pom"/>
|
|
<attach file="${build.root}/aspectjweaver/target/aspectjweaver-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJMATCHER -->
|
|
<maven:deploy file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_milestone/aspectjmatcher.pom"/>
|
|
<attach file="${build.root}/aspectjmatcher/target/aspectjmatcher-${suffix}-sources.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
</target>
|
|
|
|
<target name="publishtomaven_release" depends="maven.init">
|
|
<property name="suffix" value="1.7.2"/>
|
|
|
|
<property name="build.root" value="/Users/aclement/gits/org.aspectj/aj-build"/>
|
|
<property name="adjusted.release.type" value="release"/>
|
|
<property name="maven.central.repository" value="s3://maven.springframework.org/${adjusted.release.type}"/>
|
|
<property name="bin.jars.folder" value="${build.root}/dist/tools/lib"/>
|
|
<property name="src.jars.folder" value="${build.root}/src"/>
|
|
|
|
<!-- ASPECTJRT -->
|
|
<maven:deploy file="${bin.jars.folder}/aspectjrt.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_${adjusted.release.type}/aspectjrt.pom"/>
|
|
<attach file="${src.jars.folder}/aspectjrt${suffix}-src.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJTOOLS -->
|
|
<maven:deploy file="${bin.jars.folder}/aspectjtools.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_${adjusted.release.type}/aspectjtools.pom"/>
|
|
<attach file="${src.jars.folder}/aspectjtools${suffix}-src.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
|
|
<!-- ASPECTJWEAVER -->
|
|
<maven:deploy file="${bin.jars.folder}/aspectjweaver.jar">
|
|
<remoteRepository url="${maven.central.repository}">
|
|
<authentication username="${accessKey}" passphrase="${secretKey}"/>
|
|
</remoteRepository>
|
|
<pom file="usedForMavenUpload_${adjusted.release.type}/aspectjweaver.pom"/>
|
|
<attach file="${src.jars.folder}/aspectjweaver${suffix}-src.jar" classifier="sources"/>
|
|
</maven:deploy>
|
|
</target>
|
|
|
|
|
|
<target name="repo2" depends="maven.init">
|
|
</target>
|
|
|
|
<target name="mavenDeployJar">
|
|
<!--
|
|
Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
|
|
this mean you need to have maven installed on your system.
|
|
-->
|
|
<exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="true">
|
|
<arg line="--batch-mode"/>
|
|
<arg line="deploy:deploy-file"/>
|
|
<arg line="-Durl=${repo.url}"/>
|
|
<arg line="-DrepositoryId=${repo.id}"/>
|
|
<arg line="-Dfile=${file}"/>
|
|
<arg line="-DgroupId=org.aspectj"/>
|
|
<arg line="-DartifactId=${artifact}"/>
|
|
<arg line="-Dpackaging=jar"/>
|
|
<arg line="-Dversion=${repo.version}"/>
|
|
<arg line="-DpomFile=${modules.dir}/aj-build/repo/${artifact}.pom"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="mavenDeploySource">
|
|
<!--
|
|
Currently only an exec is usable, see http://jira.codehaus.org/browse/MANTTASKS-71
|
|
this mean you need to have maven installed on your system.
|
|
|
|
failonerror is set to false because deploy:deploy-file goes NPE for some obscure reason
|
|
on recent versions, see http://jira.codehaus.org/browse/MDEPLOY-48
|
|
-->
|
|
<exec executable="n:/tools/apache-maven-2.0.9/bin/mvn.bat" failonerror="false">
|
|
<arg line="--batch-mode"/>
|
|
<arg line="deploy:deploy-file"/>
|
|
<arg line="-Durl=${repo.url}"/>
|
|
<arg line="-DrepositoryId=${repo.id}"/>
|
|
<arg line="-Dfile=${file}"/>
|
|
<arg line="-DgroupId=org.aspectj"/>
|
|
<arg line="-DartifactId=${artifact}"/>
|
|
<arg line="-Dpackaging=java-source"/>
|
|
<arg line="-Dversion=${repo.version}"/>
|
|
<arg value="-DgeneratePom=false"/>
|
|
</exec>
|
|
</target>
|
|
|
|
|
|
</project>
|