一、Groovy初识
1、特点:
- 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目录
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进行上传
3、插件远程上传
三、Gradle插件断点调试
1、插件工程添加远程调试任务
点击选择Edit Configurations
添加Remote,其他配置使用默认值 在对应位置添加断点2、应用工程配置调试环境变量
在应用工程根目录输入下面的命令开启gradle的远程调试
export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
在应用工程根目录输入下面的命令启动远程调试器
./gradlew --no-daemon checkGradleDependencies -Dorg.gradle.debug=true
3、插件工程添加调试器
点击Debug按钮,添加调试器
再次点击Debug按钮,在应用工程的命令行查看构建开始执行,当运行到插件工程断点时,就会自动暂停4、结束调试
在应用工程根目录输入下面命令关闭gradle远程调试
export GRADLE_OPTS=""
四、Gradle插件应用
项目根目录build.gradle,添加依赖库路径和依赖
buildscript {
repositories {
maven {
url uri('/Users/hh/Desktop/repos')
}
}
dependencies {
classpath 'com.test.plugin:test:1.0.0'
}
}
app module下的build.gradle,引用插件
apply plugin: 'com.test.plugin'
运行后打印出日志