Gradle中的自定义依赖项管理插件

Gradle中的自定义依赖项管理插件,gradle,Gradle,如何编写自定义gradle插件来处理来自自定义存储库的自定义模块描述符中的依赖项?gradle的文档说了以下内容,但我还没有找到任何可以告诉我如何做的东西 即使您的项目正在使用自定义依赖关系管理系统或 类似于Eclipse.classpath文件作为 依赖关系管理,很容易编写Gradle插件使用 这个数据是用Gradle表示的 我一直在维护一个(forked from),但Gradle最近在1.8版中不推荐使用它,我需要将实现移植到本地Gradle插件 使用“模块”的实现(与Gradle项目不同

如何编写自定义gradle插件来处理来自自定义存储库的自定义模块描述符中的依赖项?gradle的文档说了以下内容,但我还没有找到任何可以告诉我如何做的东西

即使您的项目正在使用自定义依赖关系管理系统或 类似于Eclipse.classpath文件作为 依赖关系管理,很容易编写Gradle插件使用 这个数据是用Gradle表示的

我一直在维护一个(forked from),但Gradle最近在1.8版中不推荐使用它,我需要将实现移植到本地Gradle插件

使用“模块”的实现(与Gradle项目不同),该模块具有模块描述符的MANIFEST.MF文件。这些文件定义了模块所依赖的其他“模块”,以及构成当前模块(直接)类路径的路径(JAR或目录)列表

e、 g

模块依赖项是可传递的,可能指的是自定义模块或ATG产品安装中的模块。因此,我需要定义一个自定义存储库,它可以使用ATG产品安装作为工件的源

没有Gradle,我需要以

  • ATG的
    MANIFEST.MF
    文件
  • Eclipse
    .classpath
    文件
  • Ant构建脚本的依赖项
  • 声纳qube配置
  • 因为我无法摆脱ATG MANIFEST.MF文件,所以我想编写一个自定义插件,允许它们在Gradle构建中使用。然后,我可以使用Gradle作为构建系统,它还可以生成Eclipse.classpath和.project文件,并针对项目运行Sonar

    Gradle似乎有很多源代码,在过去的几天里翻找,我什么也没找到


    如果有人能告诉我需要实现的接口列表(1)实现自定义存储库,(2)实现自定义依赖项解析器(使用自定义文件作为模块描述符),这应该足够让我开始了。

    上面提到的Eclipse
    .classpath
    用例可以通过解析该文件并将其转换为Gradle文件依赖项来解决。目前无法插入自定义存储库实现。

    了解如何处理
    .classpath
    文件至少可以解决我一半的问题,因此如果您能解释它是如何工作的,它会有所帮助。解析
    .classpath
    文件(例如,使用Groovy的
    XmlSlurper
    类)并以与普通构建脚本相同的方式添加文件依赖项。
    ATG-Class-Path: lib/classes.jar lib/commons-beanutils-1.7.jar
    ATG-Required: MyProj.core MyProj.integration.webservices DAF.Endeca.Assembler