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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static String
    Define this system/project property to signal that the destination directory should be cleaned and javac reinvoked to get the complete list of files every time.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    void
    setJavac​(org.apache.tools.ant.taskdefs.Javac javac)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • CLEAN

      public static final String CLEAN
      Define this system/project property to signal that the destination directory should be cleaned and javac reinvoked to get the complete list of files every time.
      See Also:
      Constant Field Values
  • Constructor Details

    • Ajc11CompilerAdapter

      public Ajc11CompilerAdapter()
  • Method Details

    • setJavac

      public void setJavac(org.apache.tools.ant.taskdefs.Javac javac)
      Specified by:
      setJavac in interface org.apache.tools.ant.taskdefs.compilers.CompilerAdapter
    • execute

      public boolean execute() throws org.apache.tools.ant.BuildException
      Specified by:
      execute in interface org.apache.tools.ant.taskdefs.compilers.CompilerAdapter
      Throws:
      org.apache.tools.ant.BuildException