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.

- - ### 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 | 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 it
    `org.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 invokedynamic
    `void` | `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 name
    `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, createModulepath, createPermissions, createUpgrademodulepath, 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, 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`

    - ### 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 `org.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 class `org.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 class `org.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 class `org.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 class `org.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 class `org.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 class `org.apache.tools.ant.taskdefs.Java`
      Throws:
        `org.apache.tools.ant.BuildException`

    - #### createArg

          public org.apache.tools.ant.types.Commandline.Argument createArg()

      Overrides:
        `createArg` in class `org.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 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 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