本实例主要讲述如何对ant build.xml进行定制,以java方式实现其相关功能,方便进行拓展定制自定义任务
关于最简单的Ant customize例子,网上应该有很多实例,这里直接上一个例子,见资源AntCustomizeTask.rar,可直接下载运行build.xml即可。下面进入正题
一、关于build自带命令java实现,如delete,java,javac,mkDir,zip等
通过读ant.jar源码我们发现,在ant.taskrefs包目录下,存在我们需要的各种实现实例下面以mkdir,javac为例,讲述如何利用ant的API在java中实现这2个命令
1.mkdir
public static void makeDir(String source) {
Mkdir mkDir = new Mkdir();
Project project = new Project();
project.init();
mkDir.setProject(project);
mkDir.setTaskName("mkdir");
mkDir.setDescription("mkDir");
mkDir.setDir(new File(source));
mkDir.execute();
}
通过测试我们发现,直接通过构建包目录下Mkdir命令即可很方便实现改命令
2.javac
public static void javac(Path srcdir, String destDir, String excludes, Path classpath) {
Javac javac = new Javac();
Project project = new Project();
project.init();
javac.setProject(project);
javac.setFork(true);
javac.setTaskName("javac");
javac.setDescription("javac");
javac.setSrcdir(srcdir);
javac.setDestdir(new File(destDir));
javac.setExcludes(excludes);
javac.setClasspath(classpath);
javac.execute();
}
这里需要注意的是,其中classPath,由于我们通常不同项目都是需要依赖不同jar,所以该参数我们一般通过ant文件中自定义,后端通过ant中的path id去做传递,通过以下API即可获取ant中定义的名为lib.classpath的路径:
this.getProject().getReferences().get("lib.classpath").toString()
二、关于如何实现定制的antTask的java单元测试
我们通过查找ant相关文档发现,他提供了一个JUnit Rule org.apache.tools.ant.BuildFileRule,通过该providers我们可以轻松实现ant脚本的单元测试问题
下面附上ant官方自带给出的ant单元测试实例:见HelloWorldTest.rar
有了以上功能,我们可以轻松通过ant满足各种定制化的环境部署要求,保障开发和运维的协同
对于实现企业内部DevOps管理可以有比较大的帮助
交流可邮件yudeli@cn.ibm.com
本文系原创,转载请联系作者
分享到:
相关推荐
Ant自定义Task简单实例,可直接完整下载运行,依赖jar均包含
Ant+Junit+Svn实现自动单元测试
eclipse下利用ant、junit进行自动化测试例子源码
NULL 博文链接:https://qn-lf.iteye.com/blog/752456
ant 的自定义任务,自己总结的,觉得比较设和初学者
NULL 博文链接:https://blue2031.iteye.com/blog/1145484
sonar-ant-Task2.1.jar 最新的ant和sonar集成的代码质量检测和发布的核心jar包!测试工具必备!
sonarqube开发ant插件,sonar-ant-task-2.2.jar ,最新的ant和sonar集成的代码质量检测插件。
NULL 博文链接:https://bruce008.iteye.com/blog/1513974
标签:ant-task-1.3.2.jar.zip,ant,task,1.3.2,jar.zip包下载,依赖包
ant 任务 jar 包,有些 java 开源项目依赖 sonar-ant-task-2.1.jar 包构建,如 nutch。使用方法,下载后解压为 .jar 文件,复制到 ant/lib/ 目录下即可使用。
Ant Task手册
ANT单元测试build.xml
ant junit report 自定义
antdv ant-design-vue 自定义主题颜色
sonar-ant-task-2.1.jar.............................
标签:antTask.jar.zip,antTask,jar.zip包下载,依赖包
[北京圣思园Ant深入详解]_004.实现自定义Ant任务
NULL 博文链接:https://xujava.iteye.com/blog/1771597