gradle - 从 ml-gradle "provider"项目模式启用可重用的 gradle 任务?

标签 gradle marklogic ml-gradle

ml-gradle 中,我们可以创建一个“provider”项目来捆绑共享的 MarkLogic Assets (模块、模式等),并从其他依赖的 ml-gradle 中使用它们> 项目。

https://github.com/marklogic-community/ml-gradle/tree/master/examples/dependency-project

我想知道我们是否也可以将自定义 MarkLogic gradle 任务合并到 provider 项目中。或者我们需要创建一个 gradle 插件来启用此类功能。

https://github.com/marklogic-community/ml-gradle/wiki/Writing-your-own-task

谢谢!

最佳答案

我认为这是不可能的,因为我相信它们被认为是两种不同类型的依赖关系。 “mlBundle”是ml-gradle定义的项目配置,用户可以定义与此配置相关的依赖项,例如marklogic-unit-test。但是可重用的 Gradle 任务被打包为 Gradle 插件,并且插件依赖项与项目的构建脚本相关联,该脚本与项目配置是分开的。

我认为 Spring Boot 是一个合理的比较 - 您可以对 Spring Boot jar 进行“编译”依赖,以便将其包含在您的 Java 应用程序中。另外,您的 Gradle 项目还可以依赖 Spring Boot Gradle 插件来继承“bootRun”和“bootJar”等任务。

因此,对于您的用例,我相信您首先需要一个可以通过 mlBundle 依赖的包,然后您需要一个单独的 Gradle 插件,用户可以选择将其应用到他们的项目中。

关于gradle - 从 ml-gradle "provider"项目模式启用可重用的 gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61298046/

相关文章:

xml - 如何对路径范围索引元素进行排序?

marklogic - 如何使用 ml-gradle 在 marklogic 中创建一个 FIELD?

java - 无法设置MarkLogic Spring Batch基本应用

kotlin - 添加koin测试依赖的Gradle问题

android-studio - Android Studio 不会停止要求更新 Gradle

java - 以编程方式访问build.gradle内容

marklogic - 如何使用 gradle 管理 MarkLogic REST 端点扩展版本?

java - 无法将 Gradle 依赖项添加到我的 Codename One 项目

marklogic - 如何在加载文件时从 csv 文件中删除列?

MarkLogic - 插入文档时扩展树缓存错误