新建如下类
{
class BuildTimeListener implements TaskExecutionListener, BuildListener {
private Clock clock;
private times = []
@Override
void beforeExecute(Task task) {
clock = new org.gradle.util.Clock()
//println "TaskStart ==>> "+task.name
}
@Override
void afterExecute(Task task, TaskState taskState) {
def ms = clock.timeInMs
//大于1秒的任务进行记录
if (ms > 1000) {
times.add([ms, task.path])
}
println "TaskEnd ==>> "+task.name
println "UseTimes ==>> "+ms
println "===================================================="
}
@Override
void buildFinished(BuildResult result) {
println "TimesDetails:"
times.sort { it[0] }
for (time in times) {
printf "%7sms %s\n", time
}
}
@Override
void buildStarted(Gradle gradle) {
println "buildStarted ==>> "
}
@Override
void projectsEvaluated(Gradle gradle) {
println "projectsEvaluated ==>> ";
/* gradle.getRootProject().getAllprojects().findAll {
}
gradle.getRootProject().getTasks().findByName("transformClassesWithJMOWLTransformForJmtestDebug").enabled=false;*/
}
@Override
void projectsLoaded(Gradle gradle) {
println "projectsLoaded ==>> "
}
@Override
void settingsEvaluated(Settings settings) {
println "settingsEvaluated ==>> "
}
}
//将监听器添加到 gradle任务中
project.gradle.addListener(new BuildTimeListener())
}
其实,打印任务也是可以变更下打印等级的,如info、warn、error等
如,打印警告
task.project.logger.warn "打印的内容"
至此,就尽情的对 gradle的task任务进行监视吧