AspectJ build

This build module contains taskdefs and resources for doing builds and checking source licenses. To do a build, use Ant to run build.xml from this directory.

The BuildModule taskdef implements an integrated module or product build. Module builds are based on the Eclipse .classpath file, and can produce a jar with the module classes, with two variations: (a) include only the module classes, or assemble the jar complete with all antecedent modules and libraries; and (b) compile the module(s) without any testing source or libraries. If there is a file {moduleName}.mf.txt in the module directory, it will be used as the manifest for the module jar file. Product builds are defined by introspection of a products subdirectory like products/tools for the AspectJ tools installer. These have an install directory for installer resources and a dist directory containing all files belonging in the distribution, including 0-length placeholders for the module build results.

Top-level temporary build directories are prefixed "aj-", so you can safely destroy any such directory or ignore it in CVS or the Eclipse package explorer. By default the build script puts them at the same level as other modules.

Updating this module: Because the BuildModule taskdef extracts dependencies from the Eclipse .classpath file, there is no need to update build scripts when adding or removing modules or changing their dependencies, so long as they are all in the base modules directory (usually the base of the eclipse workspace. All required libraries are checked into the lib module.

The BuildModule taskdef makes some assumptions about the naming, position, and contents of module directories and files. Understand those (documented in BuildModule.java) before using non-standard module directories.