org.aspectj/eclipse.plugin/build.xml

159 lines
6.7 KiB
XML

<!-- ====================================================================== -->
<!-- Copyright (c) 2005 Contributors -->
<!-- All rights reserved. -->
<!-- This program and the accompanying materials are made available -->
<!-- under the terms of the Eclipse Public License v1.0 -->
<!-- which accompanies this distribution and is available at -->
<!-- http://www.eclipse.org/legal/epl-v10.html -->
<!-- -->
<!-- Contributors: (See CVS checkin's) -->
<!-- ====================================================================== -->
<project name="eclipse.plugins" default="eclipse.plugins" basedir=".">
<property name="aspectj.modules.dir" location="${basedir}/.."/>
<import file="${aspectj.modules.dir}/build/build-properties.xml" />
<target name="info">
<echo>
Assembles the Eclipse plugins.
Relies on ../build/build-properties.xml for some definitions, and
the build must have produced the AspectJ distribution already.
Define $${build.version.eclipse.plugins} to avoid "9.9.9" for
"DEVELOPMENT" (the default).
</echo>
</target>
<target name="init-eclipse-plugins" depends="init-properties">
<property name="ep.dir"
location="${aspectj.modules.dir}/eclipse.plugin"
/>
<condition property="build.version.eclipse.plugins"
value="9.9.9"
>
<equals arg1="DEVELOPMENT" arg2="${build.version.long}" />
</condition>
<condition property="build.version.eclipse.plugins"
value="${build.version.long}"
>
<not>
<equals arg1="DEVELOPMENT"
arg2="${build.version.long}"
/>
</not>
</condition>
<jar-property name="ep.aspectjrt.jar"
location="${aj.dist.dir}/tools/lib/aspectjrt.jar"
/>
<property name="ep.eclipse.dist.dir"
location="${aj.dist.dir}/ide/eclipse"
/>
</target>
<target name="eclipse.plugins"
depends="do-rt,do-source,do-ajde,do-doc"
/>
<target name="do-rt" depends="init-eclipse-plugins">
<property name="name.rt" value="org.aspectj.aspectjrt" />
<mkdir dir="${ep.eclipse.dist.dir}/${name.rt}" />
<copy todir="${ep.eclipse.dist.dir}/${name.rt}"
file="${ep.aspectjrt.jar}"
/>
<build-eclipse-plugin name="${name.rt}" />
</target>
<target name="do-source" depends="init-eclipse-plugins">
<property name="name.source"
value="org.aspectj.ajde.source"
/>
<clean-dir dir="${ep.eclipse.dist.dir}/${name.source}/src" />
<copy todir="${ep.eclipse.dist.dir}/${name.source}/src"
file="${aspectj.modules.dir}/org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip"
/>
<!-- verify source dirs included:
grep 'kind="src"' */.classpath | sed '/testsrc/d;/path="\//d;s|\/.*path="|\/|;s|".*||'
compare filelist: ${aspectj.tools.modules}
-->
<zip destfile="${ep.eclipse.dist.dir}/${name.source}/src/aspectjsrc.zip"
>
<fileset dir="${aspectj.modules.dir}/ajbrowser/src" />
<fileset dir="${aspectj.modules.dir}/ajde/src" />
<fileset dir="${aspectj.modules.dir}/ajdoc/src" />
<fileset dir="${aspectj.modules.dir}/asm/src" />
<fileset dir="${aspectj.modules.dir}/aspectj5rt/java5-src"
/>
<fileset dir="${aspectj.modules.dir}/aspectj5rt/src" />
<fileset dir="${aspectj.modules.dir}/bridge/src" />
<fileset dir="${aspectj.modules.dir}/loadtime/src" />
<fileset dir="${aspectj.modules.dir}/loadtime5/java5-src"
/>
<fileset dir="${aspectj.modules.dir}/org.aspectj.ajdt.core/src"
/>
<fileset dir="${aspectj.modules.dir}/org.aspectj.lib/src"
/>
<fileset dir="${aspectj.modules.dir}/runtime/src" />
<fileset dir="${aspectj.modules.dir}/taskdefs/src" />
<fileset dir="${aspectj.modules.dir}/util/src" />
<fileset dir="${aspectj.modules.dir}/weaver/src" />
<fileset dir="${aspectj.modules.dir}/weaver5/java5-src" />
</zip>
<build-eclipse-plugin name="${name.source}" />
</target>
<target name="do-ajde" depends="init-eclipse-plugins">
<property name="name.ajde" value="org.aspectj.ajde" />
<jar-property name="ep.aspectjtools.jar"
location="${aj.dist.dir}/tools/lib/aspectjtools.jar"
/>
<clean-dir dir="${ep.eclipse.dist.dir}/${name.ajde}" />
<copy todir="${ep.eclipse.dist.dir}/${name.ajde}">
<fileset file="${ep.aspectjrt.jar}" />
<fileset file="${ep.aspectjtools.jar}" />
</copy>
<jar destfile="${ep.eclipse.dist.dir}/${name.ajde}/ajde.jar">
<zipfileset src="${ep.aspectjtools.jar}"
includes="org/aspectj/**"
/>
<!-- TODO dangerous assumption: only org.aspectj? not org.eclipse or org.osgi? -->
</jar>
<build-eclipse-plugin name="${name.ajde}" />
</target>
<target name="do-doc" depends="init-eclipse-plugins">
<available property="ep.docs.available"
file="${aj.dist.dir}/docs/doc/examples/build.xml"
/>
<fail unless="ep.docs.available"
message="no doc in ${aj.dist.dir}"
/>
<property name="name.doc" value="org.aspectj.ajde.doc" />
<clean-dir dir="${ep.eclipse.dist.dir}/${name.doc}/doc" />
<copy todir="${ep.eclipse.dist.dir}/${name.doc}/doc">
<fileset dir="${aj.dist.dir}/docs/doc" />
</copy>
<build-eclipse-plugin name="${name.doc}" />
</target>
<macrodef name="build-eclipse-plugin">
<attribute name="name" />
<sequential>
<mkdir dir="${ep.eclipse.dist.dir}/@{name}" />
<copy todir="${ep.eclipse.dist.dir}/@{name}">
<fileset dir="${ep.dir}/@{name}" />
</copy>
<replace file="${ep.eclipse.dist.dir}/@{name}/plugin.xml"
token="build.version.eclipse.plugins"
value="${build.version.eclipse.plugins}"
/>
<jar destfile="${ep.eclipse.dist.dir}/@{name}_${build.version.eclipse.plugins}.jar"
>
<fileset dir="${ep.eclipse.dist.dir}/@{name}" />
</jar>
</sequential>
</macrodef>
</project>