Gradle之使用Android Studio 编写Gradle插件并上传Library到JCenter
转载请标明出处:
http://blog.csdn.net/lisdye2/article/details/52292896
本文出自:【Alex_MaHao的博客】
项目中的源码已经共享到github,有需要者请移步【Alex_MaHao的github】
在上一篇博客中Gradle 入门,编写channel.gradle
并通过apply from : 'channel.gradle'
引入Gradle 插件,实现了多渠道打包。同样,我们可以编写一个Library ,通过引入的方式引入Gradle 的插件脚本。
编写 Gradle Library
对于编写Gradle Library ,整个流程可分为如下几个步骤:
- 创建Library Module
- 删除 除build.gradle 以外的所有文件
- 修改build.gradle 脚本的内容
- 在Library Module下根目录下创建src/main/groovy 目录,在该目录下可以添加包名,文件等
- 在main目录下创建
resources
目录,并创建META-INF/gradle-plugins目录,该目录下添加的是向外提供的Gralde脚本的资源 - 上传Gradle插件到本地代码库
- 引用Gradle 插件
按照上面的步骤开始进行每一步的操作
创建Library Module
删除 除build.gradle 以外的所有文件
自行删除即可
修改build.gradle 脚本的内容
// 应用插件
apply plugin: "groovy"
apply plugin: "maven"
// 添加依赖
dependencies{
compile gradleApi()
compile localGroovy()
}
// 代码仓库
repositories{
jcenter()
}
在Library Module下根目录下创建src/main/groovy 目录,在该目录下可以添加包名,文件等
创建好groovy 目录之后,会发现该目录自动变蓝,即表示识别了该文件。我们可以在该目录下创建包名,然后添加PluginImple.groovy
文件。注意文件的后缀名,因为Gradle 使用的是Groovy编写,所以后缀必须是.groovy。
编写该文件的代码
package com.alex_mahao.gradle
import org.gradle.api.Plugin
import org.gradle.api.Project
/**
* 实现Plugin
*/
public class PluginImpl implements Plugin<Project>{
@Ove