例えばassembleReleaseの実行の前にhogeHogeTaskを実行したときは
doFirstじゃなくてgradle.projectsEvaluatedを使うと良いらしい。
gradle.projectsEvaluated {
assembleRelease.dependsOn(hogeHogeTask)
}
↓参考にしたもの
http://stackoverflow.com/questions/20841598/gradle-custom-task-order-on-android