public class Groovyc
extends org.apache.tools.ant.taskdefs.MatchingTask
Typically involves using Ant from the command-line and an Ant build file such as:
 <?xml version="1.0"?>
 <project name="MyGroovyBuild" default="compile">
   <property name="groovy.home" value="/Path/To/Groovy"/>
   <property name="groovy.version" value="X.Y.Z"/>
   <path id="groovy.classpath">
     <fileset dir="${groovy.home}/embeddable">
       <include name="groovy-all-${groovy.version}.jar" />
     </fileset>
   </path>
   <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="groovy.classpath"/>
   <target name="compile" description="compile groovy sources">
     <groovyc srcdir="src" listfiles="true" classpathref="groovy.classpath"/>
   </target>
 </project>
 
 This task can take the following arguments:
When this task executes, it will recursively scan srcdir and destdir looking for Groovy source files to compile. This task makes its compile decision based on timestamp.
A more elaborate build file showing joint compilation:
 <?xml version="1.0"?>
 <project name="MyJointBuild" default="compile">
   <property name="groovy.home" value="/Path/To/Groovy"/>
   <property name="groovy.version" value="X.Y.Z"/>
   <path id="groovy.classpath">
     <fileset dir="${groovy.home}/embeddable">
       <include name="groovy-all-${groovy.version}.jar" />
     </fileset>
   </path>
   <target name="clean" description="remove all built files">
     <delete dir="classes" />
   </target>
   <target name="compile" depends="init" description="compile java and groovy sources">
     <mkdir dir="classes" />
     <groovyc destdir="classes" srcdir="src" listfiles="true" keepStubs="true" stubdir="stubs">
       <javac debug="on" deprecation="true"/>
       <classpath>
         <fileset dir="classes"/>
         <path refid="groovy.classpath"/>
       </classpath>
     </groovyc>
   </target>
   <target name="init">
     <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="groovy.classpath"/>
   </target>
 </project>
 
 Based heavily on the Javac implementation in Ant.
 Can also be used from AntBuilder to allow the build file to be scripted in Groovy.
| Modifier and Type | Field and Description | 
|---|---|
protected File[] | 
compileList  | 
protected CompilerConfiguration | 
configuration  | 
protected boolean | 
failOnError  | 
protected boolean | 
listFiles  | 
| Constructor and Description | 
|---|
Groovyc()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addConfiguredJavac(org.apache.tools.ant.taskdefs.Javac javac)
Add the configured nested javac task if present to initiate joint compilation. 
 | 
protected void | 
addToCompileList(File[] newFiles)  | 
protected GroovyClassLoader | 
buildClassLoaderFor()  | 
protected void | 
checkParameters()  | 
protected void | 
compile()  | 
org.apache.tools.ant.types.Path | 
createClasspath()
Adds a path to the classpath. 
 | 
org.apache.tools.ant.types.Path | 
createSourcepath()
Adds a path to sourcepath. 
 | 
org.apache.tools.ant.types.Path | 
createSrc()
Adds a path for source compilation. 
 | 
void | 
execute()
Executes the task. 
 | 
org.apache.tools.ant.types.Path | 
getClasspath()
Gets the classpath to be used for this compilation. 
 | 
String | 
getConfigscript()
Get the configuration file used to customize the compilation configuration. 
 | 
File | 
getDestdir()
Gets the destination directory into which the java source files
 should be compiled. 
 | 
String | 
getEncoding()
Returns the encoding to be used when creating files. 
 | 
String | 
getExecutable()
The value of the executable attribute, if any. 
 | 
boolean | 
getFailonerror()
Gets the failonerror flag. 
 | 
File[] | 
getFileList()
Gets the list of files to be compiled. 
 | 
boolean | 
getForceLookupUnnamedFiles()
Gets the forceLookupUnnamedFiles flag. 
 | 
boolean | 
getIncludeantruntime()
Gets whether or not the ant classpath is to be included in the classpath. 
 | 
boolean | 
getIncludejavaruntime()
Gets whether or not the java runtime should be included in this
 task's classpath. 
 | 
boolean | 
getIndy()
Get the value of the indy flag. 
 | 
boolean | 
getKeepStubs()
Gets the keepStubs flag. 
 | 
boolean | 
getListfiles()
Get the listfiles flag. 
 | 
String | 
getMemoryInitialSize()
Gets the memoryInitialSize flag. 
 | 
String | 
getMemoryMaximumSize()
Gets the memoryMaximumSize flag. 
 | 
String | 
getScriptBaseClass()
Get the base script class name for the scripts (must derive from Script) 
 | 
String | 
getScriptExtension()
Get the extension to use when searching for Groovy source files. 
 | 
