请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

计算build时间例子执行疑问


def startBuildTime,endBuildTime
this.afterEvaluate { Project project ->
    println "xxxxxx"
    def preBuildTask = project.tasks.getByName('compileJava')
    preBuildTask.doFirst {
        startBuildTime = System.currentTimeMillis()
        println("ccccccccccccccc")
        println 'ths start time is:'+startBuildTime
    }
    def buildTask = project.tasks.getByName('build')
    buildTask.doLast {
        endBuildTime = System.currentTimeMillis()
        println "eeeeeeee"
//        println "the build time is:${endBuildTime - startBuildTime}"
    }
    println "zzzzzz"
}

为什么我这个例子,doFirst不执行?

输出结果:

D:\source\demo\gradleTest4>gradle build

xxxxxx                                     

zzzzzz

:compileJava UP-TO-DATE     

:processResources UP-TO-DATE

:classes UP-TO-DATE

:jar UP-TO-DATE      

:assemble UP-TO-DATE

:compileTestJava UP-TO-DATE

:processTestResources UP-TO-DATE

:testClasses UP-TO-DATE

:test UP-TO-DATE

:check UP-TO-DATE

:build

eeeeeeee


BUILD SUCCESSFUL


正在回答

1回答

要么没有那个compileJava任务,要么就是任务写错了,大小写什么的

1 回复 有任何疑惑可以回复我~
  • 提问者 慕斯卡5740434 #1
    但是输出有输出这个:compileJava UP-TO-DATE  ,这个应该是task吧?
    回复 有任何疑惑可以回复我~ 2018-07-27 12:11:34
  • step_Android 回复 提问者 慕斯卡5740434 #2
    UP-TO-DATE  就是这个玩意导致的,因为gradle认为你什么都没改,那么这个任务就用缓存的。所以你这个任务就没有被执行了。你可以把build文件删了再执行应该就会有了
    回复 有任何疑惑可以回复我~ 2018-07-29 14:32:41
  • 提问者 慕斯卡5740434 回复 step_Android #3
    UP-TO-DATE的任务确实没有执行
    回复 有任何疑惑可以回复我~ 2018-08-02 08:35:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信