Gradle - 插件发布

插件发布

Gradle 系列

  1. Gradle - 简介
  2. Gradle - Groovy Language
  3. Gradle - DSL
  4. Gradle - Android Plugin DSL
  5. Gradle - 插件开发
  6. Gradle - 插件发布

注册 bintray 账户

  • bintray 官网

首先注册选择右边开源账户注册,这个是免费的;右边只是免费试用30天。

Gradle - 插件发布_第1张图片

推荐使用关联 github 账号的方式注册。

Gradle - 插件发布_第2张图片

创建你的 Maven 仓库,如果没有创建这个库,后面上传会出现不存在 maven 路径的错误。

Gradle - 插件发布_第3张图片

引入 bintray release

在项目根目录的 build.gradle 配置:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        //引入上传 jcenter 的插件库
        classpath 'com.novoda:bintray-release:0.8.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }

    //添加 utf-8 的支持,避免中文注释生成 Javadoc 文件出现编码错误
    tasks.withType(Javadoc){
        options{
            encoding "UTF-8"
            charSet 'UTF-8'
            links "http://docs.oracle.com/javase/7/docs/api"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

在插件 Module 中的 build.gradle 添加配置:

//使用 bintray-release 插件
apply plugin: 'com.novoda.bintray-release'

publish {
    groupId = "${groupName}"
    artifactId = "${artifactName}"
    publishVersion = "${versionName}"

    //项目描述
    desc = 'Task timer'
    //项目网址,建议github开源库网址
    website = 'https://github.com/jeanboy/Android-GradlePluginTest'
    //bintray 的用户名
    bintrayUser = 'jeanboydev'
    //bintray 用户名
    userOrg = 'jeanboydev'
    //API Key
    bintrayKey = "**********"
    dryRun = false
}

API Key 在个人设置中:

Gradle - 插件发布_第4张图片

发布

直接使用 Android Studio 中的 Terminal 控制台使用命令:

$ ./gradlew bintrayUpload

显示 BUILD SUCCESSFUL 表示上传成功:

Gradle - 插件发布_第5张图片

在刚才创建的 Maven 仓库中可以看到刚刚上传的项目。

测试

在项目根目录的 build.gradle 引入配置:

buildscript {

    repositories {
        google()
        jcenter()
        maven {//使用远程 maven 仓库
            //对应自己创建的仓库路径
            url 'https://dl.bintray.com/jeanboydev/maven'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        //引入上传 jcenter 的插件库
        classpath 'com.novoda:bintray-release:0.8.1'
    }
}

//...

在 app 目录下添加就可以测试了。

  apply plugin: 'com.jeanboy.plugin.timer'

直接使用 Android Studio 中的 Terminal 控制台使用命令:

$ ./gradlew build

Gradle - 插件发布_第6张图片

Add to Jcenter

如果没有添加到 Jcenter 可以点击这里。
Gradle - 插件发布_第7张图片

项目源码

https://github.com/jeanboydev/Android-GradlePluginTest

参考资料

  • 深入理解Android之Gradle

  • 如何使用Android Studio开发Gradle插件

  • 使用bintray_release插件轻松上传库到Jcenter

其他系列

  • Android 屏幕适配全攻略
  • Windows 环境下载 Android 源码
  • Android 性能优化-UI优化
  • Android 性能优化-内存优化
  • Java 虚拟机内存分配机制
  • Java 虚拟机垃圾回收机制
  • 一篇文章看明白 TCP/IP,TCP,UDP,IP,Socket 之间的关系
  • 一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系
  • 一篇文章看明白 Android 系统启动时都干了什么
  • 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制
  • 一篇文章看明白 Android 从点击应用图标到界面显示的过程
  • 一篇文章看明白 Activity 与 Window 与 View 之间的关系
  • 一篇文章看明白 Android 图形系统 Surface 与 SurfaceFlinger 之间的关系
  • 一篇文章看明白 Android Service 启动过程
  • 一篇文章看明白 Android PackageManagerService 工作流程
  • 一篇文章看明白 Android v1 & v2 签名机制

更多文章:

这是我博客长期更新的项目,欢迎大家 Star。
https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode

我的公众号

欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!?

如果你有什么疑问或者问题,可以 点击这里 提交 issue,也可以发邮件给我 [email protected]

同时欢迎你 Android技术进阶:386463747 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!

你可能感兴趣的:(Gradle,Gradle,系列)