diff options
Diffstat (limited to 'build/build-properties.xml')
-rw-r--r-- | build/build-properties.xml | 486 |
1 files changed, 0 insertions, 486 deletions
diff --git a/build/build-properties.xml b/build/build-properties.xml deleted file mode 100644 index febfddfec..000000000 --- a/build/build-properties.xml +++ /dev/null @@ -1,486 +0,0 @@ -<!-- -*- Mode: SGML; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- --> -<!-- ========================================================================= --> -<!-- Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC). --> -<!-- Copyright (c) 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: --> -<!-- Xerox/PARC initial implementation --> -<!-- A Colyer / G Harley eclipse plugin dirs --> -<!-- ========================================================================= --> - -<!-- include as common entity for module build scripts --> -<!-- should only need to edit version properties --> -<project name="build-properties" default="init-properties"> - - <target name="init-properties" - unless="init-properties.done"> - <!-- callers should define aspectj.modules.dir --> - <property name="aspectj.modules.dir" location="${basedir}/.."/> - <require-available property="local-properties" - path="${aspectj.modules.dir}/build/local.properties"/> - <property file="${aspectj.modules.dir}/build/local.properties"/> - <!-- - Changing version: - - base should always be 1.1 (used for manifests, other version-parsing code) - - Others should be DEVELOPMENT unless testing/doing release builds, when - they should be (e.g.,) 1.1b3 or 1.1beta3 - - Changing version here causes org/aspectj/bridge/Version.java to be updated - - also change org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties - - build.version.eclipse.plugins should be set to "9.9.9" for "DEVELOPMENT", and - - the same as build.version.long (in major.minor.service form) for releases. - --> - <property name="min.vm" value="13"/> - <property name="max.vm" value="15"/> - <property name="build.verbose" value="false"/> - <property name="build.version" value="DEVELOPMENT"/> - <property name="build.version.base" value="1.2"/> - <property name="build.version.long" value="DEVELOPMENT"/> - <property name="build.version.short" value="DEVELOPMENT"/> - - <!-- formats comply with SimpleDateFormat --> - <property name="build.time.format" value="EEEE MMM d, yyyy 'at' HH:mm:ss z"/> - <property name="build.date.format" value="EEEE MMM d, yyyy"/> - <tstamp> - <format property="build.date" - pattern="${build.date.format}" - timezone="GMT"/> - <format property="build.time" - pattern="${build.time.format}" - timezone="GMT"/> - </tstamp> - - <property name="company.name" value="aspectj.org"/> - <property name="copyright.allRights.from1998" - value="Copyright (c) 1998-2001 Xerox Corporation, 2002 Palo Alto Research Center, Incorporated, 2003-2008 Contributors. All rights reserved." /> - - <!-- aj... names are generated, can be mutated/cleaned --> - <!-- these names are known to BuildModule.java and common to all --> - <property name="aj.build.dir" - location="${aspectj.modules.dir}/aj-build"/> - <property name="aj.temp.dir" - location="${aj.build.dir}/temp"/> - <property name="aj.src.dir" - location="${aj.build.dir}/src"/> - <property name="aj.jar.dir" - location="${aj.build.dir}/jars"/> - <property name="aj.dist.dir" - location="${aj.build.dir}/dist"/> - <property name="aj.webDeploy.dir" - location="${aj.build.dir}/webDeploy"/> - <property name="aj.install.dir" - location="${aj.build.dir}/install"/> - - <property name="aj.build.allresults.dir" - location="${aj.build.dir}/allresults"/> - <property name="aj.build.allfailures.file" - location="${aj.build.allresults.dir}/allfailures.txt"/> - <property name="aj.build.results.dir" - location="${aj.build.dir}/results"/> - <property name="aj.failure.file" - location="${aj.build.results.dir}/failures.txt"/> - <property name="aj.build-id.file" - location="${aj.build.results.dir}/build-id.txt"/> - <property name="aj.junit.dir" - location="${aj.build.results.dir}/junit"/> - <property name="aj.logs.dir" - location="${aj.build.results.dir}/logs"/> - - - <!-- aspectj... names are sources, not to be mutated --> - <property name="aspectj.modules.lib.dir" - location="${aspectj.modules.dir}/lib"/> - <property name="aspectj.modules.build.dir" - location="${aspectj.modules.dir}/build"/> - <property name="aspectj.modules.docs.dir" - location="${aspectj.modules.dir}/docs"/> - <property name="aspectj.modules.tests.dir" - location="${aspectj.modules.dir}/tests"/> - <!-- BuildModule.java assumes products are here --> - <property name="aspectj.products.dir" - location="${aspectj.modules.build.dir}/products"/> - <property name="aspectj.modules.tests.dir" - location="${aspectj.modules.dir}/tests"/> - - <property file="${aspectj.modules.build.dir}/junit-patterns.properties"/> - - <property name="aspectj.tools.modules.13" - value="ajde,ajde.core,ajdoc,asm,bridge,loadtime,org.aspectj.ajdt.core,runtime,taskdefs,util,weaver"/> - <property name="aspectj.tools.modules.15" - value="loadtime5,aspectj5rt,weaver5"/> - <condition property="aspectj.tools.modules" - value="${aspectj.tools.modules.13},${aspectj.tools.modules.15}"> - <equals arg1="1.5" arg2="${ant.java.version}"/> - </condition> - <condition property="aspectj.tools.modules" - value="${aspectj.tools.modules.13}"> - <not> - <equals arg1="1.5" arg2="${ant.java.version}"/> - </not> - </condition> - <property name="aspectj.test.modules" - value="build,testing,testing-client,testing-drivers,testing-util,tests"/> - <property name="aspectj.compilerTest.modules" - value="tests"/> - <property name="aspectj.other.modules" - value="docs,eclipse.plugin"/> - - <jar-property name="junit.jar" - location="${aspectj.modules.lib.dir}/junit/junit.jar"/> - <!-- TODO need version-specific JDK? --> - <guarded-property name="jdk.tools.jar" - location="${java.home}/../lib/tools.jar"/> - <guarded-property name="jdk.tools.jar" - location="${java.home}/lib/tools.jar"/> - <guarded-property name="lib.test.aspectjrt.jar" - location="${aspectj.modules.lib.dir}/test/aspectjrt.jar"/> - <property name="init-properties.done" value="true"/> - </target> - - <target name="init-taskdefs" - depends="init-properties" - unless="init-taskdefs.done" > - <jar-property name="aspectj.build.jar" - location="${aspectj.modules.lib.dir}/build/build.jar"/> - <jar-property name="lib.ant.jar" - location="${aspectj.modules.lib.dir}/ant/lib/ant.jar"/> - <taskdef resource="org/aspectj/internal/tools/ant/taskdefs/taskdefs.properties" - classpath="${aspectj.build.jar}"/> - <path id="ant.lib.path"> - <fileset dir="${aspectj.modules.lib.dir}/ant/lib"> - <include name="**/*.jar"/> - </fileset> - </path> - <taskdef name="junit" - classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" - classpathref="ant.lib.path"/> - <available classname="org.apache.xalan.processor.TransformerFactoryImpl" - property="xalan.available" - value="true"> - <classpath refid="ant.lib.path"/> - </available> - <condition property="junitreport.available" value="true"> - <istrue value="${xalan.available}"/> - </condition> - <echo message="junitreport.available: ${junitreport.available}"/> - <antcall target="init-junitreport"/> - </target> - - <target name="init-junitreport" depends="init-properties" - if="xalan.available"> - <taskdef name="junitreport" - classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator" - classpathref="ant.lib.path"/> - </target> - - <target name="init-directories" - depends="init-properties" - description="ensure dirs, possibly many times in a build"> - <mkdir dir="${aj.build.dir}" /> - <mkdir dir="${aj.temp.dir}" /> - <mkdir dir="${aj.jar.dir}" /> - <mkdir dir="${aj.dist.dir}" /> - <mkdir dir="${aj.install.dir}" /> - <mkdir dir="${aj.logs.dir}" /> - </target> - - <target name="init-filters" - depends="init-properties" - unless="init-filters.done" > - - <!-- build.version and build.date used in filters throughout, and - build.version.base used in filtering manifest, but - others used mainly for installer-resources/properties.txt --> - - <filter token="build.version" value="${build.version}"/> - <filter token="build.version.base" value="${build.version.base}"/> - <filter token="build.version.long" value="${build.version.long}"/> - <filter token="build.version.short" value="${build.version.short}"/> - - <filter token="build.time.format" value="${build.time.format}"/> - <filter token="build.date.format" value="${build.date.format}"/> - <filter token="build.date" value="${build.date}"/> - <filter token="build.time" value="${build.time}"/> - <filter token="company.name" value="${company.name}"/> - <filter token="copyright.allRights.from1998" - value="${copyright.allRights.from1998}" /> - <property name="init-filters.done" value="done"/> - </target> - - <target name="clean-directories" depends="init-properties"> - <delete quiet="on"> - <fileset dir="${aj.build.dir}" includes="*,**/*"/> - </delete> - <antcall target="init-directories"/> - </target> - - <target name="clean-jars" - depends="init-directories" - unless="clean-jars.done" > - <delete quiet="on"> - <fileset dir="${aj.jar.dir}" includes="*"/> - </delete> - <property name="clean-jars.done" value="done"/> - </target> - - <target name="clean-keep-results" depends="init-properties"> - <delete> - <fileset dir="${aj.build.dir}"> - <exclude name="results/*"/> - <exclude name="results/**"/> - <exclude name="allresults/*"/> - <exclude name="allresults/**"/> - </fileset> - </delete> - </target> - - <target name="clean-default-results" depends="init-properties"> - <delete> - <fileset dir="${aj.build.results.dir}" includes="*,**/*"/> - </delete> - </target> - - <target name="clean-result" depends="init-properties"> - <delete quiet="on"> - <fileset dir="${aj.build.results.dir}" includes="*,**/*"/> - </delete> - </target> - - <macrodef name="save-build-id" - description="save ${id} to ${aj.build-id.file}"> - <attribute name="id"/> - <sequential> - <echo message="@{id}" file="${aj.build-id.file}"/> - </sequential> - </macrodef> - - <macrodef name="load-build-id"> - <attribute name="property"/> - <sequential> - <available property="aj.build-id.file.available" - file="${aj.build-id.file}"/> - <antcall target="ensure-build-id"/> - <loadfile srcfile="${aj.build-id.file}" property="@{property}"/> - </sequential> - </macrodef> - - <target name="ensure-build-id" unless="aj.build-id.file.available" - description="create datestamp build id in ${aj.build-id.file} if n/a"> - <tstamp> - <format property="build.id.name" - timezone="GMT+10" - pattern="yyyyMMdd-hhmmss" - /> - </tstamp> - <echo file="${aj.build-id.file}" message="${build.id.name}"/> - </target> - - <target name="save-result" depends="init-properties"> - <load-build-id property="build.id"/> - <copy todir="${aj.build.allresults.dir}/${build.id}"> - <fileset dir="${aj.build.results.dir}" /> - </copy> - </target> - - <target name="echo-properties" depends="init-properties"> - <echo> - Build Properties - - build.date = ${build.date} - build.time = ${build.time} - build.version = ${build.version} - build.version.long = ${build.version.long} - build.version.short = ${build.version.short} - aspectj.modules.dir = ${aspectj.modules.dir} - aj.build.dir = ${aj.build.dir} - ant.home = ${ant.home} - java.home = ${java.home} - java11.home = ${java11.home} - java13.home = ${java13.home} - java14.home = ${java14.home} - java15.home = ${java15.home} -</echo> - </target> - <macrodef name="guarded-property" - description="set property {name} to {location} if unset and {location} exists"> - <attribute name="name"/> - <attribute name="location"/> - <sequential> - <property name="@{name}.path" - location="@{location}"/> - <condition property="@{name}" - value="${@{name}.path}"> - <and> - <not> - <isset property="@{name}"/> - </not> - <available file="${@{name}.path}"/> - </and> - </condition> - </sequential> - </macrodef> - - <macrodef name="clean-dir"> - <attribute name="dir"/> - <sequential> - <mkdir dir="@{dir}"/> - <delete> - <fileset dir="@{dir}" includes="*,**/*"/> - </delete> - <mkdir dir="@{dir}"/> - </sequential> - </macrodef> - - <!-- - Reporting failures - - Failure-reports supports running multiple build targets in sequence for a - configuration, saving off those results, doing it over, etc., and then - checking the result (of the current builds or all builds), i.e., - - # first set of builds - - build, report-if-failed ... - - build, report-if-failed ... - ... - - {save-build-id} first-set - - save-result - - clean-keep-results - - clean-default-results - # second set of builds - - build, report-if-failed ... - ... - - save-result - - # fail build if anything in either set failed - - fail-if-allresults-allfailures - - Clients call - <report-if-failed property="failed" text="JUnit failed"/> - to signal failure. This goes into results/failures.txt, to be read later. - Many clients can call this, across many (current) build invocations, so - results just accumulate. Clients should never call <fail> directly; while - the cruise-control script can handle build failures, they won't be recorded - in a way that supports easy evaluation. - - To fail if the current builds fail, do - <antcall target="fail-if-results-failures"/> - - You can do a sequence of builds (e.g., in 1.3), save the results off, - and do it again (e.g., in 1.4), save the results, and then compare them. - Use save-result to store the current build results in ../allresults. - - Between such builds, you can do a clean-keep-results (to clear out jars - and such), followed by clean-default-results (to clear the current results). - (The normal clean also cleans out any results, so avoid that when saving - results from multiple builds.) - - Each build can be named using save-build-id. This name must be a valid - directory name. When the results are saved to ../allresults, the directory - name will use the most recent build-id. If none has been saved, then this - creates a name out of the date (down to the second). - - To fail if any of the saved builds has failed, do fail-if-allresults-allfailures. - This target ignores the current builds (if they are unsaved). - - --> - - <macrodef name="report-if-failed"> - <attribute name="property"/> - <attribute name="text"/> - <sequential> - <echo level="debug" message="property: @{property}: ${@{property}}"/> - <echo level="debug" message="text: @{text}: ${@{text}}"/> - <condition property="failed" value="true"> - <isset property="@{property}"/> - </condition> - <echo level="debug" message="failed: ${failed}"/> - <antcall target="do-report-fail"> - <param name="text" value="@{text}"/> - </antcall> - </sequential> - </macrodef> - <target name="do-report-fail" - if="failed"> - <echo append="true" file="${aj.failure.file}">${text} -</echo> - </target> - - <target name="fail-if-results-failures" depends="init-properties"> - <fail-if-failures failureFile="${aj.failure.file}"/> - </target> - - <target name="fail-if-allresults-allfailures" depends="init-properties"> - <concat destfile="${aj.build.allfailures.file}"> - <fileset dir="${aj.build.allresults.dir}" - includes="*/failures.txt"/> - </concat> - <fail-if-failures failureFile="${aj.build.allfailures.file}"/> - </target> - - <macrodef name="fail-if-failures" - description="fail if ${failureFile} exists and is not empty"> - <attribute name="failureFile"/> - <sequential> - <loadfile - failonerror="false" - property="failures" - srcfile="@{failureFile}"/> - <fail> - <condition> - <length file="@{failureFile}" - when="greater" length="0"/> - </condition> -# @{failureFile} failures: -${failures} -</fail> - </sequential> - </macrodef> - <macrodef name="jar-property"> - <attribute name="name"/> - <attribute name="location"/> - <sequential> - <property name="@{name}" - location="@{location}"/> - <available file="${@{name}}" - property="@{name}.available" - value="${@{name}}"/> - <fail unless="@{name}.available" - message="unable to find @{name}: ${@{name}}"/> - </sequential> - </macrodef> - - <macrodef name="set-available" - description="set property and property.available if path exists"> - <attribute name="property"/> - <attribute name="path"/> - <sequential> - <property name="@{property}.location" - location="@{path}"/> - - <available property="@{property}" - file="${@{property}.location}" - value="${@{property}.location}"/> - <condition property="@{property}.available"> - <equals arg1="${@{property}.location}" arg2="${@{property}}"/> - </condition> - </sequential> - </macrodef> - - <macrodef name="require-available"> - <attribute name="property"/> - <attribute name="path"/> - <attribute name="message" default=""/> - <sequential> - - <set-available property="@{property}" path="@{path}"/> - <fail unless="@{property}.available"> -@{message} (property "@{property}" not at "@{path}") - </fail> - </sequential> - </macrodef> - -</project> |