API Documentation: | Script |
---|
This interface is implemented by all Gradle Groovy DSL scripts to add in some Gradle-specific methods. As your compiledscript class will implement this interface, you can use the methods and properties declared by this interfacedirectly in your script.
Generally, aScript
object will have a delegate object attached to it. For example, a build script willhave aProject
instance attached to it, and an initialization script will have aGradle
instance attached to it. Any property reference or method call which is not foundon thisScript
object is forwarded to the delegate object.
Property | Description |
buildscript | The script handler for this script. You can use this handler to manage the classpath used to compile andexecute this script. |
logger | The logger for this script. You can use this in your script to write log messages. |
logging | The |
resources | Provides access to resource-specific utility methods, for example factory methods that create various resources. |
Method | Description |
apply(closure) | Configures the delegate object for this script using plugins or scripts. |
apply(options) | Configures the delegate object for this script using plugins or scripts. |
copy(closure) | Copy the specified files. The given closure is used to configure a |
copySpec(closure) | Creates a |
delete(paths) | Deletes files and directories. |
exec(closure) | Executes an external command. The closure configures a |
exec(action) | Executes an external command. |
file(path) | Resolves a file path relative to the directory containing this script. This works as described for |
file(path, validation) | Resolves a file path relative to the directory containing this script and validates it using the given scheme.See |
fileTree(baseDir) | Creates a new |
fileTree(baseDir, configureClosure) | Creates a new |
fileTree(args) | Creates a new |
files(paths, configureClosure) | Creates a new |
files(paths) | Returns a |
javaexec(closure) | Executes a Java main class. The closure configures a |
javaexec(action) | Executes a Java main class. |
mkdir(path) | Creates a directory and returns a file pointing to it. |
relativePath(path) | Returns the relative path from the directory containing this script to the given path. The given path objectis (logically) resolved as described for |
tarTree(tarPath) | Creates a new |
uri(path) | Resolves a file path to a URI, relative to the directory containing this script. Evaluates the provided pathobject as described for |
zipTree(zipPath) | Creates a new |
Block | Description |
buildscript | Configures the classpath for this script. |
ScriptHandler
buildscript
(read-only)
The script handler for this script. You can use this handler to manage the classpath used to compile andexecute this script.
Logger
logger
(read-only)
The logger for this script. You can use this in your script to write log messages.
LoggingManager
logging
(read-only)
TheLoggingManager
which can be used to receive logging and to control thestandard output/error capture for this script. By default, System.out is redirected to the Gradle logging systemat the QUIET log level, and System.err is redirected at the ERROR log level.
ResourceHandler
resources
(read-only)
Provides access to resource-specific utility methods, for example factory methods that create various resources.
void
apply
(Closure
closure)
Configures the delegate object for this script using plugins or scripts.
The given closure is used to configure anObjectConfigurationAction
which isthen used to configure the delegate object.
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 byScript.uri(java.lang.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, seeObjectConfigurationAction
.
WorkResult
copy
(Closure
closure)
Copy the specified files. The given closure is used to configure aCopySpec
, whichis then used to copy the files. Example:
copy { from configurations.runtimeClasspath 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' }}
Creates aCopySpec
which can later be used to copy files or create an archive. Thegiven closure is used to configure theCopySpec
before it is returned by thismethod.
boolean
delete
(Object
...
paths)
Object
...Deletes files and directories.
ExecResult
exec
(Closure
closure)
Executes an external command. The closure configures aExecSpec
.
ExecResult
exec
(Action
<? superExecSpec
>
action)
Action
<? superExecSpec
>Executes an external command.
Resolves a file path relative to the directory containing this script. This works as described forProject.file(java.lang.Object)
File
file
(Object
path,PathValidation
validation)
Resolves a file path relative to the directory containing this script and validates it using the given scheme.SeePathValidation
for the list of possible validations.
ConfigurableFileTree
fileTree
(Object
baseDir)
Creates a newConfigurableFileTree
using the given base directory. The given baseDir path is evaluatedas perScript.file(java.lang.Object)
.
The returned file tree is lazy, so that it scans for files only when the contents of the file tree arequeried. The file tree is also live, so that it scans for files each time the contents of the file tree arequeried.
ConfigurableFileTree
fileTree
(Object
baseDir,Closure
configureClosure)
Creates a newConfigurableFileTree
using the given base directory. The given baseDir path is evaluatedas perScript.file(java.lang.Object)
. The closure will be used to configure the new file tree.The file tree is passed to the closure as its delegate. Example:
fileTree('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 arequeried. The file tree is also live, so that it scans for files each time the contents of the file tree arequeried.
ConfigurableFileTree
fileTree
(Map
<String
, ?>
args)
Map
<String
, ?>Creates a newConfigurableFileTree
using the provided map of arguments. The map will be applied asproperties 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 arequeried. The file tree is also live, so that it scans for files each time the contents of the file tree arequeried.
ConfigurableFileCollection
files
(Object
paths,Closure
configureClosure)
Creates a newConfigurableFileCollection
using the given paths. The file collection is configuredusing the given closure. This method works as described forProject.files(java.lang.Object, groovy.lang.Closure)
.Relative paths are resolved relative to the directory containing this script.
ConfigurableFileCollection
files
(Object
...
paths)
Object
...Returns aConfigurableFileCollection
containing the given files. This works as described forProject.files(java.lang.Object[])
. Relative paths are resolved relative to the directory containing this script.
ExecResult
javaexec
(Closure
closure)
Executes a Java main class. The closure configures aJavaExecSpec
.
ExecResult
javaexec
(Action
<? superJavaExecSpec
>
action)
Action
<? superJavaExecSpec
>Executes a Java main class.
Returns the relative path from the directory containing this script to the given path. The given path objectis (logically) resolved as described forScript.file(java.lang.Object)
, from which a relative path is calculated.
Creates a newFileTree
which contains the contents of the given TAR file. The given tarPath path can be:
- an instance of
Resource
- any other object is evaluated as per
Script.file(java.lang.Object)
The returned file tree is lazy, so that it scans for files only when the contents of the file tree arequeried. The file tree is also live, so that it scans for files each time the contents of the file tree arequeried.
Unless custom implementation of resources is passed, the tar tree attempts to guess the compression based on the file extension.
You can combine this method with theScript.copy(groovy.lang.Closure)
method to untar a TAR file:
task untar(type: Copy) { from tarTree('someCompressedTar.gzip')//tar tree attempts to guess the compression based on the file extension//however if you must specify the compression explicitly you can: from tarTree(resources.gzip('someTar.ext'))//in case you work with unconventionally compressed tars//you can provide your own implementation of a ReadableResource://from tarTree(yourOwnResource as ReadableResource) into'dest'}
Resolves a file path to a URI, relative to the directory containing this script. Evaluates the provided pathobject as described forScript.file(java.lang.Object)
, with the exception that any URI scheme is supported, not just'file:' URIs.
Creates a newFileTree
which contains the contents of the given ZIP file. The given zipPath path isevaluated as perScript.file(java.lang.Object)
. You can combine this method with theScript.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 arequeried. The file tree is also live, so that it scans for files each time the contents of the file tree arequeried.
Configures the classpath for this script.
The given closure is executed against this script'sScriptHandler
. TheScriptHandler
is passedto the closure as the closure's delegate.
- Delegates to:
ScriptHandler
frombuildscript