# ScriptHandler

interface ScriptHandler(source)

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

To declare the script classpath, you use the org.gradle.api.artifacts.dsl.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 org.gradle.api.artifacts.dsl.RepositoryHandler provided by getRepositories.

#### Inheritors

ScriptHandlerScope

## Properties

CLASSPATH_CONFIGURATION
Link copied to clipboard
val CLASSPATH_CONFIGURATION: String = "classpath"
The name of the configuration used to assemble the script classpath.

## Functions

configurations
Link copied to clipboard
abstract fun configurations(action: Action<in ConfigurationContainer>)
Configures the configurations for the script.
dependencies
Link copied to clipboard
abstract fun dependencies(@DelegatesTo(value = DependencyHandler::class, strategy = Closure.DELEGATE_FIRST) configureClosure: Closure)
Configures the dependencies for the script.
dependencyLocking
Link copied to clipboard
abstract fun dependencyLocking(@DelegatesTo(value = DependencyLockingHandler::class, strategy = Closure.DELEGATE_FIRST) configureClosure: Closure)
abstract fun dependencyLocking(action: Action<in DependencyLockingHandler>)
Configures dependency locking for the script.
dependencyLocking
Link copied to clipboard
fun ScriptHandler.dependencyLocking(configuration: DependencyLockingHandler.() -> Unit)

Configures the dependency locking for the script dependency configurations.

getClassLoader
Link copied to clipboard
abstract fun getClassLoader(): ClassLoader
Returns the `ClassLoader` which contains the classpath for this script.
getConfigurations
Link copied to clipboard
abstract fun getConfigurations(): ConfigurationContainer
Returns the configurations of this handler.
getDependencies
Link copied to clipboard
abstract fun getDependencies(): DependencyHandler
Returns the dependencies of the script.
getDependencyLocking
Link copied to clipboard
abstract fun getDependencyLocking(): DependencyLockingHandler
Provides access to configuring dependency locking
getRepositories
Link copied to clipboard
abstract fun getRepositories(): RepositoryHandler
Returns a handler to create repositories which are used for retrieving dependencies for the script classpath.
getSourceFile
Link copied to clipboard
@Nullable
abstract fun getSourceFile(): @Nullable File
Returns the file containing the source for the script, if any.
getSourceURI
Link copied to clipboard
@Nullable
abstract fun getSourceURI(): @Nullable URI
Returns the URI for the script source, if any.
repositories
Link copied to clipboard
abstract fun repositories(@DelegatesTo(value = RepositoryHandler::class, strategy = Closure.DELEGATE_FIRST) configureClosure: Closure)
abstract fun repositories(action: Action<in RepositoryHandler>)
Configures the repositories for the script dependencies.
repositories
Link copied to clipboard
fun ScriptHandler.repositories(configuration: RepositoryHandler.() -> Unit)

Configures the repositories for the script dependencies.