Android 最佳实践のGralde插件开发

前言

最近忙于开发代码检测工具,保证公司项目代码规范,所以研究起了代码检测插件,包括了CheckStyle、FindBugs等第三方代码检测插件,并在它们基础上,完成自己代码检测工具;

因此学习关于Gradle插件开发的相关知识,在此做个总结!!!

开发Gradle插件

  • Android Studio 新建module


    Android 最佳实践のGralde插件开发_第1张图片
    新建module.png
  • 随意起个module名称,如testplugin


    Android 最佳实践のGralde插件开发_第2张图片
    testplugin.png
  • 删除选中的文件夹及文件目录

Android 最佳实践のGralde插件开发_第3张图片
删除选中的文件夹及文件目录.png
  • 删除gradle文件的内容
Android 最佳实践のGralde插件开发_第4张图片
4.png
  • 填写gradle文件内容,如下
apply plugin: 'groovy'
apply plugin: 'maven'

dependencies {
    //gradle sdk
    compile gradleApi()
    //groovy sdk
    compile localGroovy()
}

repositories {
    mavenCentral()
}

//group:填写包名
group = 'com.kingpeng.testplugin'
//version:插件版本号
version = '1.0.0'

uploadArchives {
    repositories {
        mavenDeployer {
            //提交到远程服务器:
            // repository(url: "http://www.xxx.com/repos") {
            //    authentication(userName: "admin", password: "admin")
            // }
            //本地的Maven地址设置为D:/repos
            repository(url: uri('D:/repos'))
        }
    }
}
  • 新建PluginImp.groovy文件,如下图
Android 最佳实践のGralde插件开发_第5张图片
PluginImp.groovy.png
  • 填写相关测试内容
import org.gradle.api.Plugin
import org.gradle.api.Project

/**
 * @author kingpengLin
 * @since 2017/9/26.
 */

public class PluginImp implements Plugin {
    @Override
    public void apply(Project project) {
        // 此处填写相关gradle脚本,一般为groovy语法
        System.out.print("hehehe------");
        System.out.print("Test Plugin");
        System.out.print("hahaha-------");
    }
}
  • 新建testplugin.properties文件,目录如上图,必须一致的目录,否则无法找到插件,
    填写内容如下,填写对应插件入口文件全路径
implementation-class=com.kingpeng.testplugin.PluginImp

到此已完成插件开发的环境,接下来生成插件及使用插件的演示

上传插件到本地

  • 进入gradle文件,可以看到我们设置上传插件到本地仓库,即D:/repos目录
Android 最佳实践のGralde插件开发_第6张图片
生成插件到本地.png
  • 点击gradle上传命令
Android 最佳实践のGralde插件开发_第7张图片
上传插件.png
  • 上传到本地仓库成功
Android 最佳实践のGralde插件开发_第8张图片
上传到本地仓库成功.png

项目中配置使用插件

  • 在项目的gradle中添加插件使用
/**************** 插件配置 - 开始 ****************/
//下的properties文件名称
apply plugin: 'testplugin'

buildscript {
    repositories {
        jcenter()
        maven {
            url uri('D:/repos')
        }
    }
    dependencies {
        //格式为-->group:module:version
        classpath 'com.kingpeng.testplugin:testplugin:1.0.0'
    }
}
/**************** 插件配置 - 结束 ****************/

到此,已接入插件,直接gradle编译,就能看到输出如下内容,说明插件已经起作用

hehehe------
Test Plugin
hahaha-------

你可能感兴趣的:(Android 最佳实践のGralde插件开发)