小编典典

如何/何时生成 Gradle 包装文件?

all

我试图了解 Gradle Wrapper 的工作原理。在许多源代码库中,我看到以下结构:

projectRoot/
    src/
    build.gradle
    gradle.properties
    settings.gradle
    gradlew
    gradlew.bat
    gradle/
        wrapper/
            gradle-wrapper.jar
            gradle-wrapper.properties

我的问题:

  1. 一个人如何/何时生成gradlew/ gradlew.bat?您是否应该只在第一次创建项目时生成它们,是否在每次提交/推送更改时生成它们?它们是如何产生的?
  2. 上面同样的问题,但对于gradle/wrapper/*文件(gradle-wrapper.jargradle-wrapper.properties)?
  3. *.gradle有时我会在项目gradle目录中看到其他文件。这些额外的 Gradle 文件是什么,它们代表/做什么?自定义插件?
  4. 进入的属性settings.gradle与应在内部定义的属性有什么区别gradle.properties

阅读 131

收藏
2022-05-31

共1个答案

小编典典

  1. 当您想更改您在项目中使用的 Gradle 版本时,您会生成一次,并再次生成它。没必要这么频繁地生成。是文档。只需将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 和 allbin
all 还包含源代码和文档。 使用IDE时all 也更好,因此编辑器工作得更好。缺点是构建可能会持续更长时间(需要下载更多数据,在 CI
服务器上毫无意义)并且会占用更多空间。

  1. 这些是 Gradle Wrapper 文件。您需要生成一次(针对特定版本)并添加到版本控制中。如果您需要更改 Gradle Wrapper 的版本,请更改build.gradle参见 (1.) 中的版本并重新生成文件。

  2. 举个详细的例子。这样的文件可能有多种用途:多模块项目、职责分离、脚本稍作修改等。

  3. settings.gradle负责项目的结构(模块、名称等),而gradle.properties用于项目和 Gradle 的 外部 详细信息(版本、命令行参数-XX、属性等)

2022-05-31