我试图了解 Gradle Wrapper 的工作原理。在许多源代码库中,我看到以下结构:
projectRoot/ src/ build.gradle gradle.properties settings.gradle gradlew gradlew.bat gradle/ wrapper/ gradle-wrapper.jar gradle-wrapper.properties
我的问题:
gradlew
gradlew.bat
gradle/wrapper/*
gradle-wrapper.jar
gradle-wrapper.properties
*.gradle
gradle
settings.gradle
gradle.properties
wrapper
build.gradle
请注意,您需要 安装 Gradle 才能生成包装器。SDKMAN是管理 g 生态系统工件的绝佳工具!. 要生成 gradle 包装器,请将以下代码添加到build.gradle文件中:
task wrapper(type: Wrapper) { gradleVersion = '2.0' //version required }
并运行:
gradle wrapper
任务。将生成的文件添加到 SCM(例如 git),从现在开始,所有开发人员在使用 Gradle Wrapper 时都将拥有相同版本的 Gradle。
使用 Gradle 2.4 (或更高版本),您无需添加专用任务即可设置包装器:
gradle wrapper --gradle-version 2.3
或者
gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip
所有细节都可以在这里找到
3.1 --distribution-type也可以使用来自 Gradle的选项。选项是 binary 和 all 和 bin 。 all 还包含源代码和文档。 使用IDE时all 也更好,因此编辑器工作得更好。缺点是构建可能会持续更长时间(需要下载更多数据,在 CI 服务器上毫无意义)并且会占用更多空间。
3.1
--distribution-type
这些是 Gradle Wrapper 文件。您需要生成一次(针对特定版本)并添加到版本控制中。如果您需要更改 Gradle Wrapper 的版本,请更改build.gradle参见 (1.) 中的版本并重新生成文件。
举个详细的例子。这样的文件可能有多种用途:多模块项目、职责分离、脚本稍作修改等。
settings.gradle负责项目的结构(模块、名称等),而gradle.properties用于项目和 Gradle 的 外部 详细信息(版本、命令行参数-XX、属性等)
-XX