自定义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>
			<fileset dir="${wksp}">
				<include name="**/pom.xml" />
			</fileset>
		</pomDependencyVerifier>
	</target>
 

 

最后 附上这个  POMDependencyVerifier 类 的 代码 。

 

你可能感兴趣的:(MAVEN TASK)