Package: org.gradle.api.initialization.dsl

## [Java] Interface ScriptHandler

- A `ScriptHandler` allows you to manage the compilation and execution of a build script. You can declare the classpath used to compile and execute a build script. This classpath is also used to load the plugins which the build script uses.

  You can obtain a `ScriptHandler` instance using Project.getBuildscript or Script.getBuildscript.

  To declare the script classpath, you use the DependencyHandler provided by getDependencies() to attach dependencies to the {

  value:
    #CLASSPATH_CONFIGURATION} configuration. These dependencies are resolved just prior to script compilation, and assembled into the classpath for the script.

    For most external dependencies you will also need to declare one or more repositories where the dependencies can be found, using the RepositoryHandler provided by getRepositories().

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `String` | `CLASSPATH_CONFIGURATION` | The name of the configuration used to assemble the script classpath.

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `dependencies(Closure configureClosure)` Configures the dependencies for the script.
    `ClassLoader` | `getClassLoader()` Returns the `ClassLoader` which contains the classpath for this script.
    `ConfigurationContainer` | `getConfigurations()` Returns the configurations of this handler.
    `DependencyHandler` | `getDependencies()` Returns the dependencies of the script.
    `RepositoryHandler` | `getRepositories()` Returns a handler to create repositories which are used for retrieving dependencies for the script classpath.
    `File` | `getSourceFile()` Returns the file containing the source for the script, if any.
    `URI` | `getSourceURI()` Returns the URI for the script source, if any.
    `void` | `repositories(Closure configureClosure)` Configures the repositories for the script dependencies.

- - ### Field Detail

    - #### public String CLASSPATH_CONFIGURATION

      The name of the configuration used to assemble the script classpath.

  - ### Method Detail

    - #### public void dependencies(Closure configureClosure)

      Configures the dependencies for the script. Executes the given closure against the DependencyHandler for this handler. The DependencyHandler is passed to the closure as the closure's delegate.

      Parameters:
        `configureClosure` - the closure to use to configure the dependencies.

    - #### public ClassLoader getClassLoader()

      Returns the `ClassLoader` which contains the classpath for this script.

      Returns:
        The ClassLoader. Never returns null.

    - #### public ConfigurationContainer getConfigurations()

      Returns the configurations of this handler. This usually contains a single configuration, called {

      value:
        #CLASSPATH_CONFIGURATION}.
      Returns:
        The configuration of this handler.

    - #### public DependencyHandler getDependencies()

      Returns the dependencies of the script. The returned dependency handler instance can be used for adding new dependencies. For accessing already declared dependencies, the configurations can be used.

      Returns:
        the dependency handler. Never returns null.
      See Also:
        getConfigurations()

    - #### public RepositoryHandler getRepositories()

      Returns a handler to create repositories which are used for retrieving dependencies for the script classpath.

      Returns:
        the repository handler. Never returns null.

    - #### public File getSourceFile()

      Returns the file containing the source for the script, if any.

      Returns:
        The source file. Returns null if the script source is not a file.

    - #### public URI getSourceURI()

      Returns the URI for the script source, if any.

      Returns:
        The source URI. Returns null if the script source has no URI.

    - #### public void repositories(Closure configureClosure)

      Configures the repositories for the script dependencies. Executes the given closure against the RepositoryHandler for this handler. The RepositoryHandler is passed to the closure as the closure's delegate.

      Parameters:
        `configureClosure` - the closure to use to configure the repositories.