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 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.

Version:
  $Id: Groovy.java 19652 2010-03-23 05:05:50Z paulk $

### Field Summary

### Fields inherited from class org.apache.tools.ant.taskdefs.Java

`redirector, redirectorElement`

### 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

Constructors
Constructor and Description
`Groovy()`

### Method Summary

Methods
`protected void` `addClassPathes(GroovyClassLoader classLoader)` Adds the class pathes (if any)
`void` `addFileset(FileSet set)` Adds a set of files (nested fileset attribute).
`void` `addText(String txt)` Set an inline command to execute.
`Commandline.Argument` `createArg()`
`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 it
`Path` `getClasspath()` Gets the classpath.
`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(Path classpath)` Sets the classpath for loading.
`void` `setClasspathRef(Reference ref)` Set the classpath for loading using the classpath reference.
`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` `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` `setOutput(File output)` Set the output file; optional, defaults to the Ant log.
`void` `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, createPermissions, createWatchdog, executeJava, executeJava, getCommandLine, getSysProperties, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, maybeSetResultPropertyValue, run, setArgs, setClassname, setCloneVm, setDir, setError, setErrorProperty, setFailonerror, setInput, setInputString, setJar, setJvm, setJvmargs, setJVMVersion, setLogError, setMaxmemory, setNewenvironment, setOutputproperty, setResultProperty, 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`

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

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

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Groovy

    public Groovy()

### Method Detail

#### setFork

    public void setFork(boolean fork)

Should the script be executed using a forked process. Defaults to false.

Overrides:
  `setFork` in class `Java`
Parameters:
  `fork` - true if the script should be executed in a forked process

#### 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

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 ommands to execute

#### addFileset

    public void addFileset(FileSet set)

Adds a set of files (nested fileset attribute).

Parameters:
  `set` - the fileset representing source files

#### setOutput

    public void setOutput(File output)

Set the output file; optional, defaults to the Ant log.

Overrides:
  `setOutput` in class `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 class `Java`
Parameters:
  `append` - set to true to append

#### setClasspath

    public void setClasspath(Path classpath)

Sets the classpath for loading.

Overrides:
  `setClasspath` in class `Java`
Parameters:
  `classpath` - The classpath to set

#### createClasspath

    public 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 class `Java`
Returns:
  the resulting created path

#### setClasspathRef

    public void setClasspathRef(Reference ref)

Set the classpath for loading using the classpath reference.

Overrides:
  `setClasspathRef` in class `Java`
Parameters:
  `ref` - the refid to use

#### getClasspath

    public Path getClasspath()

Gets the classpath.

Returns:
  Returns a Path

#### execute

    public void execute()
                 throws BuildException

Load the file and then execute it

Overrides:
  `execute` in class `Java`
Throws:
  `BuildException`

#### createArg

    public Commandline.Argument createArg()

Overrides:
  `createArg` in class `Java`

#### 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 exec
  `out` - 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 exec
  `out` - not used?

#### main

    public static void main(String[] args)

#### addClassPathes

    protected void addClassPathes(GroovyClassLoader classLoader)

Adds the class pathes (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