在ml-gradle中,我们可以创建一个“提供者”项目来捆绑共享的MarkLogic资产(模块、模式等)。并从其他相关的ml-gradle项目中使用它们。
https://github.com/marklogic-community/ml-gradle/tree/master/examples/dependency-project
我想知道我们是否也可以在provider项目中加入自定义的MarkLogic gradle任务。或者我们需要创建一个gradle插件来启用这样的功能。
https://github.com/marklogic-community/ml-gradle/wiki/Writing-your-own-task
谢谢!
发布于 2020-04-19 20:59:04
我认为这是不可能的,因为我认为这是两种不同的依赖关系。"mlBundle“是ml-gradle定义的项目配置,用户可以定义与此配置相关的依赖项,例如marklogic-unit-test。但可重用的Gradle任务被打包为Gradle插件,插件依赖关系与项目的buildscript相关联,这与项目配置是分开的。
我认为一个合理的比较是Spring Boot --您可以在Spring Boot jar上有一个“编译”依赖项,以便将其包含在Java应用程序中。另外,您的Gradle项目也可以依赖Spring Boot Gradle插件来继承诸如"bootRun“和"bootJar”之类的任务。
因此,对于你的用例,我相信你首先需要一个可以通过mlBundle依赖的包,然后你需要一个单独的Gradle插件,用户可以选择将其应用于他们的项目。
https://stackoverflow.com/questions/61298046
复制相似问题