从Ant Build演进Gradle Build:导入Ant Build文件

在大型项目上更改构建系统可能很困难并且需要大量工作。 幸运的是,对于那些将Ant版本迁移到Gradle版本的人,Gradle提供了特别方便的机制来促进这种迁移 。 由于Gradle基于Groovy构建,并且Groovy通过AntBuilder包含内置的Ant支持,因此Gradle构建可以使用AntBuilder调用Ant任务并运行Ant目标 。 但是,Gradle提供了一种更轻松的机制来从Gradle构建中引用现有的Ant目标,同时Gradle支持通过DefaultAntBuilder 导入Ant构建 ,而这正是本文的主题。

能够从新的Gradle构建中调用现有的Ant目标是有利的,因为它允许随着时间的推移进行迁移。 几乎所有的实际工作都委托给现有的Ant构建,您几乎可以立即开始使用Gradle。 然后,在时间和优先级允许的情况下,可以将不同的Ant任务替换为Gradle任务。

为了演示在Gradle构建中导入Ant构建有多么容易,我首先提供简化的Ant构建的代码清单。

蚂蚁构建文件:

<?xml version="1.0" encoding="UTF-8"?>
<project name="JavaArrays" default="all" basedir="."><description>Java Array Utility Functions</description><property name="javac.debug" value="true" /><property name="src.dir" value="src" /><property name="dist.dir" value="dist" /><property name="classes.dir" value="classes" /><property name="javadoc.dir" value="${dist.dir}/javadoc" /><property name="jar.name" value="javaArrays.jar" /><property name="jar.filesonly" value="true" /><path id="classpath"></path><target name="-init"><mkdir dir="${classes.dir}" /><mkdir dir="${dist.dir}" /></target><target name="compile"description="Compile the Java code."depends="-init"><javac srcdir="${src.dir}"destdir="${classes.dir}"classpathref="classpath"debug="${javac.debug}"includeantruntime="false" /></target><target name="jar"description="Package compiled classes into JAR file"depends="compile"><jar destfile="${dist.dir}/${jar.name}"basedir="${classes.dir}"filesonly="${jar.filesonly}"></jar></target><target name="all"description="Compile Java source, assemble JAR, and generate documentation"depends="jar, javadoc" /><target name="javadoc" description="Generate Javadoc-based documentation"><mkdir dir="${javadoc.dir}" /><javadoc doctitle="Examples of Java Array Utility Functions"destdir="${javadoc.dir}"sourcepath="${src.dir}"classpathref="classpath"private="true"author="Dustin" /></target><target name="clean" description="Remove generated artifacts."><delete dir="${classes.dir}" /><delete dir="${dist.dir}" /></target></project>

上面的Ant构建文件具有一些相当典型的目标,它们的名称如“ compile”,“ jar”,“ javadoc”和“ clean”。 所有这些功能都可以导入Gradle构建文件中。 下一个代码清单是完成此操作的完整Gradle构建文件。

导入Ant

ant.importBuild 'build.xml'

上面显示的单行Gradle构建文件将导入前面显示的Ant构建文件。 在以下屏幕快照中可以很容易地看出其效果。 初始屏幕快照显示,单行的Gradle构建文件使“ arrays”项目可用于Gradle构建以及“所有”和“清理”的“其他任务”以及与那些Ant目标相关的描述。

gradleImportedAntProjectTasks

可以使用gradle tasks --all全部查看所有Ant目标,包括诸如“编译”,“ jar”和“ javadoc”之类的依赖目标。 下一个屏幕快照对此进行了演示。

gradleImportedAntProjectAllTask​​s

下一个屏幕快照演示了如何从Gradle构建中运行默认的“全部”目标。

gradleImportedAntProjectAllTargetsRun

正如构建清单和图像所示,将现有的Ant构建导入Gradle构建是一个简单的过程。

参考: 从Ant Build演变为Gradle Build:在Inspired by Actual Events博客中从我们的JCG合作伙伴 Dustin Marx 导入Ant Build文件 。

