gradle ant_区分基于Ant目标的Gradle任务

gradle ant

在我的博客文章《 从Ant Build演变Gradle构建:导入Ant构建文件》中 ,我演示了如何使用Gradle内置的基于AntBuilder的Ant支持在Gradle构建中导入Ant目标。 然后,可以将这些Ant目标作为Gradle任务进行访问,并与Gradle构建直接引入的任务相同。 在本文中,我将研究如何使用Groovy区分基于导入的Ant目标的Gradle任务和Gradle定义的任务。

由Gradle进口Ant构建文件建立在我的例子中的这个帖子在我的介绍以前的帖子 。 该Ant构建文件包括目标“ -init”,“ clean”,“ compile”,“ jar”,“ javadoc”,“ all”和“ output”。 紧随build.xml及其Ant目标的Gradle构建脚本文件。

build-ant-targets-and-gradle-tasks.gradle(版本1)

// build-ant-targets-and-gradle-tasks.gradle
//
// Gradle build script demonstrating Gradle Tasks associated with this project
// that are not provided by an imported Ant build file.// ant is a DefaultAntBuilder instance
ant.importBuild 'build.xml'def antTargetsNames = ant.references.get("ant.targets").collect{ it.name }
println "\nAnt Targets: ${antTargetsNames}\n"def taskNames = rootProject.tasks.collect{ it.name }
println "\nGradle Task Names: ${taskNames}\n"def tasksThatAreNotAntTargets = taskNames - antTargetsNames
println "\nGradle Tasks that are NOT Ant Targets: ${tasksThatAreNotAntTargets}\n"

隐式可用的“ ant”变量( 默认为AntBuilder )首先用于通过调用ant.references.get("ant.targets")获得所有Ant提供的目标。 Groovy方便的Collection.collect(Closure)方法在该集合上调用,以返回Ant目标“名称”的集合。

隐式可用的“ rootProject”也可以用于使用rootProject.tasks在根项目级别获取任务。 在此集合上使用了相同的Groovy Collection.collect(Closure)方法来获取Gradle任务的名称。 最后,Groovy的减法运算符用于轻松确定哪些Gradle Tasks不是Ant Targets。 如上所示运行时,所有Gradle任务都是Ant目标,因此减法运算符不返回任何内容。 这显示在下一个屏幕快照中。

蚂蚁目标等级任务都一样

为了使示例更有趣,我在上面显示的G​​radle构建文件中添加了几个Gradle引入的Tasks。 接下来显示具有两个新的Gradle引入的任务的新版本。

build-ant-targets-and-gradle-tasks.gradle(版本2)

// build-ant-targets-and-gradle-tasks.gradle
//
// Gradle build script demonstrating Gradle Tasks associated with this project
// that are not provided by an imported Ant build file.// ant is a DefaultAntBuilder instance
ant.importBuild 'build.xml'task(helloWorld) << {println "Hello, World!"
}task(currentDateTime) << {println new Date()
}def antTargetsNames = ant.references.get("ant.targets").collect{ it.name }
println "\nAnt Targets: ${antTargetsNames}\n"def taskNames = rootProject.tasks.collect{ it.name }
println "\nGradle Task Names: ${taskNames}\n"def tasksThatAreNotAntTargets = taskNames - antTargetsNames
println "\nGradle Tasks that are NOT Ant Targets: ${tasksThatAreNotAntTargets}\n"

Gradle构建脚本的修订版引入了两个自己的任务(“ helloWorld”和“ currentDateTime”)。 运行此脚本的输出包括这两个新的Gradle任务,这些不是Grails任务,而是Ant引入的基于目标的Gradle任务。 接下来显示此输出。

蚂蚁目标等级任务不同

这篇文章中的示例提供了其他示例,这些示例能够使用Groovy代码更好地理解Gradle构建的优势。 可以直接访问默认的Ant Builder实例(“ ant”)和“ rootProject”以获取所有基于Ant的Gradle任务以及所有任务(基于Ant或Gradle引入)的名称。

参考:在Inspired by Actual Events博客上,与我们的JCG合作伙伴 Dustin Marx 区别了基于Ant目标的Gradle任务 。

翻译自: https://www.javacodegeeks.com/2014/01/differentiating-ant-target-based-gradle-tasks.html

