Evil Mouth's Blog

更简单的方式上传jcenter

August 10, 2018

整理了一下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 依赖

buildscript {
    repositories {
        // novoda依赖需要依赖jcenter
        jcenter()
    }
    dependencies {
        // 添加novoda依赖
        classpath 'com.novoda:bintray-release:0.8.1'
    }
}

配置仓库通用属性

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

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配置仓库具体属性

POM_UPLOAD_NAME=Damon
POM_ARTIFACT_ID=damon
POM_DESC=mvp framework

添加 fuck 命令依赖

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

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密匙

bintray.user=***
bintray.apikey=******

0x02 使用步骤

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

1

0x03 一些坑

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

— Evil Mouth