在Gradle实际执行任务之前,有没有办法打印任务图?
不完全是一个新手,但我试着更深入地挖掘,更好地理解。。。我只是觉得这样做可能是个好主意。接口提供了一种方法(从文档中): 返回执行计划中包含的任务。任务按执行顺序返回 此方法的输出似乎可用于打印任务图。接口提供了方法(来自文档): 返回执行计划中包含的任务。任务按执行顺序返回在Gradle实际执行任务之前,有没有办法打印任务图?,gradle,task,Gradle,Task,不完全是一个新手,但我试着更深入地挖掘,更好地理解。。。我只是觉得这样做可能是个好主意。接口提供了一种方法(从文档中): 返回执行计划中包含的任务。任务按执行顺序返回 此方法的输出似乎可用于打印任务图。接口提供了方法(来自文档): 返回执行计划中包含的任务。任务按执行顺序返回 此方法的输出似乎可用于打印任务图。多亏了Opal,我做到了: gradle.taskGraph.whenReady {taskGraph -> println "Tasks" taskGraph.ge
此方法的输出似乎可用于打印任务图。多亏了Opal,我做到了:
gradle.taskGraph.whenReady {taskGraph ->
println "Tasks"
taskGraph.getAllTasks().eachWithIndex{ task, n ->
println "${n + 1} $task"
task.dependsOn.eachWithIndex{ depObj, m ->
println " ${ m + 1 } $depObj"
}
}
}
Java构建的输出:
Tasks
1 task ':compileJava'
2 task ':processResources'
3 task ':classes'
1 compileJava
2 dirs
3 processResources
4 task ':jar'
5 task ':assemble'
1 org.gradle.api.internal.artifacts.DefaultPublishArtifactSet$ArtifactsTaskDependency@48db7705
6 task ':compileTestJava'
7 task ':processTestResources'
8 task ':testClasses'
1 processTestResources
2 dirs
3 compileTestJava
9 task ':test'
10 task ':check'
1 value: task ':test'
11 task ':build'
1 check
2 assemble
对我来说,作为一个刚毕业的新手(一个新手),这太棒了!虽然这让我有点困惑:
1) “build”只依赖于“check”和“assembly”,它们各有一个依赖项,每个都没有依赖项。那么,它如何知道运行所有其他任务(显然它必须)。。。我一定错过了什么
2) 什么是依赖关系“dirs”和“org.gradle.api.internal.artifacts.DefaultPublishArtifactSet”$ArtifactsTaskDependency@48db7705"? 更重要的是,这些东西究竟来自哪里getDependsOn()
返回一个Set
,因此这些可能不是Task
s
大量的调查…多亏了蛋白石,我做到了:
gradle.taskGraph.whenReady {taskGraph ->
println "Tasks"
taskGraph.getAllTasks().eachWithIndex{ task, n ->
println "${n + 1} $task"
task.dependsOn.eachWithIndex{ depObj, m ->
println " ${ m + 1 } $depObj"
}
}
}
Java构建的输出:
Tasks
1 task ':compileJava'
2 task ':processResources'
3 task ':classes'
1 compileJava
2 dirs
3 processResources
4 task ':jar'
5 task ':assemble'
1 org.gradle.api.internal.artifacts.DefaultPublishArtifactSet$ArtifactsTaskDependency@48db7705
6 task ':compileTestJava'
7 task ':processTestResources'
8 task ':testClasses'
1 processTestResources
2 dirs
3 compileTestJava
9 task ':test'
10 task ':check'
1 value: task ':test'
11 task ':build'
1 check
2 assemble
对我来说,作为一个刚毕业的新手(一个新手),这太棒了!虽然这让我有点困惑:
1) “build”只依赖于“check”和“assembly”,它们各有一个依赖项,每个都没有依赖项。那么,它如何知道运行所有其他任务(显然它必须)。。。我一定错过了什么
2) 什么是依赖关系“dirs”和“org.gradle.api.internal.artifacts.DefaultPublishArtifactSet”$ArtifactsTaskDependency@48db7705"? 更重要的是,这些东西究竟来自哪里getDependsOn()
返回一个Set
,因此这些可能不是Task
s
大量的调查…可能正是蛋白石所描述的。我写的,所以我可能有偏见,但我使用它很多,它对我来说很好 可能正是蛋白石在中描述的功能。
我写的,所以我可能有偏见,但我使用它很多,它对我来说很好。可能晚了,但你可以用它来构建:
assemble->jar->classes->compileJava->processResources
可能晚了,但你可以用它来构建:assemble->jar->classes->compileJava->processResources