Package org.codehaus.groovy.ant
Class Groovy
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- org.apache.tools.ant.taskdefs.Java
-
- org.codehaus.groovy.ant.Groovy
-
- All Implemented Interfaces:
Cloneable
public class Groovy extends org.apache.tools.ant.taskdefs.Java
Executes a series of Groovy statements.Statements can either be read in from a text file using the src attribute or from between the enclosing groovy tags.
-
-
Constructor Summary
Constructors Constructor Description Groovy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addClassPathes(GroovyClassLoader classLoader)
Adds the class paths (if any)void
addConfigured(org.apache.tools.ant.types.ResourceCollection a)
Set the source resource.void
addFileset(org.apache.tools.ant.types.FileSet set)
Adds a fileset (nested fileset attribute) which should represent a single source file.void
addFilterChain(org.apache.tools.ant.types.FilterChain filter)
Add the FilterChain element.void
addText(String txt)
Set an inline command to execute.org.apache.tools.ant.types.Commandline.Argument
createArg()
org.apache.tools.ant.types.Path
createClasspath()
Returns a new path element that can be configured.protected void
execGroovy(String txt, PrintStream out)
Exec the statement.void
execute()
Load the file and then execute itorg.apache.tools.ant.types.Path
getClasspath()
Gets the classpath.boolean
getParameters()
Returns true if parameter metadata generation has been enabled.static void
main(String[] args)
protected void
printResults(PrintStream out)
print any results in the statement.protected void
runStatements(Reader reader, PrintStream out)
Read in lines and execute them.void
setAppend(boolean append)
Whether output should be appended to or overwrite an existing file.void
setClasspath(org.apache.tools.ant.types.Path classpath)
Sets the classpath for loading.void
setClasspathRef(org.apache.tools.ant.types.Reference ref)
Set the classpath for loading using the classpath reference.void
setConfigscript(String configscript)
Sets the configuration script for the groovy compiler configuration.void
setContextClassLoader(boolean contextClassLoader)
Setting to true will cause the contextClassLoader to be set with the classLoader of the shell used to run the script.void
setEncoding(String encoding)
Declare the encoding to use when inputting from a resource; If not supplied or the empty encoding is supplied, a guess will be made for file resources, otherwise the platform's default encoding will be used.void
setFork(boolean fork)
Should the script be executed using a forked process.void
setIncludeAntRuntime(boolean includeAntRuntime)
Should the system classpath be included on the classpath when forking.void
setIndy(boolean indy)
Sets the indy flag to enable or disable invokedynamicvoid
setOutput(File output)
Set the output file; optional, defaults to the Ant log.void
setOutputEncoding(String encoding)
Declare the encoding to use when outputting to a file; Leave unspecified or use "" for the platform's default encoding.void
setParameters(boolean parameters)
If true, generates metadata for reflection on method parameter names (jdk8+ only).void
setScriptBaseClass(String scriptBaseClass)
Set the script base class namevoid
setSrc(File srcFile)
Set the name of the file to be run.void
setStacktrace(boolean stacktrace)
Enable compiler to report stack trace information if a problem occurs during compilation.void
setUseGroovyShell(boolean useGroovyShell)
Should a new GroovyShell be used when forking.-
Methods inherited from class org.apache.tools.ant.taskdefs.Java
addAssertions, addConfiguredRedirector, addEnv, addSysproperty, addSyspropertyset, checkConfiguration, clearArgs, createBootclasspath, createJvmarg, createModulepath, createPermissions, createUpgrademodulepath, createWatchdog, executeJava, executeJava, getCommandLine, getSysProperties, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, maybeSetResultPropertyValue, run, setArgs, setClassname, setCloneVm, setDir, setDiscardError, setDiscardOutput, setError, setErrorProperty, setFailonerror, setInput, setInputString, setJar, setJvm, setJvmargs, setJVMVersion, setLogError, setMaxmemory, setModule, setModulepath, setModulepathRef, setNewenvironment, setOutputproperty, setResultProperty, setSourceFile, setSpawn, setTimeout, setupRedirector
-
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
-
-
-
-
Method Detail
-
setFork
public void setFork(boolean fork)
Should the script be executed using a forked process. Defaults to false.- Overrides:
setFork
in classorg.apache.tools.ant.taskdefs.Java
- Parameters:
fork
- true if the script should be executed in a forked process
-
setOutputEncoding
public void setOutputEncoding(String encoding)
Declare the encoding to use when outputting to a file; Leave unspecified or use "" for the platform's default encoding.- Parameters:
encoding
- the character encoding to use.- Since:
- 3.0.3
-
setEncoding
public void setEncoding(String encoding)
Declare the encoding to use when inputting from a resource; If not supplied or the empty encoding is supplied, a guess will be made for file resources, otherwise the platform's default encoding will be used.- Parameters:
encoding
- the character encoding to use.- Since:
- 3.0.3
-
setUseGroovyShell
public void setUseGroovyShell(boolean useGroovyShell)
Should a new GroovyShell be used when forking. Special variables won't be available but you don't need Ant in the classpath.- Parameters:
useGroovyShell
- true if GroovyShell should be used to run the script directly
-
setIncludeAntRuntime
public void setIncludeAntRuntime(boolean includeAntRuntime)
Should the system classpath be included on the classpath when forking. Defaults to true.- Parameters:
includeAntRuntime
- true if the system classpath should be on the classpath
-
setStacktrace
public void setStacktrace(boolean stacktrace)
Enable compiler to report stack trace information if a problem occurs during compilation.- Parameters:
stacktrace
- set to true to enable stacktrace reporting
-
setSrc
public void setSrc(File srcFile)
Set the name of the file to be run. The folder of the file is automatically added to the classpath. Required unless statements are enclosed in the build file or a nested resource is supplied.- Parameters:
srcFile
- the file containing the groovy script to execute
-
addText
public void addText(String txt)
Set an inline command to execute. NB: Properties are not expanded in this text.- Parameters:
txt
- the inline groovy commands to execute
-
addFileset
public void addFileset(org.apache.tools.ant.types.FileSet set)
Adds a fileset (nested fileset attribute) which should represent a single source file.- Parameters:
set
- the fileset representing a source file
-
setOutput
public void setOutput(File output)
Set the output file; optional, defaults to the Ant log.- Overrides:
setOutput
in classorg.apache.tools.ant.taskdefs.Java
- Parameters:
output
- the output file
-
setAppend
public void setAppend(boolean append)
Whether output should be appended to or overwrite an existing file. Defaults to false.- Overrides:
setAppend
in classorg.apache.tools.ant.taskdefs.Java
- Parameters:
append
- set to true to append
-
setClasspath
public void setClasspath(org.apache.tools.ant.types.Path classpath)
Sets the classpath for loading.- Overrides:
setClasspath
in classorg.apache.tools.ant.taskdefs.Java
- Parameters:
classpath
- The classpath to set
-
createClasspath
public org.apache.tools.ant.types.Path createClasspath()
Returns a new path element that can be configured. Gets called for instance by Ant when it encounters a nested <classpath> element.- Overrides:
createClasspath
in classorg.apache.tools.ant.taskdefs.Java
- Returns:
- the resulting created path
-
setClasspathRef
public void setClasspathRef(org.apache.tools.ant.types.Reference ref)
Set the classpath for loading using the classpath reference.- Overrides:
setClasspathRef
in classorg.apache.tools.ant.taskdefs.Java
- Parameters:
ref
- the refid to use
-
getClasspath
public org.apache.tools.ant.types.Path getClasspath()
Gets the classpath.- Returns:
- Returns a Path
-
setConfigscript
public void setConfigscript(String configscript)
Sets the configuration script for the groovy compiler configuration.- Parameters:
configscript
- path to the configuration script
-
setIndy
public void setIndy(boolean indy)
Sets the indy flag to enable or disable invokedynamic- Parameters:
indy
- true means invokedynamic support is active
-
setScriptBaseClass
public void setScriptBaseClass(String scriptBaseClass)
Set the script base class name- Parameters:
scriptBaseClass
- the name of the base class for scripts
-
setParameters
public void setParameters(boolean parameters)
If true, generates metadata for reflection on method parameter names (jdk8+ only). Defaults to false.- Parameters:
parameters
- set to true to generate metadata.
-
getParameters
public boolean getParameters()
Returns true if parameter metadata generation has been enabled.
-
execute
public void execute() throws org.apache.tools.ant.BuildException
Load the file and then execute it- Overrides:
execute
in classorg.apache.tools.ant.taskdefs.Java
- Throws:
org.apache.tools.ant.BuildException
-
createArg
public org.apache.tools.ant.types.Commandline.Argument createArg()
- Overrides:
createArg
in classorg.apache.tools.ant.taskdefs.Java
-
addFilterChain
public final void addFilterChain(org.apache.tools.ant.types.FilterChain filter)
Add the FilterChain element.- Parameters:
filter
- the filter to add
-
addConfigured
public void addConfigured(org.apache.tools.ant.types.ResourceCollection a)
Set the source resource.- Parameters:
a
- the resource to load as a single element Resource collection.
-
runStatements
protected void runStatements(Reader reader, PrintStream out) throws IOException
Read in lines and execute them.- Parameters:
reader
- the reader from which to get the groovy source to execout
- the outputstream to use- Throws:
IOException
- if something goes wrong
-
execGroovy
protected void execGroovy(String txt, PrintStream out)
Exec the statement.- Parameters:
txt
- the groovy source to execout
- not used?
-
main
public static void main(String[] args)
-
addClassPathes
protected void addClassPathes(GroovyClassLoader classLoader)
Adds the class paths (if any)- Parameters:
classLoader
- the classloader to configure
-
printResults
protected void printResults(PrintStream out)
print any results in the statement.- Parameters:
out
- the output PrintStream to print to
-
setContextClassLoader
public void setContextClassLoader(boolean contextClassLoader)
Setting to true will cause the contextClassLoader to be set with the classLoader of the shell used to run the script. Not used if fork is true. Not allowed when running from Maven but in that case the context classLoader is set appropriately for Maven.- Parameters:
contextClassLoader
- set to true to set the context classloader
-
-