翻译自: https://www.javacodegeeks.com/2014/01/evolving-gradle-build-from-ant-build-importing-ant-build-file.html

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

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

相关文章

HTML5 之 简单汇总

参考&#xff1a; HTML5的十大新特性 前端面试必备之html5的新特性 HTML5 主要内容&#xff1a;语义化、增强型表单、多媒体标签、Canvas、SVG、地理定位、拖放API、Web Worker、Web Storage、WebSocket、HTML 5 应用程序缓存 1.语义化元素 1.1结构元素 标签描述article表示与上…

个人信息管理系统代码_Thymeleaf+SpringBoot+Mybatis实现的易游网旅游信息管理系统...

项目简介项目源码&#xff1a;麻烦转发后关注JAVA梦想口服液私信回复【源码】即可获取&#xff01;本系统是基于ThymeleafSpringBootMybatis。是非常标准的SSM三大框架(SpringBoot就是一个大框架&#xff0c;里面包含了许多的东西&#xff0c;其中Spring就是最核心的内容&#…

被问到有没有内核开发经验_一个人就是一个开发团队!成电硬核毕业生自制迷你电脑走红!...

△小视频近日&#xff0c;一段长3分多钟的小视频在B站突然爆红&#xff0c;不仅登上首页&#xff0c;获得超过200万的播放量&#xff0c;还被众多观众“膜拜”。有网友在评论区说&#xff1a;“其实这些东西吧&#xff0c;外行看起来很牛&#xff0c;但我这种内行看起来&#x…

matlab2010a连接mysql_MATLAB2010a+OpenCV2.3.1+VS2010运行TLD

出现matlab不显示C编译器的原因主要还是当前Matlab版本相对于VS来说不够新&#xff0c;比如14版的肯定支持10的VS。 本文引用地址&#xff1a; http://blog.csdn.net/shanpohe/article/details/7596401 http://blog.sina.com.cn/s/blog_adfd55190101ejvr.html TLD(Tracking Lea…

更改span标签样式_CSS 内嵌样式

前面一节我们讲了行内样式&#xff0c;但是行内样式的缺点就是样式不能重用。例如当有好多个 标签&#xff0c;我们希望所有的 标签的样式都一致&#xff0c;那么需要在每个标签中都写一遍&#xff0c;这么会很麻烦&#xff0c;也会增加很多代码。那么为了解决这个问题&#…

mysql 6安装当前密码_MySQL8.0 安装踩坑指南

就在昨天上午&#xff0c;刚为云服务器安装好Apache2.4.33和PHP7.2.4环境&#xff0c;准备再来一个最新的MySQL5.7.22。寻找5.7版本的rpm包时下到mysql80xxx.rpm&#xff0c;看人家的教程是mysql57&#xff0c;难道80是MySQL出出…出了8版&#xff0c;一搜新闻2个小时前MySQL发…

Elasticsearch环境搭建和介绍(Windows)

一、Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网&#xff1a;https://www.elastic.co/cn/ Elastic有一条完整的产品线&#xff1a;Elasticsearch、Kibana、Logstash等&#xff0c;前面说的三个就是大家常说的ELK技术栈。 Elasticsearch Elasticsearch官网&#xff1…

Jar Hell变得轻松–用jHades揭秘classpath

Java开发人员将不得不面对的最困难的问题是类路径错误&#xff1a; ClassNotFoundException &#xff0c; NoClassDefFoundError &#xff0c;Jar Hell&#xff0c; Xerces Hell和company。 在本文中&#xff0c;我们将探究这些问题的根本原因&#xff0c;并了解最小的工具&am…

程序控制发送文件到邮箱_Kindle电子邮箱推送

Kindle 推送支持的格式目前 Kindle 推送仅支持以下几种格式。需要注意的是&#xff0c;AZW 和 AZW3 是两种不同的格式&#xff0c;虽然这两种格式 Kindle 设备都支持阅读&#xff0c;但是亚马逊的个人文档服务支持推送 AZW 但是不支持 AZW3。Kindle 格式 (.mobi 或 .azw) * 推荐…

