我正在使用我的項目上的gradle wrapper,該項目生成一些文件以在主機上下載並安裝Gradle。這些文件被檢入到項目中。我的項目結構如下:升級Gradle Wrapper
/common/common.gradle
/module-a/build.gradle
/module-b/build.gradle
/module-c/build.gradle
我的每一個項目,從包含任務共享common.gradle文件應用的通用設置:
task wrapper(type: Wrapper) {
distributionUrl = "http://<nexus>:8081/nexus/content/repositories/thirdparty/org/gradle/gradle-bin/1.10/gradle-bin-1.10-bin.zip"
}
在每個項目中,這讓我跑「gradle這個包裝器「並生成gradlew腳本,該腳本將執行gradle的下載版本。當我查看由此任務生成的gradle-wrapper.properties(在每個子項目中)時,我的distributionUrl是來自我的包裝任務的絕對路徑,而不是對common.gradle中的設置的動態/相對引用。
那麼當我想升級到下一個gradle版本時會發生什麼?我是否需要在每個項目中重新運行gradle包裝?有沒有辦法讓distrbutionUrl引用共享屬性?
任何見解,將不勝感激。
你是在談論一個單一的構建,還是許多構建?每個構建應該安裝一次Gradle Wrapper,而不是每個(子)項目安裝一次。 –
嘿彼得,看起來我每個子項目都要做一次。我編輯了我的問題來澄清。我如何去做每一次構建一次?我應該在根級別刪除build.gradle嗎? – dev
只有根'build.gradle'應該聲明一個包裝器任務(在最近的Gradle版本中,這個任務甚至會自動聲明),因此包裝器任務應該只對根項目執行。每個版本(在根目錄中)只應有一個'gradlew'和'gradlew.bat'腳本,以及一個'gradle/wrapper'目錄。 –