gradle ant

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

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

相关文章

labview求n阶乘的和_求极限方法总结

函数的极限第一步&#xff1a;判断极限类型1、 型常用方法&#xff1a;①洛必达法则 ②等价无穷小代换 ③泰勒公式2、 型常用方法&#xff1a;①洛必达法则②分子分母同除以分子和分母各项中最高阶的无穷大③基本极限&#xff1a; 当nm时&#xff0c;极限等于 ,当n&#xff1c;…

使用Gradle构建Monorepo项目

根据Wikipedia的说法 &#xff0c; monorepo是一种软件开发策略&#xff0c;其中许多项目存储在同一存储库中。 这种策略可以快速检测到因依赖关系的更改而导致的潜在问题和破坏&#xff0c;并且已被许多使用大型代码库的组织采用&#xff0c;例如Google&#xff0c;Facebook和…

【渝粤教育】广东开放大学 国际私法 形成性考核 (41)

选择题 题目&#xff1a;下列哪些情况适用我国有关法律&#xff1f;&#xff08; &#xff09; 题目&#xff1a;我国法律规定司法协助的内容包括&#xff08; &#xff09;。 题目&#xff1a;采取民事登记婚姻方式是结婚的实质要件。&#xff08; &#xff09; 题目&#xff…

【渝粤教育】广东开放大学 工商企业文化 形成性考核 (55)

选择题 题目&#xff1a;企业制度能否对企业管理起作用&#xff0c;关键在于“自律”和“他律”的相结合&#xff0c;即企业管理制度和&#xff08; &#xff09;的相融合&#xff0c;这才有可能达到企业的均衡发展。 题目&#xff1a;任何的企业管理制度&#xff0c;再好的企业…

uniapp怎么引入css_CSS 三种基础选择器

本节我们来学习 CSS 中的选择器&#xff0c;选择器是 CSS 里面一个很重要的概念&#xff0c;HTML 中的所有标签样式&#xff0c;都是通过不同的 CSS 选择器进行控制的。我们只需要通过选择器&#xff0c;就可以对不同的 HTML 标签进行选择&#xff0c;并指定各种样式声明。在 C…

万网绑定二级域名_Hexo+yilia主题网站绑定个性域名

上篇我们已经成功部署了自己的博客网站&#xff0c;初始化的网站看上去似乎少了些内容(高端大气上档次的设置)。接下来我们就进一步完善我们的博客网站(孟繁胜游)。绑定个性域名当你打开github给你设定的固定域名时&#xff0c;是不是感觉low极了。主要是github给你的域名在你注…

guava缓存数据到本地_扩展Guava缓存以溢出到磁盘

guava缓存数据到本地缓存使您可以轻松地显着加速应用程序。 Java平台的两种出色的缓存实现是Guava缓存和Ehcache 。 尽管Ehcache功能丰富得多&#xff08;例如其Searchable API &#xff0c;将缓存持久化到磁盘或溢出到大内存的可能性&#xff09;&#xff0c;但与Guava相比&am…

【渝粤教育】广东开放大学 性考 形成性考核 (33)

选择题 题目&#xff1a;GATT缓和了国际贸易()有效地促进了国际贸易的发展。 题目&#xff1a;WTO的公平竞争原则要求在WTO框架下,成员方应()采取扭曲市场竞争的措施 题目&#xff1a;技术法规般涉及国家安全、()、环境保护、劳动保护、节能等方面技术法规还涉及到与产品特性、…

jmeterhttp代理服务器_Jmeter使用HTTP代理服务器录制

1、添加线程组2、线程组下&#xff0c;添加录制控制器3、添加HTTP代理服务器&#xff0c;右键单击测试计划添加→非测试元件→HTTP代理服务器。1)HTTP代理服务器配置&#xff0c;目标控制器选择测试计划>线程组>录制控制器&#xff1b;端口号随便输入一个&#xff0c;与浏…

【渝粤教育】广东开放大学 文化田野调查 形成性考核 (22)

选择题 题目&#xff1a; 文化遗产主要是指的非物质文化遗产。 答案&#xff1a;看左侧 题目&#xff1a; 县级以上人民政府根据非物质文化遗产保护、保存工作需要&#xff0c;组织非物质文化遗产调查。非物质文化遗产调查由县级以上研究部门负责进行。 答案&#xff1a;看左侧…

