Gradle自定义插件,发布项目到jcenter

1、Gradle自定义插件

Maven Publish Plugin (4.9写法有变动)

MavenPom

Gradle自定义插件以及发布方法

源码:百度云【Gradle Plugin】

  • 方法一:直接写在 build.gradle中。 (仅适用于当前moudle)
  • 方法二:plugin源码放到rootProjectDir/buildSrc/src/main/groovy目录下。(仅适用于当前项目)
  • 方法三:plugin打包成jar, 发布到maven仓库, 然后项目通过Build Script依赖jar的形式引入。 (公开发布,适用所有项目)

新旧maven插件对比

  • 新版使用:apply plugin: ‘maven-publish’ (Gradle 1.3 +)
  • 旧版使用:apply plugin: ‘maven’ (Gradle 1.0)

https://docs.gradle.org/current/userguide/publishing_maven.html (官方新)

https://docs.gradle.org/current/userguide/maven_plugin.html (官方旧)

方法二注意事项:

  • 目录结构,必须是groovy,不能是java。(可以先添加java Librry类型的Module,然后将src/main/java修改为src/main/groovy)
  • 插件文件格式,必须是.groovy;例如:BuildSrcPlugin.groovy

方法三注意事项:

使用AndroidStudio创建自定义gradle插件并被引用实战例子

  • 步骤和目录结构可以参考博客内容
  • properties文件内容中指明实现类:implementation-class=com.test.all.StandAlonePlugin
  • 要确保插件已经发布成功,才能在项目中引入、使用插件
  • 强烈建议【插件project】 和 【使用插件的project】各自独立(避免插件发布时受引用的干扰)
  • 没有指定group的Task,会出现在Tasks/other目录下

2、使用Gradle发布项目到Jcenter仓库

我的bintray:

  • https://bintray.com/caowj/maven
  • 个人:https://bintray.com/tangnuo
  • 组织:https://bintray.com/caowj
  • 组织仓库:https://bintray.com/caowj/maven

新版Bintray有所变动,引入了 Organizations 的概念。

1、创建一个 Organizations:caowj
2、创建一个 repo:maven
3、执行gradlew bintrayUpload

源码:【GradlePluginPublish】

参考:
新版Bintray,如何使用Gradle发布项目到Jcenter仓库
使用Gradle发布项目到JCenter仓库

3、使用说明:

发布插件项目 和发布 lib项目原理是相同的。

3.1、如果发布的是插件项目,使用时:

1、在根build.gradle中加入:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.test.all.ynpplugin:app:1.0.0' //和发布时的命名保持一致
    }

2、在APP的build.gradle中加入:

apply plugin: 'com.test.all.StandAlone' //和properties文件名称保持一致

3、测试:
在Terminal中输入:gradle personInfoTask

3.2、如果发布的是lib项目,使用时:

在APP的build.gradle中加入:

implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值