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

文档

相关推荐
疯狂成瘾者19 小时前
LangChain4j ApacheTikaDocumentParser:多格式文档接入的统一入
java·langchain4j
StackNoOverflow20 小时前
MySQL Explain 返回列详解:从入门到实战,附 SQL 与避坑大全
android
庞轩px20 小时前
第三篇:泛型深度解析——类型擦除与通配符的奥秘
java·编译·泛型·类型擦除
HoneyMoose1 天前
Jenkins Cloudflare 部署提示错误
java·servlet·jenkins
阿丰资源1 天前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
Predestination王瀞潞1 天前
Java EE3-我独自整合(第四章:Spring bean标签的常见配置)
java·spring·java-ee
overmind1 天前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python
资深数据库专家1 天前
总账EBS 应用服务器1 的监控分析
java·网络·数据库
房开民1 天前
可变参数模板
java·开发语言·算法
t***5441 天前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++