Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD

## org.gradle.api
[Java] Interface Script

    public interface Script

This interface is implemented by all Gradle scripts to add in some Gradle-specific methods. As your compiled script class will implement this interface, you can use the methods and properties declared by this interface directly in your script.

Generally, a `Script` object will have a delegate object attached to it. For example, a build script will have a Project instance attached to it, and an initialization script will have a Gradle instance attached to it. Any property reference or method call which is not found on this `Script` object is forwarded to the delegate object.

Method Summary
`void` | `apply(groovy.lang.Closure closure)` Configures the delegate object for this script using plugins or scripts.
`void` | `apply(java.util.Map options)` Configures the delegate object for this script using plugins or scripts.
`void` | `buildscript(groovy.lang.Closure configureClosure)` Configures the classpath for this script.
`void` | `captureStandardOutput(LogLevel level)` Starts redirection of standard output during to the logging system during script execution.
`WorkResult` | `copy(groovy.lang.Closure closure)` Copy the specified files.
`CopySpec` | `copySpec(groovy.lang.Closure closure)` Creates a CopySpec which can later be used to copy files or create an archive.
`boolean` | `delete(java.lang.Object paths)` Deletes files and directories.
`void` | `disableStandardOutputCapture()` Disables redirection of standard output during script execution.
`ExecResult` | `exec(groovy.lang.Closure closure)` Executes an external command.
`java.io.File` | `file(java.lang.Object path)` Resolves a file path relative to the directory containing this script.
`java.io.File` | `file(java.lang.Object path, PathValidation validation)` Resolves a file path relative to the directory containing this script and validates it using the given scheme.
`ConfigurableFileTree` | `fileTree(java.lang.Object baseDir)` Creates a new `ConfigurableFileTree` using the given base directory.
`ConfigurableFileTree` | `fileTree(java.util.Map args)` Creates a new `ConfigurableFileTree` using the provided map of arguments.
`ConfigurableFileTree` | `fileTree(groovy.lang.Closure closure)` Creates a new `ConfigurableFileTree` using the provided closure.
`ConfigurableFileCollection` | `files(java.lang.Object paths)` Returns a ConfigurableFileCollection containing the given files.
`ConfigurableFileCollection` | `files(java.lang.Object paths, groovy.lang.Closure configureClosure)` Creates a new `ConfigurableFileCollection` using the given paths.
`ScriptHandler` | `getBuildscript()` Returns the script handler for this script.
`Logger` | `getLogger()` Returns the logger for this script.
`LoggingManager` | `getLogging()` Returns the LoggingManager which can be used to control the logging level and standard output/error capture for this script.
`ExecResult` | `javaexec(groovy.lang.Closure closure)` Executes a Java main class.
`java.io.File` | `mkdir(java.lang.Object path)` Creates a directory and returns a file pointing to it.
`java.lang.String` | `relativePath(java.lang.Object path)` Returns the relative path from the directory containing this script to the given path.
`FileTree` | `tarTree(java.lang.Object tarPath)` Creates a new `FileTree` which contains the contents of the given TAR file.
`java.net.URI` | `uri(java.lang.Object path)` Resolves a file path to a URI, relative to the directory containing this script.
`FileTree` | `zipTree(java.lang.Object zipPath)` Creates a new `FileTree` which contains the contents of the given ZIP file.

Method Detail

### apply

    public void apply(groovy.lang.Closure closure)

  Configures the delegate object for this script using plugins or scripts.

  The given closure is used to configure an ObjectConfigurationAction which is then used to configure the delegate object.

  Parameters:
    `closure` - The closure to configure the `ObjectConfigurationAction`.

### apply

    public void apply(java.util.Map options)

  Configures the delegate object for this script using plugins or scripts.

  The following options are available:

  - `from`: A script to apply to the delegate object. Accepts any path supported by uri(Object).
  - `plugin`: The id or implementation class of the plugin to apply to the delegate object.
  - `to`: The target delegate object or objects.

  For more detail, see ObjectConfigurationAction.

  Parameters:
    `options` - The options to use to configure the `ObjectConfigurationAction`.

### buildscript

    public void buildscript(groovy.lang.Closure configureClosure)

  Configures the classpath for this script.

  The given closure is executed against this script's ScriptHandler. The ScriptHandler is passed to the closure as the closure's delegate.

  Parameters:
    `configureClosure` - the closure to use to configure the script classpath.

### captureStandardOutput

    @Deprecated
    public void captureStandardOutput(LogLevel level)

  Starts redirection of standard output during to the logging system during script execution. By default redirection is enabled and the output is redirected to the QUIET level. System.err is always redirected to the ERROR level.

  deprecated:
    Use the LoggingManager returned by getLogging() instead
  Parameters:
    `level` - The level standard out should be logged to.
  See Also:
    disableStandardOutputCapture()

### copy

    public WorkResult copy(groovy.lang.Closure closure)

  Copy the specified files. The given closure is used to configure a CopySpec, which is then used to copy the files. Example:

       copy {
          from configurations.runtime
          into 'build/deploy/lib'
       }

  Note that CopySpecs can be nested:

       copy {
          into 'build/webroot'
          exclude '**/.svn/**'
          from('src/main/webapp') {
             include '**/*.jsp'
             filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])
          }
          from('src/main/js') {
             include '**/*.js'
          }
       }

  Parameters:
    `closure` - Closure to configure the CopySpec
  Returns:
    WorkResult that can be used to check if the copy did any work.

### copySpec

    public CopySpec copySpec(groovy.lang.Closure closure)

  Creates a CopySpec which can later be used to copy files or create an archive. The given closure is used to configure the CopySpec before it is returned by this method.
  Parameters:
    `closure` - Closure to configure the CopySpec
  Returns:
    The CopySpec

### delete

    public boolean delete(java.lang.Object paths)

  Deletes files and directories.
  Parameters:
    `paths` - Any type of object accepted by Project.files
  Returns:
    true if anything got deleted, false otherwise

### disableStandardOutputCapture

    @Deprecated
    public void disableStandardOutputCapture()

  Disables redirection of standard output during script execution. By default redirection is enabled.
  See Also:
    captureStandardOutput(org.gradle.api.logging.LogLevel)

### exec

    public ExecResult exec(groovy.lang.Closure closure)

  Executes an external command. The closure configures a ExecSpec.
  Parameters:
    `closure` - The closure for configuring the execution.
  Returns:
    the result of the execution

### file

    public java.io.File file(java.lang.Object path)

  Resolves a file path relative to the directory containing this script. This works as described for Project.file

  Parameters:
    `path` - The object to resolve as a File.
  Returns:
    The resolved file. Never returns null.

### file

    public java.io.File file(java.lang.Object path, PathValidation validation)

  Resolves a file path relative to the directory containing this script and validates it using the given scheme. See PathValidation for the list of possible validations.

  throws:
    InvalidUserDataException When the file does not meet the given validation constraint.
  Parameters:
    `path` - An object to resolve as a File.
    `validation` - The validation to perform on the file.
  Returns:
    The resolved file. Never returns null.

### fileTree

    public ConfigurableFileTree fileTree(java.lang.Object baseDir)

  Creates a new `ConfigurableFileTree` using the given base directory. The given baseDir path is evaluated as for file(Object).

  The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

  Parameters:
    `baseDir` - The base directory of the file tree. Evaluated as for file(Object).
  Returns:
    the file tree. Never returns null.

### fileTree

    public ConfigurableFileTree fileTree(java.util.Map args)

  Creates a new `ConfigurableFileTree` using the provided map of arguments. The map will be applied as properties on the new file tree. Example:

       fileTree(dir:'src', excludes:['**/ignore/**','**/.svn/**'])

  The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

  Parameters:
    `args` - map of property assignments to `ConfigurableFileTree` object
  Returns:
    the configured file tree. Never returns null.

### fileTree

    public ConfigurableFileTree fileTree(groovy.lang.Closure closure)

  Creates a new `ConfigurableFileTree` using the provided closure. The closure will be used to configure the new file tree. The file tree is passed to the closure as its delegate. Example:

       fileTree {
          from 'src'
          exclude '**/.svn/**'
       }.copy { into 'dest'}

  The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

  Parameters:
    `closure` - Closure to configure the `ConfigurableFileTree` object
  Returns:
    the configured file tree. Never returns null.

### files

    public ConfigurableFileCollection files(java.lang.Object paths)

  Returns a ConfigurableFileCollection containing the given files. This works as described for Project.files. Relative paths are resolved relative to the directory containing this script.

  Parameters:
    `paths` - The paths to the files. May be empty.
  Returns:
    The file collection. Never returns null.

### files

    public ConfigurableFileCollection files(java.lang.Object paths, groovy.lang.Closure configureClosure)

  Creates a new `ConfigurableFileCollection` using the given paths. The file collection is configured using the given closure. This method works as described for Project.files. Relative paths are resolved relative to the directory containing this script.

  Parameters:
    `paths` - The contents of the file collection. Evaluated as for files(Object...).
    `configureClosure` - The closure to use to configure the file collection.
  Returns:
    the configured file tree. Never returns null.

### getBuildscript

    public ScriptHandler getBuildscript()

  Returns the script handler for this script. You can use this handler to manage the classpath used to compile and execute this script.
  Returns:
    the classpath handler. Never returns null.

### getLogger

    public Logger getLogger()

  Returns the logger for this script. You can use this in your script to write log messages.
  Returns:
    The logger. Never returns null.

### getLogging

    public LoggingManager getLogging()

  Returns the LoggingManager which can be used to control the logging level and standard output/error capture for this script. By default, System.out is redirected to the Gradle logging system at the QUIET log level, and System.err is redirected at the ERROR log level.
  Returns:
    the LoggingManager. Never returns null.

### javaexec

    public ExecResult javaexec(groovy.lang.Closure closure)

  Executes a Java main class. The closure configures a JavaExecSpec.
  Parameters:
    `closure` - The closure for configuring the execution.
  Returns:
    the result of the execution

### mkdir

    public java.io.File mkdir(java.lang.Object path)

  Creates a directory and returns a file pointing to it.
  throws:
    org.gradle.api.InvalidUserDataException If the path points to an existing file.
  Parameters:
    `path` - The path for the directory to be created. Evaluated as for file(Object).
  Returns:
    the created directory

### relativePath

    public java.lang.String relativePath(java.lang.Object path)

  Returns the relative path from the directory containing this script to the given path. The given path object is (logically) resolved as described for file(Object), from which a relative path is calculated.

  Parameters:
    `path` - The path to convert to a relative path.
  Returns:
    The relative path. Never returns null.

### tarTree

    public FileTree tarTree(java.lang.Object tarPath)

  Creates a new `FileTree` which contains the contents of the given TAR file. The given tarPath path is evaluated as for file(Object). You can combine this method with the copy(groovy.lang.Closure) method to untar a TAR file.

  The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

  Parameters:
    `tarPath` - The TAR file. Evaluated as for file(Object).
  Returns:
    the file tree. Never returns null.

### uri

    public java.net.URI uri(java.lang.Object path)

  Resolves a file path to a URI, relative to the directory containing this script. Evaluates the provided path object as described for file(Object), with the exception that any URI scheme is supported, not just 'file:' URIs.

  Parameters:
    `path` - The object to resolve as a URI.
  Returns:
    The resolved URI. Never returns null.

### zipTree

    public FileTree zipTree(java.lang.Object zipPath)

  Creates a new `FileTree` which contains the contents of the given ZIP file. The given zipPath path is evaluated as for file(Object). You can combine this method with the copy(groovy.lang.Closure) method to unzip a ZIP file.

  The returned file tree is lazy, so that it scans for files only when the contents of the file tree are queried. The file tree is also live, so that it scans for files each time the contents of the file tree are queried.

  Parameters:
    `zipPath` - The ZIP file. Evaluated as for file(Object).
  Returns:
    the file tree. Never returns null.

Groovy Documentation