当前位置: 首页 > news >正文

gradle-tasks.register(‘classesJar‘, Jar)解析

在使用gradle作为构建工具的android或者java web项目中,我们经常能遇到以下格式

tasks.register('classesJar', Jar) {from "$buildDir/intermediates/javac/release/classes" // 假设使用 release 构建变体
}artifact sourcesJar

使用伪代码解释

class CustomTasks{def taskMap = new HashMap()def register(taskName, taskClass, closure){def task = taskClass.newInstance();taskMap.put(taskName, task)closure.call(task)}
}class JarTask{def customTaskRef = "我是一个自定义任务"def fromSrc = ""def toSrc = ""def doSelf(){println "定义一任务执行体,action"}def from(src){fromSrc = src}def to(src){toSrc = src}}def tasks2 = new CustomTasks();tasks2.register("deoTest", JarTask){it.from  "src/main/java/com"it.to "src/test/java/com"  
}def artifact = {def task = tasks2.taskMap[it]println "测试" + task.customTaskRefprintln "测试" + task.fromSrc + "," + task.toSrc}artifact 'deoTest'

运行

gradle --init-script=脚本路径

测试结果
在这里插入图片描述

相关文章:

  • 【Linux C/C++开发】向量检索库annoy开发
  • ai环境conda带torch整体迁移。
  • 实用的java技术架构组件汇总
  • 软考-软件设计师中级备考 7、算法设计与分析
  • STM32 HAL库实现USB虚拟串口
  • springboot项目文件上传到服务器本机,返回访问地址
  • 省哲学社科基金项目申请书(论证活页)模版框架参考
  • 【Linux】Java 开发者的 Linux 常用命令指南
  • 电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异
  • 力扣面试150题--K 个一组翻转链表
  • Linux0.11引导启动程序:简略过程
  • 深入蜂窝物联网 第三章 LTE-M(Cat-M1)详解:省电机制与移动特性
  • Spring系列六:JdbcTemplate
  • 【Rust通用集合类型】Rust向量Vector、String、HashMap原理解析与应用实战
  • case和字符串操作
  • Elastic Platform 8.18 和 9.0:ES|QL Lookup Joins 功能现已推出,Lucene 10!
  • 泰迪杯实战案例超深度解析:特殊医学用途配方食品数据分析与智能推荐系统设计
  • 零成本AI抠图终极指南:蓝耘元生代AIDC OS+ComfyUI实现商业级效果
  • 检查IBM MQ SSL配置是否成功
  • 比亚迪在智能化上,想再赢一次?
  • 君亭酒店:2024年营业收入约6.76亿元, “酒店行业传统增长模式面临巨大挑战”
  • 王毅会见俄罗斯外长拉夫罗夫
  • 宁波银行一季度净利74.17亿元增5.76%,不良率持平
  • 物业也能成为居家养老“服务员”,上海多区将开展“物业+养老”试点
  • 全过程人民民主研究基地揭牌,为推动我国民主政治建设贡献上海智慧
  • 王一博赛车故障退赛冲上热搜,工作室回应:下次再战