我正在使用我的项目上的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'目录。 –