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

文档

相关推荐
曹牧25 分钟前
文档格式:OFD
java
齊家治國平天下42 分钟前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
豆角焖肉1 小时前
Maven进阶与搭建私服
java·maven
大不点wow1 小时前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
噢,我明白了1 小时前
Java中日期和字符串的处理
java·开发语言·日期
Xzaveir1 小时前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
dkbnull1 小时前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai1 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
顺风尿一寸1 小时前
记一次 Spring AOP 与定时任务引发的死锁排查
java
2501_916007471 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview