2017-02-20 24 views
0

我需要重構並分解屬於其他人的非常大的插件。我絕對不能做的一件事是改變現有的任務圖。我正在嘗試添加基線單元測試,現在我可以使用它來驗證當我將其分開時,我不會更改任何內容。現在計劃A是添加插件任務樹並從testkit測試中拉出一棵樹,將任務樹與期望值進行比較。問題是其中一個任務樹看起來像這樣驗證gradle任務圖

:buildDocsHtml 
+--- :installBuildRequirements 
| \--- :installSetupRequirements 
|   \--- :installLinks 
|    \--- :createVirtualEnvironment 
|     \--- :pinRequirements 
\--- :installProject 
    \--- :installTestRequirements 
      \--- :installPythonRequirements 
       \--- :installBuildRequirements 
        \--- :installSetupRequirements 
         \--- :installLinks 
           \--- :createVirtualEnvironment 
            \--- :pinRequirements 

這將是一個噩夢,試圖比較作爲一個字符串。有沒有更簡單的方法來解決這個問題?

回答

1

你能夠適應source code for the task tree plugin產生的格式是版本比較

+0

我認爲更好。但問題是插件實際上並沒有渲染樹。樹渲染是由一個內部gradle類完成的,他不應該先打電話。看看這個班級,在我看來,它就像是一個更大的系統的一部分。如果可以,我寧願遠離它。但是,如果沒有其他方式,那我最終會做 – scphantm

+0

還有[gradle VisTEG插件](https://github.com/mmalohlava/gradle-visteg)。也許你可以比較它產生的'.dot'文件? –