自定义ant task 验证POM文件版本依赖
经常在项目里要涉及到N个Maven 项目之间有依赖, 常见的是 EAR, WEB 依赖Service; Service 依赖Persistence; Persistence 依赖 DOMAIN 项目。 项目要求只要代码修改,Snapshot 版本就需要升高, 但是经常开发人员会遗忘在相应的依赖工程中的POM 文件的修改。 ?
采用ant 的原因是因为另外一个同事写了 ant build 脚本 自动将N个项目打包, scp 到Websphere server 相应的自动部署文件夹里。 ?所以就想到在ant build 脚本 ?checkout 了这N个项目的代码之后 先做个校验。?
?
写ant 脚本的机会比较多 但是扩展 ant task 的机会 还真不多。从头开始:
?
1, ?在项目中 加入 ant 的 dependency;
?
2, ? ?extends ?Task。 ?然后override ?execute 方法;
?
3, ?如果不成功, 抛出new BuildException (String ?exceptionMessage) 异常即可 ;
?
?
4, ? 将这个 类 打成一个 jar 扔到 ?$ANT_PATH/lib 下面。
?
5, 在buildd.xml 中 通过 ?taskdef 来定义 task。比如:
?
<taskdef name="pomDependencyVerifier" classname="POMDependencyVerifier" />
?
?
6, ?使用 :
? ??<target name="pomDependencyVerify">
??
最后 附上这个 ?POMDependencyVerifier 类 的 代码 。
?