GraalVM上的Picocli:极快的命令行应用程序

GraalVM GraalVM允许您提前将程序编译为本地可执行文件。 与Java VM相比&#xff0c;生成的程序具有更快的启动时间和更低的运行时内存开销。 这对于通常是短暂的命令行实用程序尤其有用。 GraalVM对Java反射的支持有限&#xff0c;它需要提前了解反射访问的程序元素。 反射访…

【渝粤教育】广东开放大学 标准化理论与方法 形成性考核 (50)

选择题 题目&#xff1a; 我国的标准层级分为&#xff08;&#xff09;级。 答案&#xff1a;看左侧 题目&#xff1a; 国家标准中"要求”属于必备要素&#xff0c;也是规范性技术要素。 答案&#xff1a;看左侧 题目&#xff1a; &#xff0c;标准可分为国际标准、区域标…

【渝粤教育】广东开放大学 社会保障学 形成性考核 (34)

选择题 题目&#xff1a;乡政府现要对申请低保的村民张三进行资格调查&#xff0c;按照法律规定&#xff0c;不属于调查范围的是&#xff08; &#xff09; 题目&#xff1a;我国现行《失业保险条例》所指失业人员为 &#xff08; &#xff09; 题目&#xff1a;《失业保险条例…

es数据频繁的更新_es之文档更新过程中并发冲突问题

1&#xff1a;乐观锁控制ES是分布式的&#xff0c;也是异步并发的&#xff0c;我们的复制请求是并行发送的&#xff1b;这就意味着请求到达目的地的顺序是不可控制的&#xff0c;是乱序的&#xff1b;如果是乱序的方式&#xff0c;很有可能出现这样的一个问题&#xff0c;新ver…

【渝粤教育】广东开放大学 网络编程技术 形成性考核 (57)

选择题 题目&#xff1a;在JavaScript中&#xff0c;运行以下代码&#xff1a; var flagtrue; document .write(typeof(flag)); 值是( )。 题目&#xff1a;下面的代码( )能在页面中弹出提示框&#xff0c;并且输入框中默认无任何内容 题目&#xff1a;在JavaScript中&#xff…

【渝粤教育】广东开放大学 金融学 形成性考核 (37)

选择题 题目&#xff1a;金融体系中居于联接宏微观的纽带和运作核心地位的是&#xff08; &#xff09; 题目&#xff1a;对居民盈余与赤字的管理选择&#xff0c;说法正确的是&#xff08; &#xff09; 题目&#xff1a;从形式上看&#xff0c;收入可分为&#xff08; &a…

面试题目_总结面试中 promise 相关题目的套路

Promise 作为当下主流的异步解决方案&#xff0c;在工作中和面试中常常出现&#xff0c;尤其是在面试中&#xff0c;会弄个场景让你手写代码&#xff0c;这里给大家介绍五道比较有代表性的题目&#xff0c;以便熟悉一些套路。promise 简单介绍先简单介绍下 PromisePromise 对象…

javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第1部分

javafx 自定义控件几周前&#xff0c;由于Hendrik Ebbers的出色文章 &#xff0c;我决定花一些时间观看有关JavaFX的JavaOne讨论。 我不得不说我已经学到了很多东西&#xff0c;只是看这些视频&#xff08;即使我还没有完成&#xff09;&#xff01; Gerrit的“使用力&#xf…

【渝粤教育】电大中专Office办公软件 (4)作业 题库

1.以下软件不属于系统软件的是&#xff08; &#xff09;。 A.Visual Studio 2019 B.MySQL 5.7 C.Windows 10 D.Office 2016 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;未作答 2.学习好Office办公软件这门课程&#xff0c;应该&#xff08; &#xff09;。 A.重视…

【渝粤教育】电大中专中药学基础作业 题库

试卷答案 1.首创按药物自然属性进行分类的本草著作是&#xff08;&#xff09;。 A.《神农本草经》 B.《本草经集注》 C.《本草纲目》 D.《新修本草》 E.《本草拾遗》 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;B 2.载药数最多的本草著作是&#xff08;&#xff…