`
流浪鱼
  • 浏览: 1682984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用svnant插件让ant支持从svn更新项目

    博客分类:
  • ant
 
阅读更多

使用svnant插件支持从svn服务器中更新最新代码,需要注意的是使用svnant插件的时候必须保证你的机子安装了svn客户端,svnant本质是执行svn客户端命令的

svnant的官方网站为:

http://subclipse.tigris.org/svnant.html

svnant可支持的命令为(下面的图是从svnant-1.3.1\doc\svntask.html截出来的,具体可以查看该文件):

编写的build.xml内容为:

<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="checkoutProject" name="testSvn">
	<!--http://subclipse.tigris.org/svnant.html  需要svnant插件地址-->
	<!-- 关于svn属性的定义在build.properties --> 
	<property file="build.properties" /> 
	<!-- path to the svnant libraries. Usually they will be located in ANT_HOME/lib -->
	<path id="svnant.classpath">
		<fileset dir="${svnantlib.dir}">
		  <include name="**/*.jar"/>
		</fileset>
	 </path> 
	
	<!-- load the svn task 加载SVN的jar包,使他可以调用系统的svn命令-->
	<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />
	<!-- 设置svn相关属性 从svnant1.3.1以后必须使用svnSetting来设置svn的属性即用户名和密码等 -->  
    <svnSetting id="svn.setting" svnkit="true" username="${innofund.repository.user}" password="${innofund.repository.passwd}"  javahl="false" />

	<target name="clean">
		<description>删除生成的项目文件夹</description>
		<delete dir="${project.name}" />
	</target>

	<target name="checkoutProject" depends="clean">
		<description>检出新项目含svn信息,经过试验没有发现有svn相关信息</description>
		<echo message="从svn${innofund.url}检出代码开始" />
		<svn refid="svn.setting">
		  <checkout url="${innofund.url}" revision="HEAD" destPath="${project.name}" />
		</svn>
		<echo message="从svn${innofund.url}检出代码完成" />
	 </target>


	<target name="exportProject" depends="clean">
		<description>导出新项目没有svn信息</description>
		<echo message="从svn${innofund.url}导出代码开始" />
		<svn refid="svn.setting">
		  <export srcUrl="${innofund.url}" revision="HEAD" destPath="${project.name}" force="true"/>
		</svn>
		<echo message="从svn${innofund.url}导出代码完成" />
	 </target>

</project>

 注意:从1.3.1以后设置svn服务器的相关属性需要使用svnSetting属性

我已经把svnant插件的api上传了见附件doc.rar

我测试的代码见附件antsvn.rar

 

 

 

 

 

  • 大小: 48 KB
  • doc.rar (24.5 KB)
  • 下载次数: 75
分享到:
评论

相关推荐

    Ant SVN依赖JAR包

    5. **其他SVN操作**: `svnant`任务支持多种SVN操作,如更新(`update`)、提交(`commit`)、标签(`copy`,用于创建版本标签)和回滚(`revert`)等。只需在`build.xml`中相应地定义这些任务。 6. **注意事项**: ...

    ant svn插件jar包

    这个插件通常以jar包的形式存在,例如在给定的"antsvn"压缩包中。为了使用这个插件,你需要将jar包添加到Ant的类路径中。这样,你就可以在Ant构建文件中声明新的任务,比如`&lt;svn&gt;`,并配置相关属性来执行SVN命令。 ...

    svnant-1.1.0-RC2.zip

    3. 使用示例:下面是一个简单的示例,演示如何使用svnant-1.1.0-RC2从SVN仓库检出代码: ```xml &lt;typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="path/to/svnant-1.1.0-RC2.jar"/&gt; ...

    svnant-1.3.1所有的jar包

    不过,需要注意的是,随着技术的发展,SVNANT可能已经过时,最新的项目可能转向使用Gradle或Maven等更现代的构建工具,并利用它们的插件系统进行版本控制。尽管如此,对于仍在使用Ant的项目,SVNANT仍然是一个宝贵的...

    svnant-1.30.zip

    这个"svnant-1.30.zip"压缩包包含了SVN Ant插件的1.3.0版本,允许用户通过Ant任务来执行各种SVN命令,如版本控制、提交、更新、导出和合并等。 首先,我们需要了解SVN(Subversion)的基本概念。SVN是一个开源的...

    CruiseControl学习教程.pdf

    - **svnant**:这是一个Ant插件,用于在Ant构建脚本中执行Subversion操作,如获取最新代码。 - **VisualSVN server**:如果你选择使用Subversion,VisualSVN Server是Windows平台上的一个易于管理的Subversion服务器...

Global site tag (gtag.js) - Google Analytics