Groovy中的变量可以通过两种方式定义:使用数据类型的本地语法,或者使用def关键字
def list = [1,2,3,4] list.each{ println it } 复制代码
File file = new File("E:/Example.txt") println file.text 复制代码
Groovy开发更为简洁,也可使用java语法进行插件开发
新建一个Java Library的module,删除java目录,创建groovy和resources、META-INF、gradle-plugins目录
implementation-class=com.test.plugin.TestPlugin 复制代码
apply plugin: 'groovy' apply plugin: 'maven' repositories { jcenter() google() } dependencies { //gradle sdk compile gradleApi() //groovy sdk compile localGroovy() } 复制代码
class TestPlugin implements Plugin<Project> { @Override void apply(Project target) { println("----plugin running") } } 复制代码
实现Plugin,在apply方法中添加新的任务
该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进行上传
插件远程上传
点击选择Edit Configurations
添加Remote,其他配置使用默认值
在对应位置添加断点
在应用工程根目录输入下面的命令开启gradle的远程调试
export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" 复制代码
在应用工程根目录输入下面的命令启动远程调试器
./gradlew --no-daemon checkGradleDependencies -Dorg.gradle.debug=true 复制代码
点击Debug按钮,添加调试器
再次点击Debug按钮,在应用工程的命令行查看构建开始执行,当运行到插件工程断点时,就会自动暂停
在应用工程根目录输入下面命令关闭gradle远程调试
export GRADLE_OPTS="" 复制代码