首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle如何将gradle-plugin发布到maven central

Gradle如何将gradle-plugin发布到maven central
EN

Stack Overflow用户
提问于 2021-05-05 09:09:50
回答 1查看 468关注 0票数 0

嗨,我有一个java项目,其中包含一个子模块,这是一个gradle插件。我想把这个模块发布到maven central。

我在我的build.gradle中使用了这两个插件

代码语言:javascript
复制
plugins {
  id 'java-gradle-plugin'
  id 'maven-publish'
}

我的publishing代码块看起来像这样:

代码语言:javascript
复制
publishing {
    publications {
        javaLibrary(MavenPublication) {
            from components.java
            artifact sourcesJar
            artifact javadocJar

            artifactId = project.archivesBaseName

            pom {
                name = artifactId
                description = "..."

                url = 
                licenses {
                    license {
    
                    }
                }
                developers {
                   ...
                }
                scm {
                   ...
                }
                issueManagement {
                   ... 
                }
                ciManagement {
                   ...
                }
            }
        }
    }

    repositories { maven { url = "some local repo" } }
}

我注意到当我构建这个模块时,生成的pom-default.xml是我所期望的,但是当我运行gradle publishToMavenLocal并手动检查.m2文件夹中的pom.xml文件时,所有像name description licenses这样的元数据都消失了!

我还注意到在.m2文件夹中有两个工件与这个插件相关,我认为它与https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers有些关系,但我不完全理解它的含义。如上所述,这两个工件的pom都缺少pom元数据。

有没有gradle专家可以帮我:如何将元数据保存在已发布的pom中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-05 09:56:50

您不需要手动定义插件子模块的MavenPublicationjava-gradle-pluginmaven-publish插件的应用程序作出反应,并自动配置/创建插件工件的发布。参见this行。

对于生成的(2)个工件,您是正确的。一个是插件标记(单个pom.xml),另一个是实际的插件JAR工件。

至于POM定制,Gradle似乎提供了它自己的POM,而不管您定义了什么POM定制:https://github.com/gradle/gradle/issues/17022

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67393965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档