11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性

news2024/9/23 3:24:53

11--Gradle进阶 - Gradle任务的定义方式、指定任务的属性

前言

在前面的篇章中,我们写了不少 task 任务,但是任务完整的定义方式,指定哪些任务属性 没有一个归纳的总结。

本篇章我们来熟悉一下。

任务定义方式

任务定义方式,总体分为两大类:

  • 一种是通过 Project 中的task()方法

  • 另一种是通过tasks 对象的 create 或者register 方法。

// 1.通过 Project 中的task()方法定义:
task('taskA', {
    //任务名称,闭包都作为参数println "taskA..."
    println "taskA...."
})

task('taskB') {
    //闭包作为最后一个参数可以直接从括号中拿出来println "taskB..."
    println "taskB...."
}

task taskC {
    //groovy语法支持省略方法括号:上面三种本质是一种println "taskC..."
    println "taskC...."
}

// 2.通过tasks 对象的 create 或者 register 方法
// 2.1 action属性可以设置为闭包task(map,"D");
def map = new HashMap<String, Object>();
map.put("action", { println "taskD.." })

// 2.2 通过 tasks 对象 create 定义任务
tasks.create('taskE') {
    //使用tasks的create方法println "taskE.."
    println "taskE..."
}

// 2.2 通过 tasks 对象 register 定义任务
tasks.register('taskF') { 
    //注:register执行的是延迟创建。也即只有当task被需要使用的时候才会被创建。
    println "taskF...."
}

定义任务的属性

当然:我们也可以在定义任务的同时指定任务的属性,具体属性有:

163f167878a552a34c7c8d7ff48dd938.jpeg
img

在定义任务时也可以给任务分配属性:

定义任务的时候可以直接指定任务属性,也可以给已有的任务动态分配属性:

//3. 定义任务的属性
//①.Z是任务名,前面通过具名参数给map的属性赋值,以参数方式指定任务的属性信息
task(group: "lijw", description: "this is task Z", "taskZ")

//②.H是任务名,定义任务的同时,在内部直接指定属性信息
task("taskH") {
    group("lijw")
    description("this is the task H")
}

//③.Y是任务名,给已有的任务 在外部直接指定属性信息
task "taskY" {}
taskY.group = "lijw"

//案例:给已有的clean任务重新指定组信息为 lijw 组
clean.group("lijw")

可以在 idea 中看到: 上面自定义的那几个任务和 gradle 自带的 clean 任务已经跑到:lijw 组了。

868ecb64b1b5f15bd2a4ef38c461d62d.png

1686238823841

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习】【期末复习】有关机器学习的计算题可供期末复习参考(带本人手写解答与思考)

本文为学校课程《机器学习》的期末复习材料&#xff0c;主要是关于一些机器学习模型的计算题的解答过程。 题目 构造平衡 KD 树ID3 与 C4.5 算法构建决策树模型朴素贝叶斯SVM求最大间隔分离超平面和分类决策函数EM算法K-means聚类adaboost计算概率图模型反向传播 构造平衡 KD 树…

