From: wisberg
+For example, to build everything into a release bundle,
+with verbose logging
+
-Release builds: Release builds differ only in running
+ Do a quick test of the release by running the examples build script:
+module.name
To build any module (esp. those not directly supported
by a target), use the "any-module" target and define
- the module name. e.g.,
- ant any-module -Dmodule.name=ajde
.
+ the module name.
check.build.jar
- any value cause build to fail if build.jar is out of date
+ any value cause build to fail if
+ lib/build/build.jar
is out of date. (This is a
+ built archive of the build module to avoid bootstrapping.)
-
+
+
+build.config
override default configuration in build.xml.
@@ -32,14 +33,49 @@ Consider defining the following flag properties:
compiled modules into their bin directories, and just
assemble those classes.
+ cd modules/build
+ ../lib/ant/bin/ant
+
+
+To build only the asm module (and any modules it requires):
+
+ cd modules/build
+ ../lib/ant/bin/ant -f build.xml any-module -Dmodule.name=asm
+
+
Release builds
+Release builds differ only in running
from a clean, up-to-date tree and with correct build version values
in build-properties.xml, which
-will update org.aspectj.bridge.Version.
-See below for more details on how the version is updated.
+will update org.aspectj.bridge.Version
.
+See Version synchronization below
+for more details on how the version is updated.
+
+
+ cd {aspect}/doc/examples
+ ant -f build.xml
+
+This should build and run the spacewar example.
+To run all examples, use target all
.
+To run all the examples that do not require manual operation,
+use target nonGui
.
+
+Finally, tag the tree so others can do diffs or create patches +based on the release code. E.g., from the command line: +
+ cd org.aspectj/ + cvs tag -R -c v1_1_0 +
build-testing-drivers
target builds a single jar with
the AspectJ binaries and a test harness as the main class.
It reads test suite files like
../tests/ajcTests.xml.
+For more information, see
+
+ ../tests/readme-tests-module.html.
+
JUnit tests may be run under eclipse or by using Ant to "build" ../tests/junitModules.xml @@ -125,18 +165,23 @@ follow a similar convention; those prefixed "aj-" may be deleted at will, while "aspectj-" names are source directories which should never be deleted.
+
Version synchronization:
Developers use the default "DEVELOPMENT" version unless doing or testing
release builds.
The build version is set in
-build-properties.xml and tracked in
+build-properties.xml and propogated
+using Ant copy filters out to
+the aspectjrt.jar manifest,
+the aspectjtools.jar manifest
+
+and to
../bridge/src/org/aspectj/bridge/Version.java
which the build.xml init-version
task
generates from a template
-lib/BridgeVersion.java.txt
-using copy filters to set the build version and date.
+lib/BridgeVersion.java.txt.
To avoid updating Version.java
whenever
build-properties.xml
changes, a task