Gradle自定义插件

1、自定义插件的方式

类似于自定义task,gradle自定义插件的方式也是三种,而且步骤和自定义task基本类似,这里详细描述一下写在buildSrc项目中的方式。

2、buildSrc项目的搭建

参照自定义task的方式建立项目目录,然后自定义一个插件:HelloGradlePlugin.groovy:

package demo.gradle.plugin

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

class HelloGradlePlugin implements Plugin{

    @Override
    void apply(Project project) {

        project.task("MyCustomTask",type : HelloGradleTask){
            println("Hello,Gradle Custom Plugin")
        }

    }
}

HelloGradleTask.groovy如下:

package demo.gradle.plugin

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

class HelloGradleTask extends DefaultTask{

    @TaskAction
    void sayHello(){
        println("Hello,Gradle Custom Task!")
    }

}

3.插件的使用

以上定义好的插件,项目中如何使用呢?主要步骤如下:
新建目录src/main/resources/META-INF/gradle-plugins/,然后在该目录下面添加
一个properties文件,这里为:demo.gradle.plugin.properties,内容为:

implementation-class=demo.gradle.plugin.HelloGradlePlugin

最终项目结构如下:

Gradle自定义插件_第1张图片
QQ截图20160623141659.png

然后在主项目中的build.gradle添加:

apply plugin: 'demo.gradle.plugin'

需要注意的地方就是,apply plugin依赖的插件id,
是和demo.gradle.plugin.properties文件名一致的。

你可能感兴趣的:(Gradle自定义插件)