Gradle Maven Publish Plugin 配置指南:发布内容详解

Gradle Maven Publish Plugin 配置指南:发布内容详解

【免费下载链接】gradle-maven-publish-plugin A Gradle plugin that publishes your Android and Kotlin libraries, including sources and javadoc, to Maven Central or any other Nexus instance. 【免费下载链接】gradle-maven-publish-plugin 项目地址: https://gitcode.com/gh_mirrors/gr/gradle-maven-publish-plugin

前言

在Java/Kotlin项目开发中,将库发布到Maven仓库是常见的需求。vanniktech/gradle-maven-publish-plugin是一个强大的Gradle插件,它简化了将项目发布到Maven仓库的过程。本文将详细介绍如何配置该插件来发布不同类型的项目。

支持的Gradle插件类型

该插件支持多种Gradle插件项目的发布配置:

  1. Android库项目(单变体或多变体)
  2. Kotlin JVM项目
  3. Kotlin多平台项目
  4. Java库项目
  5. Gradle插件项目
  6. Java平台项目
  7. 版本目录项目

Android库项目配置

多变体发布

对于使用com.android.library插件的项目,可以发布所有变体或指定子集:

mavenPublishing {
    configure(new AndroidMultiVariantLibrary(
        true,  // 是否发布源码jar
        true,  // 是否发布javadoc jar
        ["beta", "release"],  // 指定发布的构建类型
        ["store": ["google", "samsung"]]  // 指定发布的风味维度
    ))
}

关键参数说明

  • 源码jar:包含项目源代码,方便开发者查看实现
  • Javadoc jar:包含API文档
  • 构建类型:如debug/release等
  • 风味维度:Android项目的多渠道配置

单变体发布

如果只需要发布特定变体:

mavenPublishing {
    configure(AndroidSingleVariantLibrary(
        variant = "release",  // 指定发布的变体
        sourcesJar = true,
        publishJavadocJar = true
    ))
}

Java/Kotlin项目配置

Java库项目

mavenPublishing {
    configure(new JavaLibrary(
        new JavadocJar.Javadoc(),  // 发布标准Javadoc
        true  // 发布源码jar
    ))
}

Javadoc选项

  • None():不发布
  • Empty():发布空jar
  • Javadoc():标准Javadoc

Kotlin JVM项目

mavenPublishing {
    configure(KotlinJvm(
        javadocJar = JavadocJar.Dokka("dokkaHtml"),  // 使用Dokka生成文档
        sourcesJar = true
    ))
}

注意:Kotlin项目推荐使用Dokka工具生成文档,它比标准Javadoc更适合Kotlin语言特性。

Kotlin多平台项目

mavenPublishing {
    configure(new KotlinMultiplatform(
        new JavadocJar.Dokka("dokkaHtml"),
        true,
        ["debug", "release"]  // 指定发布的Android变体
    ))
}

特点

  • 自动处理多平台项目的复杂性
  • 可以为Android目标指定发布的变体
  • 源码发布总是启用

Gradle插件项目

普通Gradle插件

mavenPublishing {
    configure(GradlePlugin(
        javadocJar = JavadocJar.Javadoc(),
        sourcesJar = true
    ))
}

Gradle插件门户发布

使用com.gradle.plugin-publish插件时:

mavenPublishing {
    configure(new GradlePublishPlugin())
}

注意:这种情况下会自动发布源码和文档jar。

特殊项目类型

Java平台项目

用于BOM(物料清单)类型的发布:

mavenPublishing {
    configure(JavaPlatform())
}

版本目录项目

用于发布版本目录:

mavenPublishing {
    configure(new VersionCatalog())
}

最佳实践建议

  1. 源码发布:建议始终启用,方便其他开发者调试
  2. 文档发布
    • Java项目使用标准Javadoc
    • Kotlin项目使用Dokka
  3. Android变体:生产环境通常只发布release变体
  4. 多平台项目:注意检查各平台的发布配置

总结

vanniktech/gradle-maven-publish-plugin提供了灵活的配置选项,可以满足各种类型项目的发布需求。通过本文介绍的配置方法,开发者可以轻松地将项目发布到Maven仓库,同时提供源码和文档支持,提升库的可用性和专业性。

根据项目类型选择合适的配置方式,并考虑实际需求决定发布哪些附加内容(源码、文档等),可以使你的库更易于被其他开发者使用和维护。

【免费下载链接】gradle-maven-publish-plugin A Gradle plugin that publishes your Android and Kotlin libraries, including sources and javadoc, to Maven Central or any other Nexus instance. 【免费下载链接】gradle-maven-publish-plugin 项目地址: https://gitcode.com/gh_mirrors/gr/gradle-maven-publish-plugin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值