CODING中 允许发布 Maven制品,也就是上传私有的 Maven 仓库。
和基本Maven配置步骤类似:
- 创建仓库:选择项目,创建 Maven 制品仓库
- 添加凭证:选择项目,开发者选项 -> 项目令牌 -> 新建项目令牌
(用于配置Maven发布的用户名、密码) - 配置 Android 项目 build.gradle 发布脚本
1. 创建 Maven 制品仓库
创建成功后,得到 Maven制品库的 URL地址 。
2. 创建项目令牌
创建项目令牌,复制 用户名 、密码 用于 Maven 发布的仓库 凭证 。
3. 使用 maven-publish 插件,配置 build.gradle 发布
- Android 使用 AGP 8.0+ 后,先配置库模块
build.gradle
:
gradle
android {
publishing {
singleVariant('release') {
// 配置生成 源码Jar 发布
withSourcesJar()
// 配置生成 文档Jar 发布
withJavadocJar()
}
}
}
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
}
}
}
}
说明:codingUsername 、codingPassword 就是 第2步 对应 用户名 、密码。
为了安全,可配置在 Gradle 目录全局 gradle.properties
下配置密码:
properties
codingUsername=xxx
codingPassword=xxxx
- 上传发布到Maven仓库
执行命令:
// 发布所有模块
./gradlew publish
// 发布指定lib模块
./gradlew :lib:publish
// 发布到 本地 mavenLocal()
./gradlew publishToMavenLocal
模板工程
参考 LibDemo
shell
# 发布所有模块
./gradlew publish
# 发布指定模块
./gradlew :lib:publish
配置:
在 lib
模块下 build.gradle
的 publishing
中,修改 pom
配置 和 仓库 配置 和 仓库 和 group
version
description
库信息。
文档
- AGP8之后需要配置发布变体:Android配置发布变体
- Gralde文档:Maven Publish Plugin
- Customizing publishing