升级Gradle Wrapper

xkftehaa  于 2023-08-06  发布在  其他
关注(0)|答案(2)|浏览(133)

我在我的项目中使用gradle wrapper,它会生成一些文件,以便在主机上下载和安装gradle。这些文件将检入到项目中。我的项目结构如下:

/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 wrapper”并生成gradlew脚本,该脚本将执行gradle的下载版本。当我查看gradle-wrapper.properties由这个任务(在每个子项目中)生成的www.example.com时,我的distributionUrl是来自我的 Package 器任务的绝对路径,而不是对common. gradle中设置的动态/相对引用。
那么,当我想升级到下一个版本的gradle时会发生什么?我需要在每个项目中重新运行gradle wrapper吗?有没有什么方法可以让distributionUrl引用一个共享属性?
任何见解将不胜感激。

gjmwrych

gjmwrych1#

我现在通过只在父目录中运行gradle Package 器来解决这个问题,所以我的项目结构看起来像这样:

project1
project2
<gradlew files>

字符串
然后在CI服务器上使用-p选项指定子目录。就像这样:

./gradlew -p project1 <target>


这对我们来说是有效的,直到gradlew变成Peter提到的二进制。请参阅GRADLE-1378

uajslkp6

uajslkp62#

根据Gradle网站, Package 器可以通过以下方式升级:
./gradlew wrapper --gradle-version=8.2.1 --distribution-type=bin更新版本,/gradlew tasks下载ZIP文件。

相关问题