码迷,mamicode.com
首页 > Web开发 > 详细

Apache Ant学习总结(三):使用svnant对SVN进行操作

时间:2016-06-17 17:47:39      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:ant svn svnant

在多人协作的项目中,我们常用的代码管理和版本控制系统估计就是SVN和Git了,针对SVN上的代码我们可以通过编写Ant脚本实现对SVN上的文件的管理,同时还可以实现自动从SVN下载代码并编译和发布到Tomcat中。在这里,普通的Ant脚本是不能胜任这项工作的,这时就需要用到一个辅助的项目svnant了。使用方式如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="commit" basedir=".">
	<property name="svn-url"
		value="svn://192.168.1.100/xxxx/branches/T20160422" />
	<property name="svnant_dir" value="D:\\apache-ant-1.9.7\\lib" />
	<property name="svn.user" value="admin" />
	<property name="svn.password" value="admin" />
	
	<tstamp>
		<format property="buildtime"  pattern="yyyy-MM-dd-HH:mm:ss"/>
	</tstamp>

	<path id="svnant.classpath">   <!-- 定义一个PATH元素,告诉ANT 到哪找SVNANT的类库 -->
		<pathelement location="${svnant_dir}/svnant.jar" />  <!-- SVNANT顶层包 -->
		<pathelement location="${svnant_dir}/svnClientAdapter.jar" /> <!-- SVNANT 与SVN通讯的适配器包 -->
		<pathelement location="${svnant_dir}/svnjavahl.jar" /> <!-- SVNANT与SVN 通讯的JAVA BRIDGE包 -->
		<!-- ... -->
	</path>

	<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
		classpathref="svnant.classpath" />  <!--引用 svnantlib.xml ,其中定义了ANT的SVN命令,见下方详解。 -->

	<svnSetting javahl="false" svnkit="true" username="${svn.user}"
		password="${svn.password}" id="svn.settings" />

	<!-- checkout -->	
	<target name="checkout">
		<svn refid="svn.settings">  <!--引用上面定义的svnSetting ,新的设置SVN属性方式 -->
			<checkout recurse="true" url="${svn-url}" destPath="test1" />
		</svn>
		<echo message="checkout success" />
	</target>

	
	<target name="commit" depends="checkout">
		<!-- 清空所有 -->
		<svn refid="svn.settings">  					
			<delete>
				<fileset file="test1/*" />
			</delete>
			<commit dir="test1" message="清空 ${buildtime}"/>
		</svn>
		<echo message="delete success" />
		
		<!-- 复制文件 -->		
		<copy todir="test1/addtest"> 
			<fileset dir="addtest"/>
		</copy>		
		<echo message="copy success" />
		
		<!-- 提交 -->
		<svn refid="svn.settings">  			
			 <add dir="test1/addtest"/>  
			 <commit dir="test1" message="测试提交 ${buildtime}"/>  
			
		</svn>
		<echo message="commit success!" />
	</target>

</project>

注:

  1. 关于Ant脚本的一些基础语法可以参考我的这篇文章:http://www.zifangsky.cn/444.html

  2. 如果想要了解更多的关于svnant的一些参数用法,可以参考这个网页:http://subclipse.tigris.org/svnant/svntask.html

  3. 针对从SVN上checkout下来的代码,如果想要编写Ant脚本实现自动化编译并发布到Tomcat中,可以参考下我的这篇文章:http://www.zifangsky.cn/449.html


本文出自 “zifangsky的个人博客” 博客,请务必保留此出处http://983836259.blog.51cto.com/7311475/1790140

Apache Ant学习总结(三):使用svnant对SVN进行操作

标签:ant svn svnant

原文地址:http://983836259.blog.51cto.com/7311475/1790140

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!