基础
Every Gradle build is made up of one or more projects. Each project is made up of one or more tasks. A task represents some atomic piece of work which a build performs. This might be compiling some classes, creating a JAR, generating Javadoc, or publishing some archives to a repository.
task hello {
doLast {
println 'Hello world!'
}
}
简写方式:
task hello << {
println 'Hello world!'
}
1. Declaration of task that depends on other task
task hello {
doLast {
println 'Hello world!'
}
}
task intro(dependsOn: hello) {
doLast {
println "I'm Gradle"
}
}
2. Lazy dependsOn - the other task does not exist (yet)
task taskX(dependsOn: 'taskY') {
doLast {
println 'taskX'
}
}
task taskY {
doLast {
println 'taskY'
}
}
3. Accessing a task via API - adding behaviour
task hello {
doLast {
println 'Hello Earth'
}
}
hello.doFirst {
println 'Hello Venus'
}
hello.doLast {
println 'Hello Mars'
}
hello {
doLast {
println 'Hello Jupiter'
}
}
4. Adding extra properties to a task
task myTask {
ext.myProperty = "myValue"
}
task printTaskProperties {
doLast {
println myTask.myProperty
}
}
5. Using AntBuilder to execute ant.loadfile target
task loadfile {
doLast {
def files = file('../antLoadfileResources').listFiles().sort()
files.each { File file ->
if (file.isFile()) {
ant.loadfile(srcFile: file, property: file.name)
println " *** $file.name ***"
println "${ant.properties[file.name]}"
}
}
}
}
6. Defining a default task
defaultTasks 'clean', 'run'
task clean {
doLast {
println 'Default Cleaning!'
}
}
task run {
doLast {
println 'Default Running!'
}
}
task other {
doLast {
println "I'm not a default task!"
}
}