转载

初识Gradle插件开发

  • Groovy是一门jvm语言
  • Java语言的特性Groovy都支持,我们可以混写Java和Groovy

2、与Java对比

2.1 变量定义

Groovy中的变量可以通过两种方式定义:使用数据类型的本地语法,或者使用def关键字

2.2 集合遍历

def list = [1,2,3,4] list.each{ println it } 复制代码

2.3 文件读写

File file = new File("E:/Example.txt") println file.text 复制代码

Groovy开发更为简洁,也可使用java语法进行插件开发

二、Gradle插件开发流程

1、新建插件工程

1.1 调整代码结构

新建一个Java Library的module,删除java目录,创建groovy和resources、META-INF、gradle-plugins目录

初识Gradle插件开发

1.2 gradle-plugins中文件

  • 创建一个.properties文件,文件名称相当于插件的别名,用于引用某个插件
  • 文件内容:implementation-class对应某个插件的完整名称
implementation-class=com.test.plugin.TestPlugin 复制代码

1.3 module下的build.gradle文件

apply plugin: 'groovy' apply plugin: 'maven' repositories { jcenter() google() } dependencies { //gradle sdk compile gradleApi() //groovy sdk compile localGroovy() } 复制代码

1.4 创建插件文件

class TestPlugin implements Plugin<Project> { @Override void apply(Project target) { println("----plugin running") } } 复制代码

实现Plugin,在apply方法中添加新的任务

2、插件本地上传

该module下的build.gradle

//插件版本 version = "1.0.0" //插件所属group group='com.test.plugin' //插件名称 archivesBaseName = 'test' uploadArchives{ //当前项目可以发布到本地文件夹中 repositories { mavenDeployer { repository(url: uri('/Users/hh/Desktop/repos')) //定义本地maven仓库的地址 } } } 复制代码

执行uploadArchives进行上传

初识Gradle插件开发

3、插件远程上传

插件远程上传

三、Gradle插件断点调试

1、插件工程添加远程调试任务

点击选择Edit Configurations

初识Gradle插件开发

添加Remote,其他配置使用默认值

初识Gradle插件开发

在对应位置添加断点

2、应用工程配置调试环境变量

在应用工程根目录输入下面的命令开启gradle的远程调试

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" 复制代码

在应用工程根目录输入下面的命令启动远程调试器

./gradlew --no-daemon checkGradleDependencies -Dorg.gradle.debug=true 复制代码
初识Gradle插件开发

3、插件工程添加调试器

点击Debug按钮,添加调试器

初识Gradle插件开发

再次点击Debug按钮,在应用工程的命令行查看构建开始执行,当运行到插件工程断点时,就会自动暂停

4、结束调试

在应用工程根目录输入下面命令关闭gradle远程调试

export GRADLE_OPTS="" 复制代码
原文  https://juejin.im/post/5d400589f265da03ed192b6d
正文到此结束
Loading...