学习adaboost(四,最后一次迭代,c#实现)

犯错3的3个弱分类就剩一个了&#xff0c;即x<8.5,标签1&#xff0c;else&#xff0c;标签-1。如果还搞不定&#xff0c;就得启用犯错4的分类器了&#xff0c;我们这一次是第三次迭代&#xff0c;和第二次没差别&#xff0c;我们看一下数据更新情况&#xff0c;希望是最后一次…

【Rust日报】2023-06-26 Rust 编写的 ChatGPT桌面应用

Rust 编写的 ChatGPT桌面应用 这是一个非官方的免费 ChatGPT 桌面应用, Rust 编写. 支持 Windows, Mac 和 Linux. 目前 38.3k ⭐️. github地址: https://github.com/lencx/ChatGPT 使用 github action 发布多平台的 rust 二进制程序 这篇文章是关于如何使用 GitHub Actions 进…

深蓝学院C++基础与深度解析笔记 第 7 章 深入 IO

1. IOStream 概述&#xff08;I&#xff1a;输入&#xff0c;O&#xff1a;输出&#xff09; ●IOStream 采用流式 I/O 而非记录 I/O (类似于数据库)&#xff0c;但可以在此基础上引入结构信息 ● 所处理的两个主要问题&#xff1a; – 表示形式的变化&#xff1a;使用格式化…

机器学习笔记 - 基于TensorRT或CUDA推理第一次速度慢的解决方案参考

一、简述 不管是基于CUDA还是基于TensorRT进行模型推理,都是分三个阶段,将数据从内存拷贝到显存,进行推理,将推理结果从显存拷贝到内存。 关于TensorRT推理,可以参考之前的博客。 机器学习笔记 - windows基于TensorRT的UNet推理部署_坐望云起的博客-CSDN博客NVIDIA Tenso…

linux sshd 病毒清理

原因&#xff1a;开启了flink web submit 具体原因不清楚&#xff0c;三个flink集群&#xff0c;只要开了这个就中毒 参考&#xff1a;解决linux中挖矿病毒 Linux系统常见的病毒介绍&#xff08;附解决方案&#xff09; 1、清理定时任务 修改cron 文件时 可能会存在被锁不允…

Cartographer自定义lua参数的方法

Cartographer中, 配置参数大多数都是从lua文件中得到的, 不是像其他的开源框架大多使用xml等文件进行参数配置. 假如我们要配置一个名字是rotation_condition的配置参数在pose_graph_2d.cc中, 想要使用方法为 options_.translation_condition()配置步骤如下: 1. 修改proto文件…

界面控件Telerik UI for WPF R2 2023——拥有全新的Windows 11精简主题

Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序&#xff0c;同时还能快速构建企业级办公WPF应用程序。Telerik UI for WPF支持MVVM、触摸等&#xff0c;创建的应用程序可靠且结构良好&#xff0c;非常容易维护&#xff0c;其直观的API将无缝地集成Visua…

无线视频传输|介绍四款基于wifi模块的视频传输方案

为满足产品物联网升级过程中对更高分辨率的视频源的需求&#xff0c;本篇带大家一起来了解一下支持高清视频传输&#xff0c;能够有效解决现有无线视频传输方案中&#xff0c;传输距离短、延迟大、不稳定等问题的四款视频传输方案&#xff1a;无人机视频传输方案&#xff0c;20…

java.sql.Time 字段时区问题 Mybatis 源码分析

java.sql.Time 字段时区问题 系列文章目录 第一章 初步分析 第二章 Mybatis 源码分析 第三章 Jackson 源码分析 意想不到的Time处理类 文章目录 java.sql.Time 字段时区问题 系列文章目录前言Mybatis源码阅读1. ResultSetImpl部分源码&#xff1a;2. SqlTimeValueFactory部分…

git分支的更新按钮不可用,idea 的git命令无法识别

现象 从git分支签出其本地分支&#xff0c;但是签出之后该分支的更新按钮为灰色&#xff0c;我只能拉取&#xff0c;不能更新&#xff0c;也不能推送 解决 打开idea的终端&#xff0c;执行命令git branch --set-upstream-toorigin/远程上的分支名 。又引出另外一个问题无法识别…

Java阶段四Day09

Java阶段四Day09 文章目录 Java阶段四Day09过滤器创建过滤器过滤器的作用执行过滤器 为什么写配置文件关于登录和认证的区别前端获取用户状态 过滤器 使用JWT取代Session&#xff0c;不管做什么都携带着JWT&#xff0c;那么服务端不管处理什么请求、或绝大多数请求都要尝试获取…

如何让金鸣识别转出来的excel表名不为域名?

我们知道&#xff0c;金鸣表格文字识别系统&#xff08;简称金鸣识别&#xff09;可以将图片转为excel表格&#xff0c;使用起来非常方便&#xff0c;由于它采用了超前AI的技术&#xff0c;且经过深度学习&#xff0c;所以它的识别准确率也非常高&#xff0c;让我们节省了不少人…

基于html+css的图展示137

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

jenkins 自动安装nodejs16.16.0版本报错处理

jenkins 自动安装nodejs16.16.0版本报错了&#xff0c;好像访问不了下面的网址&#xff0c;所以下载不了文件报错 那就人工安装吧&#xff0c;下载16.16.0nodejs版本后&#xff0c;到 在这个目录下安装/root/.jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation …

火车售票管理系统

1、项目概要 2 2、数据库设计 2 2.1 数据表 2 2.2 业务表及其字段 4 3、设计与实现 16 3.1业务功能1名称&#xff1a;系统管理 16 3.1-1 员工管理 16 3.1-2 角色维护 18 3.1-2 操作员管理 19 3.2业务功能2名称&#xff1a;列车管理 21 3.2-1 车辆管理 21 3.2-2 站点管理 23 3.2…

021:vue中watch监听页面变化 动态设置iframe元素的高度

第021个 查看专栏目录: VUE — element UI vue项目中如何动态的设置iframe的高度的呢&#xff0c;这里主要用到了监听的功能&#xff0c;页面高度变化时&#xff0c;设定的动态高度也会相应的改变。 template中&#xff1a; <iframe width"100%" :height"f…

maven使用profile动态配置(IDEA演示)

简介 使用Maven的profile来切换不同环境(开发/测试/发布生产)的配置文件 需求简介 通过把不同环境的配置参数信息,放到不同环境的配置文件里(例如:dev.properties开发环境配置文件).Maven在打包的时候根据选择不同的环境(例如dev:生产环境)调用对应的配置文件(dev.properties)…

FPGA XDMA 中断模式实现 PCIE X8 上位机视频传输 提供工程源码和QT上位机源码

目录 1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案图像产生、发送、缓存XDMA简介XDMA中断模式图像读取、输出、显示QT上位机及其源码 5、vivado工程详解6、上板调试验证7、福利&#xff1a;工程代码的获取 1、前言 PCIE&#xff08;PCI Express&#xff09;采…

springboot 国家公务员招聘网站-计算机毕设 附源码80528

springboot 国家公务员招聘网站 目 录 摘要 1 绪论 1.1研究背景与意义 1.2开发现状 1.3系统开发技术的特色 1.4springboot框架介绍 1.5论文结构与章节安排 2 2国家公务员招聘网站系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.3.2数据修改流程 2.…