2013-04-24 89 views
2

我正在考慮從ant遷移到Gradle,因爲我們希望通過並行運行項目和簡化配置來加快構建,但在我看來,這些目標對於Gradle構建是互斥的。希望我錯過了一些東西。 所以我想要一個多項目Gradle設置的好例子,編譯3個Java項目,使得A和B可以並行編譯,而C依賴於兩者。還有一些屬性可以配置(動態)並在所有三個項目中使用,可能在一個額外的根項目中配置。Gradle多項目配置

+0

動態地,我的意思是這樣的事情。一個屬性被定義爲'BuildArea'並且包含一個路徑,然後另一個屬性被定義爲'BuiltZips = $ {BuildArea}/zips'等。 – mjaggard 2013-04-26 00:22:44

回答

4

通過配置屬性「動態」,你是什麼意思?一般而言,您應該能夠獲得具有三個子項目的項目的並行執行構建,如上所述。我推了樣品骨架項目設置在https://github.com/breskeby/gradle-snippets/tree/master/multiparallel

希望幫助,

歡呼聲, 勒

+0

但是在Gradle手冊中: http://www.gradle.org/ docs/current/userguide/multi_project_builds.html 「項目的耦合有效地阻止了Gradle並行構建多個項目」 和 「項目耦合的一種常見方式是使用配置注入,它可能不會立即顯現,但使用關鍵的Gradle功能,如allprojects和subprojects關鍵字會自動導致您的項目被耦合。「 – mjaggard 2013-04-26 00:20:08

+0

我必須仔細檢查Gradle用戶指南中的措辭以及它的詳細含義。但是當運行我上面鏈接的示例項目時,可以看到sub1:classes和sub2:classes是並行執行的。 – 2013-04-26 05:25:55

+0

非常好,謝謝。你知道我可以在哪裏提交文檔錯誤嗎? – mjaggard 2013-04-26 09:28:31