Android与Gradle(二):插件打包上传到Maven服务器

前文说到了简单Gradle插件的创建方法,如果你还没有看过,建议你先行阅读一下: Android与Gradle(一):Gradle插件开发

本文将说明单独的插件“项目”的创建方法,以及如何将插件打包上传到Maven服务器,本文的内容相对就少得多了。


独立插件项目的创建

创建Module

与前文所提到的建立buildSrc目录的步骤几乎完全一样,你可以新建任意名字的文件夹作为插件项目(这里可以看作当前Android项目的Module)的目录,这里我就命名为cog-gradle-plugin吧:

与前文的差异就是,这里在main目录下多了一个java目录,而且跟groovy目录一样,同样建了一个包com.peceoqicka.cog。因为在这里gradle插件是使用groovy混合java开发的,至于groovy中怎么调用java,一句话说就是在java中怎么调用java,groovy就可以怎么调用,很方便不是吗。

记住一个关键的步骤,一定要在settings.gradle文件里添加这个Module的引用,否则无法识别。

include ':app', ':cog-gradle-plugin'
复制代码

上传到Maven

按照上述步骤建立好项目并调试好插件代码之后,就可以上传了。在build.gradle文件中添加插件:

apply plugin: 'maven'
复制代码

并且定义好项目的唯一ID(group)版本号(version)

group = 'com.peceoqicka.cog'
version = '1.0.2'
复制代码

添加上传的task:

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: uri('http://localhost:8081/repository/maven-releases/')) {
                authentication(userName: 'admin', password: 'admin123')
            }
        }
    }
}
复制代码

最终build.gradle文件的内容应该跟如下的大致相同:

apply plugin: 'groovy'
apply plugin: 'maven'

group = 'com.peceoqicka.cog'
version = '1.0.2'

dependencies {

	//...插件中用到的其他库    	

    compile gradleApi()
    compile localGroovy()
}

repositories {
    mavenCentral()
}

uploadArchives {
	repositories {
		mavenDeployer {
			repository(url: uri('http://localhost:8081/repository/maven-releases/')) {
				authentication(userName: 'admin', password: 'admin123')
			}
		}
	}
}
复制代码

注意下方的mavenDeployer中的代码,repository中定义了maven服务器的地址,这里使用的是本地的Maven服务器地址,并添加了认证参数(帐号和密码)

那么,上传到Maven服务器的准备工作就已经完成了。接下来打开Android Studio右边的Gradle面板,可以看到一个叫做upload的任务:

双击运行这个任务,这时候gradle就会自动执行打包上传,等待上传完成即可。 上传到Maven服务器的库如何在实际项目中引用,很简单。对于任意一个本地新建的Android项目,在项目的build.gradle中修改代码:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
	    //添加对本地Maven服务器地址的引用
        maven{
            url uri('http://localhost:8081/repository/maven-releases/')
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
	    //添加插件引用
        classpath 'com.peceoqicka.cog:cog-gradle-plugin:1.0.2'
    }
}
复制代码

添加的代码都有注释,很简单,首先添加本地Maven服务器的地址,然后再添加插件项目的引用,引用的名称规则是“group名:项目名:版本号”。然后还有一个关键步骤,启用插件,在app的build.gradle中添加:

apply plugin: 'com.peceoqicka.cog'
复制代码

那么本文要说的内容就这么多了,至于本地的Maven服务器如何搭建,请自行查阅资料“用NEXUS搭建Maven私服”,很简单,我就不细说了。


本篇文章仅代表个人观点,难免会有疏漏或者谬误之处,欢迎批评指正。

系列

  1. Gradle插件开发
  2. 插件打包上传到Maven服务器

转载于:https://juejin.im/post/5a3324d66fb9a0450e7627a4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值