将Gradle包装器(./gradlew.sh)与子项目一起使用
我有一个包含多个子项目的多项目构建,我想使用gradle包装器 这样做的惯用方法是什么 我是否应该在每个子项目中配置包装器,将以下代码添加到根目录中的将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等文
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提到)已经删除,但我想我在这里找到了最新版本: