The class to be used by tools to drive a build. An AjCompiler is created with a unique id (for example the absolute pathname of a project or .lst file) along with implementations of ICompilerConfiguration, IBuildProgressMonitor and IBuildMessageHandler. Tools then call build() or buildFresh() on this AjCompiler.
An AjCompiler is associated with one id, therefore a new one needs to be created for a new id (project, .lst file etc.). It is the responsibility of the tools to manage the lifecycle of the AjCompiler's.