最近由于工作需要,想要做个gradle插件辅助一下,各种难易程度的讲解文章也看了不少,脑子里的信息比较乱,在这抽个时间整理一下。
因为是最近刚接触gradle插件的制作,刚开始调试的时候构造的是可发布的插件模块,每次修改都得重新发布到本地,麻烦死了~
在这里提供一个免发布的插件模块构造方法,但是仅限用于当前项目,想要用到其他项目中还是得发布到本地才行。
好了,正文开始:
一、创建一个插件module
1、创建一个library module
注意:Module name必须为 BuildSrc
2、添加groovy目录
1、打开src/main目录,修改java文件名称为groovy
2、src/main下,仅保留groovy文件夹,删除其他文件夹
3、删除无用的libs文件夹、proguard-rules.pro文件
3、修改build.gradle文件
apply plugin: 'groovy'
dependencies {
compile gradleApi()//gradle sdk
compile localGroovy()//groovy sdk
}
repositories {
jcenter()
}
二、自定义自己的插件类
package com.pax.plugin.hmy.assembly
import org.gradle.api.Plugin
import org.gradle.api.Project
class AssembliesPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
println("apply project : " + project.getName())
}
/**
* 打印
* @param msg
*/
void println(String msg){
System.out.println("\n"
+ "========================="
+"\n"
+ "==" + msg
+"\n"
+ "========================="
+ "\n")
}
}
三、在主模块app中使用插件
注意:此处引入的plugin两端不用加引号(加引号会找不到)
四、编译项目:rebuild
查看Gradle Console窗口log