JitPack 已支持码云,尝试操作一波,暂时抛弃下 Github 的蜀道难。
1. 准备代码
在 Gitee 上创建一个项目(私人或公开都可以),然后在 studio 中新建一个项目,再新建一个 lib-module。暂与发布无关,详情略。
2. 生成私人令牌
因为 JitPack 需要授权才能访问 Gitee 中的代码,所以先在 Gitee 中生成一个私人令牌。
在 Gitee 个人设置中选择私人令牌,然后生成私人令牌。
注意将私人令牌串码保存到记事本中,一会在 JitPack 中要用。
3. 在 JitPack 中配置 Gitee 访问权限
需要先登录 JitPack,然后在个人设置页配置好上面生成的私人令牌串码。
页面下面的邮件通知可以自行修改下。
4. 在代码中编写发布配置
这里主要是 Gradle 的配置,官方文档 。
注意:以下内容不仅仅是编写发布配置。
4.1 添加 JitPack 仓库
在 build.gradle(project)的 allprojects 下增加 JitPack 仓库。
新版本 Gradle 在 settings.gradle 的 dependencyResolutionManagement 中增加。
同时添加本地仓库,方便开发。
allprojects {
repositories {
mavenLocal() // 本地仓库,路径:~/.m2/repository
maven { url "https://jitpack.io" }
google()
mavenCentral()
}
}
在 build.gradle(app)中添加 lib-module 依赖
implementation project(path: ':lib-module')
4.2 添加发布配置
在 build.gradle(lib-module)中添加
plugins {
...
id 'maven-publish' // 插件
}
...
// 指定编码
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
// 打包源码
task androidSourcesJar(type: Jar) {
if (project.hasProperty("kotlin")) {
from android.sourceSets.main.java.getSrcDirs()
} else if (project.hasProperty("android")) {
from android.sourceSets.main.java.sourceFiles
} else {
println project
from sourceSets.main.allSource
}
classifier 'sources'
}
// 本地发布
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId = 'com.gitee.xxxx'
artifactId = 'lib-module'
version = "x.x.x"
artifact androidSourcesJar
}
}
}
}
4.3 测试
点击 studio 右侧 Gradle 中的 lib-module 的 publishReleasePublicationToMavenLocal
或执行命令 ./gradlew publishReleasePublicationToMavenLocal
,
执行成功就可以准备发布了。
4.3 完善
在项目根目录下添加 jitpack.yml,内容如下
jdk:
- openjdk11
install
- ./gradlew :lib-module:assembleRelease
提交所有代码到 Gitee。
JitPack 编译
在 JitPack 输入 Gitee 的项目地址,点击 Look up
找到项目后点击 Commits,在最新的提交记录条目中点击 Get it。
如果编译成功,Get it 按钮会显示绿色背景。再次点击 Get it,页面会提示在 studio 中如何引用。
项目引用
点击图中右侧设置按钮,进入权限配置页面
点击解锁,就允许其他人下载了。
在 build.gradle(app)中添加好依赖后同步下就可以使用依赖库了。
如果发布出现问题(如网络异常),可以先使用本地仓库继续开发。
发布正式版本
在一切都没有问题后,就可以发布正式版本啦。提交代码,加上标签,然后推送到 Gitee。标签建议不加v,如 0.0.1,而不是 v0.0.1,理由见文末。
点击标签,或统计-标签
然后点击创建发行版。
创建好以后,重新进入 JitPack,选择 Releases,选择刚加的标签编译,等待一会就完工了。
最后
其实本地生成的依赖库的 artifacts,可以使用 JitPack 的 artifacts,这样在本地和 online 切换的时候可以减少改动,甚至版本号都可以一致。
未经授权,不得转载