android技术专栏Android开发Android开发经验谈

Android 最佳实践のGralde插件开发

2017-10-12  本文已影响94人  kingpengLin

前言

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

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

开发Gradle插件

删除选中的文件夹及文件目录.png 4.png
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.png
import org.gradle.api.Plugin
import org.gradle.api.Project

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

public class PluginImp implements Plugin<Project> {
    @Override
    public void apply(Project project) {
        // 此处填写相关gradle脚本,一般为groovy语法
        System.out.print("hehehe------");
        System.out.print("Test Plugin");
        System.out.print("hahaha-------");
    }
}
implementation-class=com.kingpeng.testplugin.PluginImp

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

上传插件到本地

生成插件到本地.png 上传插件.png 上传到本地仓库成功.png

项目中配置使用插件

/**************** 插件配置 - 开始 ****************/
//下的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-------
上一篇 下一篇

猜你喜欢

热点阅读