我有一個gradle這個多項目的設置,象這樣一個有點扁平結構:運行從一個子項目gradle這個任務,未知根
RootProject/
build.gradle
settings.gradle
SubProjectA/
build.gradle
anotherDirectory/
SubProjectB/
build.gradle
SubProjectC/
build.gradle
根項目僅僅是一個根版本。它將所有其他項目聯繫在一起。 SubProjectB取決於SubProjectC,並且C取決於A.
從根項目運行任務按預期工作。我可以運行gradle :SubProjectB:build
,它將構建SubProjectB及其依賴關係而不會出錯。
我的問題是,如果我嘗試從一個子項目的目錄運行一個任務,它會失敗,如果該子項目取決於任何其他子項目,因爲它不知道其他任何其他沒有根項目的設置文件。所以從它的目錄運行A的構建可以工作,但運行B或C將會失敗。
在這個結構中,我可以做什麼來定義根項目的實際內容,所以如果我從B運行gradle build
,它的行爲與從根項目的目錄運行gradle :SubProjectB:build
一樣?
最終目標是通過命令行更輕鬆地使用gradle,並在子項目上獲取功能默認任務。這樣,我應該能夠雙擊項目的Eclipse的Gradle任務列表,並讓它運行默認任務,就像它從根目錄運行任務一樣。