基于腾讯CODING Maven的Android库发布

CODING中 允许发布 Maven制品,也就是上传私有的 Maven 仓库。

和基本Maven配置步骤类似:

  1. 创建仓库:选择项目,创建 Maven 制品仓库
  2. 添加凭证:选择项目,开发者选项 -> 项目令牌 -> 新建项目令牌
    (用于配置Maven发布的用户名、密码)
  3. 配置 Android 项目 build.gradle 发布脚本
1. 创建 Maven 制品仓库

创建成功后,得到 Maven制品库的 URL地址

2. 创建项目令牌

创建项目令牌,复制 用户名密码 用于 Maven 发布的仓库 凭证

3. 使用 maven-publish 插件,配置 build.gradle 发布
  1. Android 使用 AGP 8.0+ 后,先配置库模块build.gradle
gradle 复制代码
android {
    publishing {
        singleVariant('release') {
            // 配置生成 源码Jar 发布
            withSourcesJar()
            // 配置生成 文档Jar 发布
            withJavadocJar()
        }
    }
}
  1. build.gradle 配置 publishing { } 发布信息:
gradle 复制代码
// 配置 库 信息
group = "com.example.lib"
version = "1.0.0"
description = "Log Library"

publishing {
    publications {
        release(MavenPublication) {

            pom {
                name = project.name
                description = project.description
                url = 'https://github.com/classops/LibDemo'

                licenses {
                    license {
                        name = 'The Apache License, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }

                // 配置库的开发者 用户名和邮箱
                developers {
                    developer {
                        id = 'classops'
                        name = 'classops'
                        email = 'classops@163.com'
                    }
                }

                // scm 配置版本控制仓库
                scm {
                    connection = 'https://github.com/classops/LibDemo.git'
                    developerConnection = 'https://github.com/classops/LibDemo.git'
                    url = 'https://github.com/classops/LibDemo'
                }
            }

            afterEvaluate {
                from components.release
            }
        }
    }

    repositories {
        maven {
            // 这里就是 第一步 Maven库 地址URL
            url "https://g-jksu3036-maven.pkg.coding.net/repository/demo/private/"
            credentials {
                username project.codingUsername
                password project.codingPassword
            }
        }
    }

}

说明:codingUsernamecodingPassword 就是 第2步 对应 用户名密码

为了安全,可配置在 Gradle 目录全局 gradle.properties 下配置密码:

properties 复制代码
codingUsername=xxx
codingPassword=xxxx
  1. 上传发布到Maven仓库

执行命令:

复制代码
// 发布所有模块
./gradlew publish

// 发布指定lib模块
./gradlew :lib:publish

// 发布到 本地 mavenLocal()
./gradlew publishToMavenLocal

模板工程

参考 LibDemo

shell 复制代码
# 发布所有模块
./gradlew publish

# 发布指定模块
./gradlew :lib:publish

配置:

lib 模块下 build.gradlepublishing 中,修改 pom 配置 和 仓库 配置 和 仓库 和 group version description 库信息。

文档

相关推荐
czhc11400756633 分钟前
Java1112 基类 c#vscode使用 程序结构
android·java·数据库
嫂子的姐夫3 分钟前
23-MD5+DES+Webpack:考试宝
java·爬虫·python·webpack·node.js·逆向
缪懿12 分钟前
JavaEE:多线程基础,多线程的创建和用法
java·开发语言·学习·java-ee
Chan1616 分钟前
Java 集合面试核心:ArrayList/LinkedList 底层数据结构,HashMap扩容机制详解
java·数据结构·spring boot·面试·intellij-idea
Boop_wu17 分钟前
[Java EE] 多线程 -- 初阶(2)
java·开发语言·jvm
q***985219 分钟前
Spring Boot(快速上手)
java·spring boot·后端
凌凌023 分钟前
macOS安装SDKMAN
java
百***920225 分钟前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
青山的青衫30 分钟前
【Java基础07】链表
java·开发语言·链表
麦麦鸡腿堡36 分钟前
Java事件处理机制
java·开发语言·python