Gradle中的超级POM,父POM类型的层次结构管理

时间:2013-11-22 03:15:53

标签: gradle

我们目前正在使用Maven作为构建工具,并且有一个指令要迁移到Gradle。我们目前的设置是:

  1. 我们有一个超级POM,它定义了所有第三方依赖项,各种插件,分发管理URL以及此POM上传到我们的发行版回购。
  2. 我们有一个聚合器POM,它使用这个超级POM作为父级并聚合多个子模块。
  3. 我们在聚合器POM中定义了几个配置文件来构建组件。
  4. 我的问题是,在Gradle中完成所有这些操作的最佳方法是什么。如何在单个Gradle配置中定义所有第三方依赖项,并在其他位置使用它。

    我是Gradle的新手,所以这听起来可能是一个非常愚蠢的问题。但我要求所有人提供一些帮助和指导。

3 个答案:

答案 0 :(得分:9)

我执行以下操作:

  • 定义gradle脚本(类似于父pom)
  • 在我的build.gradle文件中应用它(类似于扩展)

    apply from: 'https://youUrlHere/parent.gradle'

有关详情,请点击此处查看:http://forums.gradle.org/gradle/topics/inheriting_from_a_parent_not_in_the_same_project

希望这有帮助。

答案 1 :(得分:1)

而不是超级POM,你会写一个Gradle插件并分发它。不完全确定你从2.和3.中获得了什么,但如果在构建之间重用这些定义,它们将再次进入插件,否则进入父构建脚本。

答案 2 :(得分:0)

您可以非常轻松地将父pom内容转换为Gradle init文件。

你需要

  • repository,
  • 分销管理
  • 分析
  • 其他检查,如findbugs,checkstyle等

进入init脚本。

细节很大,你可以在这里找到完整的信息。

http://www.scmtechblog.net/2015/12/how-to-migrate-parent-pom-from-maven-to.html