org.apache.tools.ant.types.Path | 
getSourcepath()
Gets the sourcepath to be used for this compilation. 
 | 
org.apache.tools.ant.types.Path | 
getSrcdir()
Gets the source dirs to find the source java files. 
 | 
File | 
getStubdir()
Gets the stub directory into which the Java source stub
 files should be generated 
 | 
String | 
getTargetBytecode()
Retrieves the compiler bytecode compatibility mode. 
 | 
boolean | 
getTaskSuccess()
Get the result of the groovyc task (success or failure). 
 | 
boolean | 
getVerbose()
Gets the verbose flag. 
 | 
boolean | 
isIncludeDestClasses()
Get the value of the includeDestClasses property. 
 | 
protected CompilationUnit | 
makeCompileUnit()  | 
protected org.apache.tools.ant.types.Path | 
recreateSrc()
Recreate src. 
 | 
protected void | 
resetFileLists()
Clear the list of files to be compiled and copied. 
 | 
protected void | 
scanDir(File srcDir,
       File destDir,
       String[] files)
Scans the directory looking for source files to be compiled. 
 | 
void | 
setClasspath(org.apache.tools.ant.types.Path classpath)
Set the classpath to be used for this compilation. 
 | 
void | 
setClasspathRef(org.apache.tools.ant.types.Reference r)
Adds a reference to a classpath defined elsewhere. 
 | 
void | 
setConfigscript(String configscript)
Set the configuration file used to customize the compilation configuration. 
 | 
void | 
setDestdir(File destDir)
Set the destination directory into which the Java source
 files should be compiled. 
 | 
void | 
setEncoding(String encoding)
Sets the file encoding for generated files. 
 | 
void | 
setErrorProperty(String errorProperty)
The property to set on compilation failure. 
 | 
void | 
setExecutable(String forkExecPath)
Sets the name of the java executable to use when
 invoking the compiler in forked mode, ignored otherwise. 
 | 
void | 
setFailonerror(boolean fail)
Indicates whether the build will continue
 even if there are compilation errors; defaults to true. 
 | 
void | 
setForceLookupUnnamedFiles(boolean forceLookupUnnamedFiles)
Set the forceLookupUnnamedFiles flag. 
 | 
void | 
setFork(boolean f)
If true forks the Groovy compiler. 
 | 
void | 
setIncludeantruntime(boolean include)
If true, includes Ant's own classpath in the classpath. 
 | 
void | 
setIncludeDestClasses(boolean includeDestClasses)
This property controls whether to include the
 destination classes directory in the classpath
 given to the compiler. 
 | 
void | 
setIncludejavaruntime(boolean include)
If true, includes the Java runtime libraries in the classpath. 
 | 
void | 
setIndy(boolean useIndy)
Set the indy flag. 
 | 
void | 
setJavaHome(File home)
The JDK Home to use when forked. 
 | 
void | 
setKeepStubs(boolean keepStubs)
Set the keepStubs flag. 
 | 
void | 
setListfiles(boolean list)
If true, list the source files being handed off to the compiler. 
 | 
void | 
setMemoryInitialSize(String memoryInitialSize)
The initial size of the memory for the underlying VM
 if javac is run externally; ignored otherwise. 
 | 
void | 
setMemoryMaximumSize(String memoryMaximumSize)
The maximum size of the memory for the underlying VM
 if javac is run externally; ignored otherwise. 
 | 
void | 
setProceed(boolean proceed)  | 
void | 
setScriptBaseClass(String scriptBaseClass)
Set the base script class name for the scripts (must derive from Script) 
 | 
void | 
setScriptExtension(String scriptExtension)
Set the extension to use when searching for Groovy source files. 
 | 
void | 
setSourcepath(org.apache.tools.ant.types.Path sourcepath)
Set the sourcepath to be used for this compilation. 
 | 
void | 
setSourcepathRef(org.apache.tools.ant.types.Reference r)
Adds a reference to a source path defined elsewhere. 
 | 
void | 
setSrcdir(org.apache.tools.ant.types.Path srcDir)
Set the source directories to find the source Java files. 
 | 
void | 
setStacktrace(boolean stacktrace)
Enable compiler to report stack trace information if a problem occurs
 during compilation. 
 | 
void | 
setStubdir(File stubDir)
Set the stub directory into which the Java source stub
 files should be generated. 
 | 
void | 
setTargetBytecode(String version)
Sets the bytecode compatibility mode 
 | 
void | 
setUpdatedProperty(String updatedProperty)
The property to set on compilation success. 
 | 
