dependsOn(tasks: Object...)
doFirst(action: Closure)
doLast(action: Closure)
getActions()
getInputs()
getOutputs()
getAnt()
getDescription()
getEnabled()
getGroup()
setDescription(description: String)
setEnabled(enabled: boolean)
setGroup(group: String)
task first << { println "first" }
task second << { println "second" }
first.finalizedBy second
ext.versionFile = file('version.properties')
task loadVersion {
project.version = readVersion()
}
ProjectVersion readVersion() {
logger.quiet 'Reading the version file.'
if(!versionFile.exists()) {
throw new GradleException("Required version file does not exist: $versionFile.canonicalPath")
}
Properties versionProps = new Properties()
versionFile.withInputStream { stream ->
versionProps.load(stream)
}
new ProjectVersion(versionProps.major.toInteger(),
versionProps.minor.toInteger(), versionProps.release.toBoolean())
}
task makeReleaseVersion(group: 'versioning', description: 'Makes project a release version.') {
inputs.property('release', version.release)
outputs.file versionFile
doLast {
version.release = true
ant.propertyfile(file: versionFile) {
entry(key: 'release', type: 'string', operation: '=', value: 'true')
}
}
}