美文网首页
Gradle输出task信息

Gradle输出task信息

作者: 孙小磊 | 来源:发表于2018-01-12 10:28 被阅读0次

新建如下类
{

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任务进行监视吧

相关文章

网友评论

      本文标题:Gradle输出task信息

      本文链接:https://www.haomeiwen.com/subject/chwxoxtx.html