void | 
setVerbose(boolean verbose)
Enable verbose compiling which will display which files
 are being compiled. 
 | 
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, XsetIgnore, XsetItemsbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeprotected boolean failOnError
protected boolean listFiles
protected File[] compileList
protected CompilerConfiguration configuration
public org.apache.tools.ant.types.Path createSrc()
protected org.apache.tools.ant.types.Path recreateSrc()
public void setSrcdir(org.apache.tools.ant.types.Path srcDir)
srcDir - the source directories as a pathpublic org.apache.tools.ant.types.Path getSrcdir()
public void setScriptExtension(String scriptExtension)
scriptExtension - the extension of Groovy source filespublic String getScriptExtension()
public void setTargetBytecode(String version)
version - the bytecode compatibility modepublic String getTargetBytecode()
public void setDestdir(File destDir)
destDir - the destination directorpublic File getDestdir()
public void setSourcepath(org.apache.tools.ant.types.Path sourcepath)
sourcepath - the source pathpublic org.apache.tools.ant.types.Path getSourcepath()
public org.apache.tools.ant.types.Path createSourcepath()
public void setSourcepathRef(org.apache.tools.ant.types.Reference r)
r - a reference to a source pathpublic void setClasspath(org.apache.tools.ant.types.Path classpath)
classpath - an Ant Path object containing the compilation classpath.public org.apache.tools.ant.types.Path getClasspath()
public org.apache.tools.ant.types.Path createClasspath()
public void setClasspathRef(org.apache.tools.ant.types.Reference r)
r - a reference to a classpathpublic void setListfiles(boolean list)
list - if true list the source filespublic boolean getListfiles()
public void setFailonerror(boolean fail)
fail - if true halt the build on failurepublic void setProceed(boolean proceed)
proceed - inverse of failonerrorpublic boolean getFailonerror()
public void setMemoryInitialSize(String memoryInitialSize)
memoryInitialSize - string to pass to VMpublic String getMemoryInitialSize()
public void setMemoryMaximumSize(String memoryMaximumSize)
memoryMaximumSize - string to pass to VMpublic String getMemoryMaximumSize()
public void setEncoding(String encoding)
encoding - the file encoding to be usedpublic String getEncoding()
public void setVerbose(boolean verbose)
public boolean getVerbose()
public void setIncludeantruntime(boolean include)
include - if true, includes Ant's own classpath in the classpathpublic boolean getIncludeantruntime()
public void setIncludejavaruntime(boolean include)
include - if true, includes the Java runtime libraries in the classpathpublic boolean getIncludejavaruntime()
public void setFork(boolean f)
f - "true|false|on|off|yes|no"public void setJavaHome(File home)
home - the java.home value to use, default is the current JDK's homepublic void setExecutable(String forkExecPath)
forkExecPath - the name of the executablepublic String getExecutable()
public void setUpdatedProperty(String updatedProperty)
updatedProperty - the property name to use.public void setErrorProperty(String errorProperty)
errorProperty - the property name to use.public void setIncludeDestClasses(boolean includeDestClasses)
includeDestClasses - the value to use.public boolean isIncludeDestClasses()
public boolean getTaskSuccess()
public void addConfiguredJavac(org.apache.tools.ant.taskdefs.Javac javac)
public void setStacktrace(boolean stacktrace)
public void setIndy(boolean useIndy)
useIndy - the indy flagpublic boolean getIndy()
public void setScriptBaseClass(String scriptBaseClass)
scriptBaseClass - Base class name for scripts (must derive from Script)public String getScriptBaseClass()
public String getConfigscript()
public void setConfigscript(String configscript)
configscript - a path to a configuration scriptpublic void setStubdir(File stubDir)
stubDir - the stub directorypublic File getStubdir()
public void setKeepStubs(boolean keepStubs)
keepStubs - should stubs be retainedpublic boolean getKeepStubs()
public void setForceLookupUnnamedFiles(boolean forceLookupUnnamedFiles)
true.forceLookupUnnamedFiles - should unnamed source files be searched for on the classpathpublic boolean getForceLookupUnnamedFiles()
public void execute()
             throws org.apache.tools.ant.BuildException
execute in class org.apache.tools.ant.Taskorg.apache.tools.ant.BuildException - if an error occursprotected void resetFileLists()
protected void scanDir(File srcDir, File destDir, String[] files)
srcDir - The source directorydestDir - The destination directoryfiles - An array of filenamesprotected void addToCompileList(File[] newFiles)
public File[] getFileList()
protected void checkParameters()
                        throws org.apache.tools.ant.BuildException
org.apache.tools.ant.BuildExceptionprotected void compile()
protected CompilationUnit makeCompileUnit()
protected GroovyClassLoader buildClassLoaderFor()