微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用gradle maven-publish插件和Kotlin DSL发布带有空pom的影子罐?

如何解决如何使用gradle maven-publish插件和Kotlin DSL发布带有空pom的影子罐?

影子插件文档中有一个example for groovy,但我不知道如何将其翻译为Kotlin。

来自https://imperceptiblethoughts.com/shadow/publishing的时髦示例:

publishing {
  publications {
    shadow(MavenPublication) { publication ->
      project.shadow.component(publication)
    }
  }
}

我对Kotlin版本的最佳尝试:

publishing {
  publications {
    create<MavenPublication>("pluginMaven") {
      artifact(tasks["shadowJar"])
      project.shadow.component(this)
    }
  }
}

在上述Kotlin版本中,阴影依赖项作为运行时依赖项显示生成的pom中

解决方法

这仍然有些令人费解,但是以下build.gradle.kts配置允许发布与苗条罐同名且空pom的胖罐:

publishing {
    publications {

        create<MavenPublication>("publishMaven") {
            artifact(tasks["shadowJar"])
        }
    }
}
tasks {
    shadowJar {
       archiveClassifier.set("")
        minimize()
    }
}

我无法摆脱警告将多个坐标为“ XXX”的出版物发布到存储库“ YYY”。出版物将互相覆盖!但它可以工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。