AS--›Groovy/Gradle操作使用实例记录(持续更新)

2023-05-16

Groovy

gradle 构建脚本使用的 groovy 语言编写.

官方地址:
http://groovy-lang.org/documentation.html

API文档地址:
http://groovy-lang.org/api.html

API扩展文档地址:
http://groovy-lang.org/gdk.html


Gradle

官方文档: https://docs.gradle.org/current/userguide/userguide.html

接口/对象默认实现
projectorg.gradle.api.internal.project.DefaultProject
project.tasksorg.gradle.api.internal.tasks.DefaultTaskContainer
taskorg.gradle.api.DefaultTask
任务类型(task type)默认实现
type: Jarorg.gradle.api.tasks.bundling.Jar
type: Copyorg.gradle.api.tasks.Copy
type: Ziporg.gradle.api.tasks.bundling.Zip
type: Deleteorg.gradle.api.tasks.Delete
type: Execorg.gradle.api.tasks.Exec
println it.class

task 官方介绍:

https://docs.gradle.org/current/dsl/org.gradle.api.Task.html


声明一个task

task _test1(){
    
}

声明一个带typetask

task _test2(type: Jar){
    
}

所有可用type

声明一个带有依赖的task

task _testTask(dependsOn: ['compileApkReleaseJavaWithJavac'], type: Jar) {

}

动态创建一个task

def newTask = project.tasks.create("newTask")
newTask.doFirst {
    println "new task first." + it.name
}
newTask.doLast {
    println "new task last." + it.name
}
project.tasks.add(newTask)

task的3个阶段

task _testTask()
    doFirst{
        println "task first."
    }

    doLast{
        println "task last."
    }

    println "task配置结束."
}

  1. 配置阶段, 任何时候都会执行
  2. First阶段, 任务运行最开始会执行
  3. Last, 任务运行最后面会执行

监听task``事件

监听task添加

task _testTask() {
    project.tasks.whenTaskAdded {
        println "添加任务:" + it.name + ":" + it.class + ":" + it
    }
}

示例

正则匹配目标task, 追加命令

task _testTask() {
    project.tasks.whenTaskAdded {
        def taskName = it.name
        if (taskName.endsWith("JavaWithJavac")) {
            def matcher = Pattern.compile("compile(.*)JavaWithJavac").matcher(taskName)

            if (matcher.find()) {
                println "匹配:" + taskName + "->" + matcher.group(1)
            }
        }
    }
}

系列Gradle操作文章

https://angcyo.blog.csdn.net/article/category/9283298


项目实用

打印依赖树

打印工程依赖的jar版本, 多用于解决版本冲突.参考

gradlew demo:dependencies

未完待续

持续更新…


群内有各(pian)种(ni)各(jin)样(qun)的大佬,等你来撩.

联系作者

点此快速加群

请使用QQ扫码加群, 小伙伴们都在等着你哦!

关注我的公众号, 每天都能一起玩耍哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AS--›Groovy/Gradle操作使用实例记录(持续更新) 的相关文章

