【问题标题】:Gradle company parentGradle 公司母公司
【发布时间】:2015-09-08 03:15:50
【问题描述】:

就像在 Maven 中一样,我们可以定义一个全球公司 POM,它可以用于所有项目。

这在 Gradle 中是如何工作的?

我想定义一个可用于所有即将进行的项目的全局父级,但我不知道如何使用 Gradle 完成此操作。我正在阅读文档,但那只是在谈论项目/父样式,而不是全局样式。

【问题讨论】:

    标签: java android gradle


    【解决方案1】:

    您通常不会让您的项目“继承”来自一个共同的父项,而是将共同的登录信息封装为 Gradle plugin 并将该插件应用于您的所有项目。

    【讨论】:

      【解决方案2】:

      这个问题与已经回答的问题gradle parent pom like feature 非常相似。我想指出从那时起 Gradle 发生了什么变化。

      Gradle 没有与 Maven 父 POM 构造直接可比的概念。确实可以使用自定义 Gradle 插件将公司默认值应用于 Gradle 构建的项目。我找到了一个很好的 Blog Post 详细描述了这一点。

      但 Gradle 不止于此。 Gradle 有Initialization Scripts,用于在公司内的项目之间共享构建逻辑。下面的脚本,例如 manifest_defaults.gradle,可用于将默认的 MANIFEST 条目添加到基于 Java 的项目构建生成的 jar 文件中:

      allprojects {
          afterEvaluate { project ->
              if (project.plugins.hasPlugin('java')) {
                  project.jar {
                      manifest {
                          attributes {
                              "Implementation-Title": project.archivesBaseName,
                              "Implementation-Vendor": "My Company"
                          }
                      }
                  }
              }
          }
      }
      

      企业中的初始化脚本最好与自定义的company Gradle distributions 结合使用。将此与Gradle Wrapper 结合使用是一项强大的功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-02
        • 1970-01-01
        • 2021-02-20
        • 1970-01-01
        • 2018-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多