编写插件
-
新建
Java
module
: 修改/新建目录结构如下图(这里的
BuildSrc
是我定义的插件module name
):
-
新建
MyPlugin.groovy
文件package your.package.name class MyPlugin implements Plugin<Project> { @Override void apply(Project project) { project.tasks.create("taskName", taskClosure) } Closure taskClosure = { println("hello earth") } }
-
如上2图所示新建
resource
>META-INF.gradle-plugins
>your.package.name.MyPlugin
,填写内容:implementation-class=your.package.name.MyPlugin
-
别忘了在guild.gralde中添加:
apply plugin: 'groovy' dependencies { compile gradleApi() compile localGroovy() }
-
Done
上传到本地仓库
-
在上述的
build.gradle
中添加maven
依赖- 如果报错
Could not write to file '*****/build/poms/pom-default.xml'
请检查multidex
问题
apply plugin: 'maven' repositories { mavenCentral() } uploadArchives { repositories { mavenDeployer { pom.groupId = 'your.package.name' pom.artifactId = "your_plugin_name" pom.version = '1.0.0' repository(url: uri('../repo')) } } }
- 如果报错
Rebuild Project
> 找到如下图所示的"uploadArchives" Task
> 双击 > ✌️
- 然后就能在自己的工程根目录下找到
repo
文件夹,里面就是刚才发布的gradle
插件
使用插件
- 根目录的
build.gradle
中添加:dependencies { classpath 'your.package.name:your_plugin_name:1.0.0' }
- 在需要使用该插件的
module
的build.gradle
中:apply plugin: 'your.package.name.MyPlugin'
-
Rebuild Project
>Done
> ✌️✌️✌️