]> source.dussan.org Git - aspectj.git/commitdiff
initial draft of release build/test script.
authorwisberg <wisberg>
Wed, 7 May 2003 19:13:04 +0000 (19:13 +0000)
committerwisberg <wisberg>
Wed, 7 May 2003 19:13:04 +0000 (19:13 +0000)
CVS portion is untested.

build/release/build.xml [new file with mode: 0644]

diff --git a/build/release/build.xml b/build/release/build.xml
new file mode 100644 (file)
index 0000000..9a201be
--- /dev/null
@@ -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