Gradle build.gradle 的备用名称和嵌套模块的约定

Gradle alternate name for build.gradle and conventions for nested modules

这是我 运行 遇到的一个问题。

在 Eclipse/STS 中,当我打开多个 build.gradle 时,如果不查看路径,我无法分辨它们属于哪些文件。 (这与 Maven 中的 pom.xml 相同。)

有没有办法说有像下面这样的东西:

top-project
        build.gradle
        module-1
            module-1.gradle
        module-2
            module-2.gradle
        .
        .
        module-n
            module-n.gradle

在上面的 module-1 等中只是子模块的名称,在一个现实生活中的例子中,这可能是 acme-schemaacme-web

  1. gradle 构建如何工作?
  2. 更重要的是 - 在 apply eclipse / 构建模型期间,eclipse 如何处理这个问题?

这是多项目构建的一个非常普遍的要求。它真的应该在用户指南中。不管怎样,你可以在one of my open source projects中看到一个例子。您需要做的就是在项目根目录的 settings.gradle 文件中添加如下内容:

// Change names of build files in sub-projects for easier navigation in IDEs
// and text editors.
renameChildBuildFiles(rootProject)

void renameChildBuildFiles(parentProject) {
    for (p in parentProject.children) {
        p.buildFileName = (p.name - "my-app-") + ".gradle"
    }
}

这段特定的代码使用子项目的目录名称作为构建文件的基本名称,假设所有子项目目录都以 "my-app-".

为前缀

您可以使用您喜欢的任何规则来设置子项目构建文件的文件名。你不必使用这个。