org.apache.tools.ant.taskdefs

Class Apt

Implemented Interfaces:
Cloneable, SelectorContainer

public class Apt
extends Javac

Apt Task for running the Annotation processing tool for JDK 1.5. It derives from the existing Javac task, and forces the compiler based on whether we're executing internally, or externally.
Since:
Ant 1.7

Nested Class Summary

static class
Apt.Option
The nested option element.

Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.Javac

Javac.ImplementationSpecificArgument

Field Summary

static String
ERROR_IGNORING_COMPILER_OPTION
An warning message when ignoring compiler attribute.
static String
ERROR_WRONG_JAVA_VERSION
A warning message if used with java <321.5.
static String
EXECUTABLE_NAME
The name of the apt tool.
static String
WARNING_IGNORING_FORK
exposed for debug messages

Fields inherited from class org.apache.tools.ant.taskdefs.Javac

compileList, failOnError, listFiles

Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

fileset

Fields inherited from class org.apache.tools.ant.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Constructor Summary

Apt()
Construtor for Apt task.

Method Summary

Path
createFactoryPath()
Add a path to the factoryPath attribute.
Apt.Option
createOption()
Create a nested option.
void
execute()
Do the compilation.
String
getAptExecutable()
Get the name of the apt executable.
String
getCompiler()
Get the compiler class name.
String
getFactory()
Get the factory option for the apt compiler.
Path
getFactoryPath()
Get the factory path attribute.
Vector
getOptions()
Get the options to the compiler.
File
getPreprocessDir()
Get the preprocessdir attribute.
boolean
isCompile()
Get the compile option for the apt compiler.
void
setCompile(boolean compile)
Set the compile option for the apt compiler.
void
setCompiler(String compiler)
Set the compiler.
void
setFactory(String factory)
Set the factory option for the apt compiler.
void
setFactoryPathRef(Reference ref)
Add a reference to a path to the factoryPath attribute.
void
setFork(boolean fork)
Set the fork attribute.
void
setPreprocessDir(File preprocessDir)
Set the preprocessdir attribute.

Methods inherited from class org.apache.tools.ant.taskdefs.Javac

checkParameters, compile, createBootclasspath, createClasspath, createCompilerArg, createExtdirs, createSourcepath, createSrc, execute, getBootclasspath, getClasspath, getCompiler, getCompilerVersion, getCurrentCompilerArgs, getDebug, getDebugLevel, getDepend, getDeprecation, getDestdir, getEncoding, getExecutable, getExtdirs, getFailonerror, getFileList, getIncludeantruntime, getIncludejavaruntime, getJavacExecutable, getListfiles, getMemoryInitialSize, getMemoryMaximumSize, getNowarn, getOptimize, getSource, getSourcepath, getSrcdir, getSystemJavac, getTarget, getTempdir, getVerbose, isForkedJavac, isJdkCompiler, recreateSrc, resetFileLists, scanDir, setBootClasspathRef, setBootclasspath, setClasspath, setClasspathRef, setCompiler, setDebug, setDebugLevel, setDepend, setDeprecation, setDestdir, setEncoding, setExecutable, setExtdirs, setFailonerror, setFork, setIncludeantruntime, setIncludejavaruntime, setListfiles, setMemoryInitialSize, setMemoryMaximumSize, setNowarn, setOptimize, setProceed, setSource, setSourcepath, setSourcepathRef, setSrcdir, setTarget, setTempdir, setVerbose

Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

XsetIgnore, XsetItems, add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject

Field Details

ERROR_IGNORING_COMPILER_OPTION

public static final String ERROR_IGNORING_COMPILER_OPTION
An warning message when ignoring compiler attribute.

ERROR_WRONG_JAVA_VERSION

public static final String ERROR_WRONG_JAVA_VERSION
A warning message if used with java <321.5.

EXECUTABLE_NAME

public static final String EXECUTABLE_NAME
The name of the apt tool.

WARNING_IGNORING_FORK

public static final String WARNING_IGNORING_FORK
exposed for debug messages

Constructor Details

Apt

public Apt()
Construtor for Apt task. This sets the apt compiler adapter as the compiler in the super class.

Method Details

createFactoryPath

public Path createFactoryPath()
Add a path to the factoryPath attribute.
Returns:
a path to be configured.

createOption

public Apt.Option createOption()
Create a nested option.
Returns:
an option to be configured.

execute

public void execute()
            throws BuildException
Do the compilation.
Overrides:
execute in interface Javac
Throws:
BuildException - on error.

getAptExecutable

public String getAptExecutable()
Get the name of the apt executable.
Returns:
the name of the executable.

getCompiler

public String getCompiler()
Get the compiler class name.
Overrides:
getCompiler in interface Javac
Returns:
the compiler class name.

getFactory

public String getFactory()
Get the factory option for the apt compiler. If this is non-null the "-factory" argument will be used.
Returns:
the value of the factory option.

getFactoryPath

public Path getFactoryPath()
Get the factory path attribute. If this is not null, the "-factorypath" argument will be used. The default value is null.
Returns:
the factory path attribute.

getOptions

public Vector getOptions()
Get the options to the compiler. Each option will use '"-E" name ["=" value]' argument.
Returns:
the options.

getPreprocessDir

public File getPreprocessDir()
Get the preprocessdir attribute. This corresponds to the "-s" argument. The default value is null.
Returns:
the preprocessdir attribute.

isCompile

public boolean isCompile()
Get the compile option for the apt compiler. If this is false the "-nocompile" argument will be used.
Returns:
the value of the compile option.

setCompile

public void setCompile(boolean compile)
Set the compile option for the apt compiler. Default value is true.
Parameters:
compile - if true set the compile option.

setCompiler

public void setCompiler(String compiler)
Set the compiler. This is not allowed and a warning log message is made.
Overrides:
setCompiler in interface Javac
Parameters:
compiler - not used.

setFactory

public void setFactory(String factory)
Set the factory option for the apt compiler. Default value is null.
Parameters:
factory - the classname of the factory.

setFactoryPathRef

public void setFactoryPathRef(Reference ref)
Add a reference to a path to the factoryPath attribute.
Parameters:
ref - a reference to a path.

setFork

public void setFork(boolean fork)
Set the fork attribute. Non-forking APT is highly classpath dependent and appears to be too brittle to work. The sole reason this attribute is retained is the superclass does it
Overrides:
setFork in interface Javac
Parameters:
fork - if false; warn the option is ignored.

setPreprocessDir

public void setPreprocessDir(File preprocessDir)
Set the preprocessdir attribute.
Parameters:
preprocessDir - where to place processor generated source files.