Class 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 addFileset​(org.apache.tools.ant.types.FileSet set)
      Adds a set of files (nested fileset attribute).
      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 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 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, 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
    • 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
      • 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 commands to execute
      • addFileset

        public void addFileset​(org.apache.tools.ant.types.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 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
      • 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