大家在用gradle開發android項目的時候,想必都知道建構過程是由一個一個的任務(task)組成的。
那麼項目中到底有那些task呢?
執行上面的指令,你會看到項目中定義的所有task。
這些task是怎樣依賴的,建構過程中又是怎樣的流程?
在實踐過程中,我找到兩個gradle插件,可以幫助我們實作流程的可視化。
gradle-task-tree可以将項目下的task依賴關系以樹的形式,輸出到終端。
gradle ... tasktree --no-repeat
結果會列印在終端。
gradle-visteg可以将項目下的task依賴關系以圖的形式,輸出到檔案。
預設是輸出到.dot檔案中,通過graphviz工具可以将.dot檔案轉換成.png檔案。
執行正常的task。
預設會生成build/reports/visteg.dot檔案。
在ubuntu下,可以通過xdot,直接打開該檔案。
通過以下指令可以轉換成png圖檔
task流程圖
{% asset_img visteg.dot.png [task流程圖] %}
<a href="https://github.com/dorongold/gradle-task-tree">https://github.com/dorongold/gradle-task-tree</a>
<a href="https://github.com/mmalohlava/gradle-visteg">https://github.com/mmalohlava/gradle-visteg</a>