Class Ajc11CompilerAdapter

java.lang.Object
org.aspectj.tools.ant.taskdefs.Ajc11CompilerAdapter
All Implemented Interfaces:
org.apache.tools.ant.taskdefs.compilers.CompilerAdapter

public class Ajc11CompilerAdapter extends Object implements org.apache.tools.ant.taskdefs.compilers.CompilerAdapter
Adapt ajc to javac commands. Note that the srcdirs set for javac are NOT passed on to ajc; instead, the list of source files generated is passed to ajc.

Javac usually prunes the source file list based on the timestamps of corresponding .class files, which is wrong for ajc which requires all the files every time. To work around this, set the global property CLEAN ("build.compiler.clean") to delete all .class files in the destination directory before compiling.

Warnings:

  1. cleaning will not work if no destination directory is specified in the javac task. (RFE: find and kill .class files in source dirs?)
  2. cleaning will makes stepwise build processes fail if they depend on the results of the prior compilation being in the same directory, since this deletes all .class files.
  3. If no files are out of date, then the adapter is never called and thus cannot gain control to clean out the destination dir.
Since:
AspectJ 1.1, Ant 1.5.1
Author:
Wes Isberg