基于腾讯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 库信息。

文档

相关推荐
何中应3 小时前
MyBatis-Plus字段类型处理器使用
java·数据库·后端·mybatis
路上^_^3 小时前
安卓基础组件024-底部导航栏
android
聪明的笨猪猪3 小时前
Java SE “面向对象”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
聪明的笨猪猪3 小时前
Java 集合 “List + Set”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
加菲猫8604 小时前
文件上传简单的绕过总结
android
Miraitowa_cheems4 小时前
LeetCode算法日记 - Day 59: 字母大小写全排列、优美的排列
java·数据结构·算法·leetcode·决策树·职场和发展·深度优先
workflower5 小时前
将图片中的图形转换为可编辑的 PPT 图形
java·开发语言·tomcat·powerpoint·个人开发·结对编程
卡戎-caryon6 小时前
【Java SE】06. 数组
java·开发语言
想躺平的咸鱼干6 小时前
Spring AI Alibaba
java·人工智能·spring