将Gradle包装器(./gradlew.sh)与子项目一起使用

将Gradle包装器(./gradlew.sh)与子项目一起使用,gradle,Gradle,我有一个包含多个子项目的多项目构建,我想使用gradle包装器 这样做的惯用方法是什么 我是否应该在每个子项目中配置包装器,将以下代码添加到根目录中的build.gradle allprojects { task wrapper(type: Wrapper) { gradleVersion = '2.2' } } 但是,我是否要将所有子项目目录中的gradlew.bat、gradlew.sh、gradle/wrapper/gradle wrapper.jar等文

我有一个包含多个子项目的多项目构建,我想使用gradle包装器

这样做的惯用方法是什么

我是否应该在每个子项目中配置包装器,将以下代码添加到根目录中的
build.gradle

allprojects {
    task wrapper(type: Wrapper) {
        gradleVersion = '2.2'
    }
}
但是,我是否要将所有子项目目录中的
gradlew.bat
gradlew.sh
gradle/wrapper/gradle wrapper.jar
等文件检查到版本控制中??这似乎效率很低,但如果我不这样做,那么如何在子项目目录中执行
/gradlew.sh
?在子项目中使用gradle包装器的首选方式是什么

对于这种情况,开发人员是否只使用安装在文件系统上的gradle


最重要的问题是第一个:实现这一点的惯用方法是什么?

您应该将包装器任务放在allprojects块之外,这样在项目结构的顶层只有一个
gradlew.bat
gradlew.sh
gradle/wrapper/gradle wrapper.jar

您可以运行
/gradlew tasks--all
来验证包装器是否可以看到子项目任务


或者,您可以运行
/gradlew:tasks
命令仅查看一个子项目的任务。

您可以尝试此操作。使用gradlew会让你的生活更轻松。

要清楚,这是惯用的方法吗?对于在子项目目录中使用包装器运行任务的问题,是否有一个惯用的解决方案?要从子项目目录调用包装器,请运行../gradlew,我将根据其他人的意见来确定这是否是惯用的方法。至少我是这样做的。这是正确的方法。此外,您可以将第三方
gradle(w)
脚本放在您的
路径上,该路径将在父目录中搜索“real”
gradlew
脚本。然后您可以编写
gradlew
而不是
/gradlew
。/gradlew
。但是我运行了您提到的脚本,控制台显示:在根项目中找不到任务。
gradle(w)
脚本(由@PeterNiederwieser提到)已经删除,但我想我在这里找到了最新版本: