为了账号安全,请及时绑定邮箱和手机立即绑定

如何发布和使用依赖本地项目的 gradle 插件?

如何发布和使用依赖本地项目的 gradle 插件?

交互式爱情 2022-07-06 09:57:03
我正在创建依赖于我的其他本地模块的 gradle 插件。它的一些 gradle 构建如下所示:dependencies {    compile gradleApi()    compile project(":myDependencyProject")}publishing {    publications {        maven(MavenPublication) {            groupId = 'org.my.gradle.plugin'            artifactId = 'some-name'            version = '1.0-SNAPSHOT'            from components.java        }    }}gradlePlugin {    plugins {        jsonPlugin {            id = 'org.my.gradle.plugin'            implementationClass = 'my.implementation.class'        }    }}当我使用gradle publishToMavenLocal发布我的插件,然后我尝试在另一个项目中使用该插件时,它失败并出现以下错误:FAILURE: Build failed with an exception.* What went wrong:A problem occurred configuring project ':my-project'.> Could not resolve all artifacts for configuration ':my-project:classpath'.   > Could not find org.my.gradle.plugin:myDependencyProject:1.0-SNAPSHOT.     Searched in the following locations: ...简而言之,它找不到 myDependencyProject 项目的依赖项。这就是为什么下一步我尝试创建一个胖 jar 并发布它,但我遇到了同样的错误(gradle 插件的代码是相同的,除了我已更改from components java为artifact shadowJar)。有人可以帮助我如何发布带有本地依赖项的 gradle 插件并在另一个项目中使用它吗?非常感谢您的帮助。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

我们最终使用Gradle shadow 插件将我们的模块包含在已发布的工件中。

不过,对我们来说很重要的一件事是只在其中包含本地库,以防止我们的最终消费者拥有某些库(例如 Kotlin)的 2 个副本。所以我们过滤了依赖

shadowJar {
   dependencies {
      include(dependency(':your-module-name:'))
   }}


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号