diff options
author | wisberg <wisberg> | 2003-05-07 19:13:04 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2003-05-07 19:13:04 +0000 |
commit | b564c8980d179a0ccbed40f9f4cf24c50b582bdc (patch) | |
tree | cf286842777897be830dd0781f1465dd3cd8ba1c /build | |
parent | c522492213e630ddfe205a25a0907f31479ff292 (diff) | |
download | aspectj-b564c8980d179a0ccbed40f9f4cf24c50b582bdc.tar.gz aspectj-b564c8980d179a0ccbed40f9f4cf24c50b582bdc.zip |
initial draft of release build/test script.
CVS portion is untested.
Diffstat (limited to 'build')
-rw-r--r-- | build/release/build.xml | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/build/release/build.xml b/build/release/build.xml new file mode 100644 index 000000000..9a201be94 --- /dev/null +++ b/build/release/build.xml @@ -0,0 +1,147 @@ + +<!-- ========================================================================= --> +<!-- Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC). --> +<!-- All rights reserved. --> +<!-- This program and the accompanying materials are made available --> +<!-- under the terms of the Common Public License v1.0 --> +<!-- which accompanies this distribution and is available at --> +<!-- http://www.eclipse.org/legal/cpl-v10.html --> +<!-- --> +<!-- Contributors: --> +<!-- Xerox/PARC initial implementation --> +<!-- ========================================================================= --> + +<!DOCTYPE project [ +<!ENTITY build-properties SYSTEM "file:build-properties.xml"> +]> +<project name="build" default="all" basedir="."> + + <target name="info"> + <echo> + This downloads and build the AspectJ source tree. + + Targets of note: + + build-release checkout and build AspectJ + + Properties of note: + + version set if not DEVELOPMENT + do.not.create.tree no CVS checkout + aspectj.modules.dir define this to reuse existing + + </echo> + </target> + + <target name="init-variables" + unless="init.variables.done"> + + <property name="version" value="DEVELOPMENT"/> + <property name="ant.verbose" value=""/> + + <property name="aspectj.workspace" + location="${basedir}/aspectj-workspace"/> + <property name="aspectj.modules.dir" + location="${aspectj.workspace}/org.aspectj/modules"/> + <property name="aspectj.build.dir" + location="${aspectj.modules.dir}/build"/> + <property name="aspectj.lib.dir" + location="${aspectj.modules.dir}/lib"/> + <property name="aspectj.ant.home" + location="${aspectj.lib.dir}/ant"/> + <property name="aspectj.ant.lib.dir" + location="${aspectj.ant.home}/lib"/> + <property name="aj.build.dir" + location="${aspectj.modules.dir}/aj-build"/> + <property name="aj.build.jar.dir" + location="${aj.build.dir}/jars"/> + <property name="aj.build.dist.dir" + location="${aj.build.dir}/dist"/> + <property name="aj.build.jar.dir" + location="${aj.build.dir}/jars"/> + <property name="aj.build.install.dir" + location="${aj.build.dir}/install"/> + + <property name="aspectj.jar" + location="${aj.build.dist.dir}/aspectj-${version}.jar"/> + + <property name="java.command" + location="${java.home}/bin/java"/> + + <path id="ant.classpath"> + <fileset dir="${aspectj.ant.lib.dir}"> + <include name="*.jar"/> + </fileset> + <pathelement path="${java.home}/lib/tools.jar"/> + <pathelement path="${java.home}/../lib/tools.jar"/> + </path> + <!-- property name="init.variables.done" value="done"/ --> + </target> + + <target name="all" depends="test-aspectj-install"/> + + <target name="test-aspectj-install" depends="install-aspectj"> + <!-- run examples non-gui, etc. --> + </target> + + <target name="build-release" depends="init-variables,create-tree" + description="build an AspectJ release"> + <antcall target="run-ant"> + <param name="ant.target" value="clean"/> + </antcall> + <antcall target="run-ant"> + <param name="ant.target" value="aspectj"/> + </antcall> + </target> + + <target name="create-tree" depends="init-variables" + unless="do.not.create.tree" + description="create an AspectJ source tree"> + <fail message="testing now"/> + <mkdir dir="${aspectj.workspace}"/> + <delete dir="${aspectj.workspace}"/> + <mkdir dir="${aspectj.workspace}"/> + <cvs cvsRoot=":pserver:anonymous@eclipse.org:/home/technology" + dest="${quicklook.tree.dir}" + package="org.aspectj/modules" + quiet="on" + failonerror="on" + command="checkout -P" /> + </target> + + <target name="install-aspectj" depends="build-release,init-variables" + description="create an AspectJ source tree"> + <fail unless="aspectj.jar" message="define aspectj.jar"/> + <fail unless="aj.build.install.dir" message="define aj.build.install.dir"/> + <mkdir dir="${aj.build.install.dir}"/> + <delete dir="${aj.build.install.dir}"/> + <mkdir dir="${aj.build.install.dir}"/> + <java fork="true" jar="${aspectj.jar}" failonerror="true"> + <arg line="-to ${aj.build.install.dir}"/> + </java> + </target> + + <target name="run-ant" depends="init-variables"> + <!-- we could use normal ant, but we enforce using ours + <ant dir="${aspectj.build.dir}" + target="clean" + inheritAll="false"/> + --> + <fail unless="ant.target" message="define ant.target"/> + <java + fork="true" + dir="${aspectj.build.dir}" + jvm="${java.command}" + classname="org.apache.tools.ant.Main" + maxmemory="350m" + failonerror="true" + newenvironment="true" + classpathref="ant.classpath" + > + <sysproperty key="JAVA_HOME" path="${java.home}"/> + <sysproperty key="ANT_HOME" + path="${aspectj.ant.home}"/> + <arg line="-f build.xml ${ant.target} ${ant.verbose}"/> + </java> + </target> +</project>
\ No newline at end of file |