美文网首页
Gradle 自定义插件的入门

Gradle 自定义插件的入门

作者: RunAlgorithm | 来源:发表于2017-04-19 19:54 被阅读29次

1 实现

新建模块 myplugin

两个文件,一个继承 Plugin,使我们要用的插件;一个作为 Model,用来保存一些数据

  • myplugin/src/main/groovy/me/lynch/test/HelloPlugin.groovy
  • myplugin/src/main/groovy/me/lynch/test/HelloPluginExtensition.groovy

其中 HelloPlugin 中定义了一个新的任务

package me.lynch.test

import org.gradle.api.Plugin
import org.gradle.api.Project

class HelloPlugin implements Plugin<Project>{

    @Override
    void apply(Project project) {
        project.extensions.create("data", HelloPluginExtension)
        project.task('helloworld') << {
            println 'data:'
            println project.data.key
            println project.data.value
        }
    }
}

创建属性文件

  • myplugin/src/main/resources/META-INF/gradle-plugins/helloplugin.properties

这个 “helloplugin” 就是后面会使用的插件的名字,所以属性文件为 “插件名字.properties”

注意:该属性文件路径一定要正确,否则即使编译过了也用不了

文件的内部指定了该插件的具体实现类

implementation-class=me.lynch.test.HelloPlugin

然后在 build.gradle 添加编译的依赖,主要对 Gradle 的 API 和 Groovy 标准库的依赖;因为是 Groovy 实现,还需要加 groovy 插件

apply plugin: 'groovy'

dependencies {
    compile gradleApi()
    compile localGroovy()
}

2 发布

这里放到本地目录

在 build.gradle 添加编辑信息

group = 'me.lynch.test'
version = '1.0-SNAPSHOT'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: uri('../repo'))
        }
    }
}

调用 gradle uploadArchives 发布

3 使用

指明仓库地址,再 apply 来应用插件

buildscript {
    repositories {
        maven {
            url uri("../repo")
        }
    }
    dependencies {
        classpath 'me.lynch.test:myplugin:1.6-SNAPSHOT'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'helloplugin'

data {
    key = "1"
    value = "2"
}

然后使用 gradle tasks 列出任务列表,可以看到有 helloworld 任务

调用 gradle helloworld 可以看到输出

相关文章

  • Gradle自定义插件

    Gradle自定义插件 在Gradle中创建自定义插件,Gradle提供了三种方式: 在build.gradle脚...

  • 自定义Gradle插件

    个人博客http://www.milovetingting.cn 自定义Gradle插件 自定义Gradle插件可...

  • 启用Gradle远程调试

    在Gradle学习10——自定义Gradle插件 这篇文章中介绍了编写插件的几种方式。编写gradle对象插件的实...

  • gradle插件调试

    在Gradle学习10——自定义Gradle插件 这篇文章中介绍了编写插件的几种方式。编写gradle对象插件的实...

  • gradle自定义插件--基于AndroidStudio

    在AndroidStuodio是进行gradle自定义插件入门学习 1.先查看基本的目录结构 项目简介: 除了bu...

  • Gradle 插件

    比如一个自动输出Lint报告的Gradle插件1.自定义Gradle插件的方式Gradle是采用Groovy语言,...

  • Android Gradle 插件(二)

    Android Gradle 插件(一)Android Plugin DSL Reference 自定义插件 新建...

  • Gradle自定义插件和发布

    Gradle自定义插件和发布 这篇文章讲解的是如何自定义gradle插件,并以本地依赖和远程依赖的方式来集成。 本...

  • Android Gradle入门到精通(二)

    1.背景 上节学完了Gradle的基础知识,这节学习下Gradle的自定义插件。自定义插件主要分为三种方式: 新建...

  • Gradle自定义插件(Android)

    Gradle插件使用在日常开发中已经很熟悉,那么我们怎么去自定义我们的插件? 自定义插件 自定义插件基于源码放置可...

网友评论

      本文标题:Gradle 自定义插件的入门

      本文链接:https://www.haomeiwen.com/subject/yjbhzttx.html