转载

初识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...