What is doLast() for?

Ahh ok, that makes sense:

task("testTask") {
println "before doLast()"
doFirst {
	println "hello doFirst"
}

doLast {
	println "hello doLast"
}

println "after doLast()"
}

Output:

./gradlew testTask


> Configure project :
before doLast()
after doLast()

> Task :testTask
hello doFirst
hello doLast

The manual should probably make this more clear.