mysql的英文字母_MySQL中查询的有关英文字母大小写问题的分析

mysql数据库在做查询时候&#xff0c;有时候是英文字母大小写敏感的&#xff0c;有时候又不是的&#xff0c;主要是由mysql的字符校验规则的设置决定的&#xff0c;通常默认是不支持的大小写字母敏感的。1. 什么是字符集和校验规则&#xff1f;字符集是一套符号和编码。校对规则…

写接口给别人调用 推送数据到我们_我们写了一个超好用的抖音矩阵数据管理工具...

我最近跑了十来个抖音号&#xff0c;遇到一些问题&#xff0c;然后通过我们NB的程序员解决了。如果你也在做抖音矩阵&#xff0c;那这些问题你肯定也会遇到&#xff0c;所以我把解决问题的方法工具化了&#xff0c;给大家用。我遇到的最大的问题&#xff0c;就是账号数据的同步…

angular 拼接html 事件无效

主要是要引用$compile方法 更多专业前端知识&#xff0c;请上 【猿2048】www.mk2048.com

更好地利用Pmd,Findbugs和CheckStyle的结果。

我们可以列举许多Java静态分析工具&#xff0c;每种工具都专注于特定领域并具有其优势&#xff0c;我们可以列举一下&#xff1a; Pmd是基于静态规则集的Java源代码分析器&#xff0c;它识别潜在的问题&#xff0c;例如&#xff1a; 可能的错误-空的try / catch / finally / s…

Java基础知识(数据类型和集合)

一、数据类型 包装类型 包装类型是对基本数据类型不足之处的补充。 基本数据类型的传递方式是值传递&#xff0c;而包装类型是引用传递&#xff0c;同时提供了很多数据类型间转换的方法。 Java1.5 以后可以自动装箱和拆箱 二、集合 List&#xff1a;有序、可重复。可以通过索引…

mfc使用cef源代码实现_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

很多小游戏都是由源代码编写而成的&#xff0c;那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有&#xff0c;如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解一下相关的内容吧。   源代码组合包括哪些   源代码作为软件的特殊部分&#…

机器学习过程中欠拟合和过拟合的诊断及解决方法

1.Diagnosing bias vs. variance 2.Regularization and bias/variance 3.Learning curves 4.Deciding what to try next 转载于:https://www.cnblogs.com/CoolJayson/p/9704385.html

angularJS解决数据显示闪一下的问题?-解决办法

转自&#xff1a;https://www.cnblogs.com/e0yu/p/7219930.html?utm_sourceitdadao&utm_mediumreferral#undefined 使用 angular JS 的时候&#xff0c;把 angularJS 放到文件底部&#xff0c;在渲染页面的时候&#xff0c;会出现闪一下的情况&#xff1a; 解决办法一&a…

定时运行python脚本并发送邮件_python实现定时发送邮件到指定邮箱

本文实例为大家分享了python实现定时发送邮件到指定邮箱的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下整个链路&#xff1a;传感器采集端采集数据&#xff0c;边缘端上传数据库&#xff0c;从数据库拿到数据。产品端有个自动出报告的需求&#xff0c;并且希望自动…

php异常处理机制

转自&#xff1a;https://www.cnblogs.com/water0729/p/5802476.html php异常我们常接触到的就是error错误码1&#xff0c;warning错误码2&#xff0c;notice错误码8这三类。出现error了系统是挂掉了&#xff0c;但是warning和notice是我们可以捕捉并处理的 php配置项display_e…

IDEA中使用Maven

Maven的安装与使用 安装 1、下载&#xff0c;官网下载。 2、解压&#xff0c;存放路径中不可包含空格和中文。如&#xff1a;"E:\dev\workspace\maven\apache-maven-3.6.0" 3、配置本地仓库&#xff0c;进入 "conf/settings.xml" 中&#xff0c;在 setting…