1

我看到很多 Gradle 构建的 Java/Groovy 项目示例,它们具有以下结构:

some-app/
    src/
        main/
        test/
    docs/
    README.md
    build.gradle
    gradlew
    gradlew.bat
    settings.gradle
    gradle.properties
    gradle/
        *.gradle

我知道build.gradle是主要的构建脚本,而gradle.properties是它的属性文件。但是settings.gradle真的让我很震惊。在里面我看到:

rootProject.name = "someApp"

但这似乎属于gradle.properties. 我也想知道gradlewgradlew.bat文件来自哪里,它们似乎是生成的。

最后,我想知道为什么目录下有这么多*.gradle文件gradle/:这些是插件,还是某种扩展脚本。它们都build.gradle像这样从 main 中拉入:

apply "gradle/fizz.gradle"
apply "gradle/buzz.gradle"
etc.

所以:

  1. 哪些属性应该进入settings.gradle而不应该进入gradle.properties
  2. gradlew/文件是如何gradlew.bat生成的?
  3. 为什么有人会有这么多不同的*.gradle文件?为什么不只是 1 个大build.gradle构建脚本?
4

1 回答 1

1

1)gradle.properties是普通的属性文件,同时settings.gradle也是一个构建脚本。您可以在那里添加一些将在构建期间执行的代码。当您有一个多模块项目时,通常需要此文件。

2)当您输入gradle tasks项目构建目录时(空的 build.gradle 足以看到它)您会看到wrapper任务。此任务用于生成您要询问的脚本。更多信息

3)原因是所有这些文件都有不同的职责,它们被完全分开。

于 2014-08-05T10:59:06.883 回答