随机推荐

  • java实现下载网络图片到本地

    文章目录 前言一 示例二 代码 1 代码示例2 运行结果总结 前言 当我们在网络上看到自己想要保存的照片 xff0c 有的网站设置了权限 xff0c 不能保存情况下 xff0c 我们可以借助Java的文件流读取网络上的图片 xff0c 并保
  • Unable to get package info for [包路径]; is package not installed

    这个问题引起原因是 简单的卸载app 没有卸载干净 xff0c 然后再次运行 当dalvik重新安装 apk文件并试图重用以前的活动从同一个包
  • 算法导论->算法基础->2.1插入排序 (从小到大)

    1 伪代码 2 执行过程图 3 c语言实现完整代码 include lt stdio h gt include lt malloc h gt typedef struct MyArray int pbase int length MyArr
  • 【实习面试】阿里&腾讯offer的点点滴滴(内附干货)

    前言 4月8号下午6点 xff0c 突然接到腾讯hr的电话 xff0c 本来已经不抱希望的我一脸懵逼 xff0c 差点连自我介绍都不会说了 之所以不抱希望 xff0c 是因为距离上次面试已经9天了 xff0c 然而正式的实习生面试将近 xf
  • PE 自己做

    windows11快正式发布了 xff0c 很多不达标的老旧电脑是不能直接装的 事先准备好一个纯净PE吧 以下文字全部粘贴到 cmd 文件 xff0c 运行就可以生成一个 boot wim 文件 xff0c 放到任意一个可以启动的 win1
  • 找回忘记的Ubuntu账号密码

    前端时间使用VMWare安装了个Ubuntn的虚拟机 xff0c 但是烦于安装后显卡驱动的问题 xff0c 看着操作界面就有点厌烦 xff0c 就扔下了 今天打开虚拟机登陆的时候忘了密码 xff0c 寻思着难道要重装不行 xff1f 现在记
  • KVM虚拟化解决方案系列之KVM部署篇(1-4)

    通过 KVM虚拟化解决方案系列之KVM架构篇 我们了解了KVM的基本架构之后 xff0c 那么接下来继续介绍如何使用KVM来搭建自己的虚拟化环境 xff0c 搭建环境如表1所示 表1 KVM搭建环境 主机名角色操作系统IP地址备注kvm01
  • ArduinoLoRa 休眠极限 1.4uA

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • SElinux 读懂.te 定义自己的 .te【转】

    本文转载自 https blog csdn net kongbaidepao article details 61417291 一 te 文件定义中的一些宏 1 1 unix socket connect 1 1 2 3 这个其实是一个宏
  • ArduinoLoRa 休眠定时器唤醒 5.5uA

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • 花 1 小时,开源设计 LoRa 按钮

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • 花 1 小时,开源设计 LoRa 红外感应终端

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • ArduinoLoRa 休眠中断唤醒 1.4uA

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • 花 1 小时,开源设计 LoRa 检测电池容量

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • 10 分钟内安装“干净”的 win10 和常用软件

    背景需求 因为毕业于计算机专业 xff0c 这 10 多年来经常帮助家人和朋友安装 Windows 系统和软件 xff0c 消耗了大量的业余时间 2020年春节 xff0c 新冠爆发 xff0c 不宜外出 xff0c 特地抽了几天时间组织下
  • Linux 快速排查网络故障

    背景需求 Linux 因为其强大的网络处理能力 xff0c 被广泛用于网关 实例链接 和服务器 实例链接 实际工作中 xff0c 快速排查这些 Linux 设备的网络故障成为解决问题的利器 为此 xff0c 本文列出高频使用的 Linux
  • Linux 系统安全关键命令

    背景需求 Linux 因为其强大的处理能力和开源免费 xff0c 被广泛用于网关 实例链接 和服务器 实例链接 实际工作中 xff0c 保护 Linux 设备的安全成为产品设计的挑战 为此 xff0c 本文列出保护 Linux 系统安全的关
  • LoRa Server 运维常用命令

    背景需求 LoRa Server 是一个开源的 LoRaWAN 网络服务器 xff0c 它具备很多优点 xff1a 工程性 xff0c 模块化 xff0c 功能实现 xff0c 维护活跃度上都是其他项目无法比拟的 xff0c 它是 LoRa
  • 抗击新型冠状病毒肺炎,开源设计 LoRa 红外检测体温

    提示1 xff1a 锐米所有 LoRa 产品严格遵循国际标准的 LoRaWAN 协议 提示2 xff1a 您可以免费复制 xff0c 修改和商用本项目 xff0c 请注明锐米原创 提示3 xff1a 如果您有其他 LoRa 需求或建议 xf
  • AS--›Groovy/Gradle操作使用实例记录(持续更新)

    Groovy gradle 构建脚本使用的 groovy 语言编写 官方地址 http groovy lang org documentation html API文档地址 http groovy lang org api html API