調用uploadArchives爲了釋放我的系統,我創建了許多其他項目的要求uploadArchives一個釋放器項目。搖籃發佈系統任務 - 對子項目
在我的項目,我有以下文件:
settings.gradle
include '../proj-a', '../proj-b'
的build.gradle
task releaseSystem() {
// what goes here?
}
應該採取什麼releaseSystem任務的內容是這樣我可以撥打gradle releaseSystem
並讓它運行uploadArchives我的每個子項目?
我已經嘗試了多種選擇,但沒有成功迄今。
感謝您能提供任何見解。
ANSWER
我與優雅的解決方案,提供的gradle我的問題不斷深刻的印象。這是我的最終解決方案(如彼得指出,下同):
settings.gradle
include 'proj-a', 'proj-b'
project (':proj-a').projectDir = new File(settingsDir, '../proj-a')
project (':proj-b').projectDir = new File(settingsDir, '../proj-b')
的build.gradle
task releaseSystem() {
dependsOn {
[
subprojects.build,
subprojects.uploadArchives
]
}
}
注意,既然我的倉庫是Maven倉庫當我最初包括「../proj-a」在我settings.gradle,它產生與artifactId的../proj-a勁歌這是無效的。我必須將我的settings.gradle更改爲上述系統的格式,以便正確地將poms放在一起,併成功完成uploadArchives任務。
我和gradle這個怎麼優美的不斷深刻的印象。謝謝你的答案。在我的情況下還有一個問題。我的倉庫是maven倉庫,所以當以這種方式運行時,它會創建無效的pom文件,因爲artifactId具有「../」進行處理。任何方式在這個? – dev
我通過使用projectDir設置找到了解決此問題的方法。將更新上面的問題。再次感謝 – dev