Gradle插件支持groovy、java、kotlin语言,根据使用的语言,我们需要把插件代码分别放到下面几个对应的目录:
rootProjectDir/buildSrc/src/main/groovy
rootProjectDir/buildSrc/src/main/java
rootProjectDir/buildSrc/src/main/kotlin
这里以java语言为例,写个自定义插件
1、新建项目,然后创建名称为buildSrc的module(注意,module的名称必须是buildSrc)
目录结构:
buildSrc的build.gradle文件:
apply plugin: 'java-library'
apply plugin: 'groovy'
apply plugin: 'maven'
repositories {
google()
mavenCentral()
}
dependencies {
implementation gradleApi() // gradle api
implementation localGroovy() // groovy api
}
settings.gradle文件:
rootProject.name='pluginDemo'
include ':app'
include 'buildSrc'
2、使用java写插件代码:
package com.shengqf.plugin;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
public class MyFirstPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
System.out.println("this is my first plugin !");
}
}
3、创建properties文件,关联插件:
在buildSrc目录下的build文件下,新建
创建目录及文件 :buildSrc\src\main\resources\META-INF\gradle-plugins\myfirstplugin.properties
在properties文件添加代码,关联插件:
implementation-class=com.shengqf.plugin.MyFirstPlugin
4、使用插件:
在我们的app的module的build.gradle里面引用插件:
重新构建一次,会看到我们在插件里写的那句话,打印出来了: