更简单的方式上传jcenter

整理了一下novoda使用流程和步骤,结合Android项目结构,整合出一份通用并且更简单的使用方式

一键上传
支持多Library上传

0x00 注册bintray

注册bintray这个步骤就不打扰了https://blog.zyhang.com/maven-jcenter/

0x01 配置步骤

先放上novoda链接
https://github.com/novoda/bintray-release

再放上我的demo链接
https://github.com/izyhang/novoda-push

需要修改的文件

  • 根build.gradle - 添加novoda依赖
  • 根gradle.properties - 配置仓库通用属性
  • 仓库build.gradle - 添加fuck命令依赖
  • 仓库gradle.properties - 配置仓库具体属性
  • 根local.properties - 配置bintray密匙

添加novoda依赖

在项目根build.gradle添加novoda依赖

1
2
3
4
5
6
7
8
9
10
buildscript {
repositories {
// novoda依赖需要依赖jcenter
jcenter()
}
dependencies {
// 添加novoda依赖
classpath 'com.novoda:bintray-release:0.8.1'
}
}

配置仓库通用属性

在项目根gradle.properties配置仓库通用属性

1
2
3
4
5
6
7
8
9
POM_GROUP_ID=com.zyhang
POM_PUBLISH_VERSION=2.0.0-alpha

POM_REPO_NAME=maven
POM_USER_ORG=zyhang
POM_LICENCES=Apache-2.0
POM_WEBSITE=https://github.com/izyhang/Damon
POM_ISSUE_TRACKER=https://github.com/izyhang/Damon/issues
POM_REPOSITORY=https://github.com/izyhang/Damon.git

配置仓库具体属性

在具体仓库(也就是Library Module)gradle.properties配置仓库具体属性

1
2
3
POM_UPLOAD_NAME=Damon
POM_ARTIFACT_ID=damon
POM_DESC=mvp framework

添加fuck命令依赖

在具体仓库(也就是Library Module)build.gradle添加fuck命令依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
apply plugin: 'com.android.library'

android {
...
defaultConfig {
...
versionCode 1
versionName POM_PUBLISH_VERSION // 建议加上这句
}
}

// 在底部加上这句
apply from: 'https://raw.githubusercontent.com/izyhang/novoda-push/master/gradle/push.gradle'

配置bintray密匙

在根local.properties配置bintray密匙

1
2
bintray.user=***
bintray.apikey=******

0x02 使用步骤

在配置后各属性后,直接执行具体Library Modulefuck命令。
之后更新版本就是修改根gradle.properties文件的POM_PUBLISH_VERSION后执行fuck

0x03 一些坑

  • 使用kotlin编写的项目可能会遇到.kt文件无法生成javadoc情况,可以在根build.gradle文件下添加
    1
    tasks.getByPath(":your module:releaseAndroidJavadocs").enabled = false