捆绑Gradle依赖关系的最佳方式是什么

eqqqjvef  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(134)

我有一个包含多个子项目的项目,其中许多子项目具有相似的依赖关系。我希望将它们捆绑在一起,所以我只需要在build.gradle中写入一行即可添加多个依赖关系。我尝试了版本目录,但在这样的捆绑包中,您只能将依赖关系用于一种gradle方法,如“implementation”。

bundle "feature" {
 annotationProcessor("io.micronaut.openapi:micronaut-openapi")
 implementation("io.micronaut:micronaut-http-client")
 implementation("io.swagger.core.v3:swagger-annotations")
 runtimeOnly("ch.qos.logback:logback-classic")
 annotationProcessor("io.micronaut:micronaut-http-validation")
}

然后在build.gradle中使用它,如下所示:

dependencies {
 bundle "feature"
}

我应该实现一个自己的插件或什么将是最好的方法为这种情况?

2vuwiymt

2vuwiymt1#

最好和最简单的方法是创建自己的预编译gradle插件。为此,您可以创建一个名为"buildSrc"的子模块。您可以实现一个src/main/groovy/{yourpluginname}. gradle,在其中定义所有依赖项和插件,就像在build.gradle中一样。然后,您可以在其他子模块中使用此插件。请注意,buildSrc必须位于根项目的第一层,并且应该包含一个build.gradle,如下所示:

plugins {
    id 'groovy-gradle-plugin'
}
repositories {
    mavenCentral()
}

以及可以保持为空的settings.gradle。
更多信息:www.example.comhttps://docs.gradle.org/current/userguide/custom_plugins.html#sec:precompiled_plugins

相关问题