我运行了以下方案:蚂蚁使得Java代码生成和使用soscmd API /工具,它检索从的SourceSafe系统资源。我知道他们是紧密结合的。我使用的Ant版本是1.6。因此,该版本不支持Subversion。我的Subversion服务器作为服务运行在远程机器上,我希望Ant能够使用Subversion检索源文件。我会怎么做?Subversion和Ant集成
1
A
回答
4
使用这里提供的SvnAnt任务 - http://subclipse.tigris.org/svnant.html
3
一旦你得到了svnant的东西,这些细节可以帮助你的方式休息。
我最常做的是从提取抢以下JAR:
- svnant.jar
- svnClientAdapter.jar
- svnjavahl.jar
,并将它们添加到文件夹在我的项目中,不是得到部署(即 - 他们只是由构建使用,而不是运行时)。
然后到我的Ant脚本我补充一下:
<path id="svntask.classpath">
<fileset dir="nonruntime_lib/svn">
<include name="*.jar"/>
</fileset>
</path>
然后:
<!-- SVN typedef -->
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svntask.classpath"/>
,然后让我添加任务调用类似:
<!-- svn export the web root & java -->
<svn>
<export srcUrl="http://your.svn/web" destPath="dist/web"/>
<export srcUrl="http://your.svn/src" destPath="tmp/src"/>
</svn>
不知道如果你需要所有那些JARs,但是“他们为我工作”。祝你好运,并随时回复其他问题/情况。
编辑
我不知道这是否与Subversion 1.7(我跑1.6)。
好了,所以这只是一个部分解决方案。出于某种原因,除了上面的注释之外,我还需要确保安装了SilkSVN。我不确定这是为什么。不幸的是,我现在没有时间去调查。
1
什么的两个答案下面所提到的,你可以使用SvnAnt;我建议将SvnKit指定为SvnAnt任务的svn客户端。
SvnKit是哪个OS所使用的流行的GUI svn客户端的SmartSVN作为碱纯Java svn客户端。所以如果你想写自己的任务,或者只是使用一些beanshell集成,你应该尝试svnkit。它也可用于Windows,Linux,Mac OS ...只要你有JRE。
P.S.
我曾经是一个SvnAnt用户,但现在我使用自己的代码来调用本地svn客户端,因为我只需要使用“svn info”和“svn update”。
我使用exec来调用本地的Linux svn客户端更新后车厢:
<exec executable="svn" dir="${trunk.dir}" failonerror="true">
<arg line="update -r ${to.rev} --username ${trunk.user} --password ${trunk.passwd} --depth infinity" />
</exec>
我用进程生成叫“SVN信息”,并从输出获得的实际版本号(一个定制Ant任务):
//java code for ant task
public void execute() throws BuildException {
//varible verifying codes ignored......
ProcessBuilder pb = new ProcessBuilder("svn","info");
//The native "svn" client doesn't support symbol link, so run it in the directory instead of specifying the directory as svn info's parameter.
pb.directory(_dirToTrunk);
//Make sure the output is English.
Map<String, String> env = pb.environment();
env.put("LANGUAGE","en_US.UTF-8:en");
Process p = null;
try {
p = pb.start();
//then get the output and parse the svn revision number.
}
//catch codes ignored
}
希望这会有所帮助。
相关问题
- 1. Eclipse和Ant集成
- 2. Subversion 1.7.5和svn-ant 1.3
- 3. ant/maven集成
- 4. Subversion(svn)与Apache的集成?
- 5. IBM Process Designer与Subversion集成
- 6. VS2010与Subversion的集成
- 7. 将Jasmin集成到Ant和Eclipse中
- 8. eclipse ant集成和代码格式化
- 9. JBoss Arquillian与Apache Ant和Junit的集成
- 10. Ubuntu subversion ANT构建问题
- 11. Junit Ant集成问题
- 12. Java -Ant集成问题
- 13. 我可以使用与Subversion 1.7的Delphi XE2 Subversion集成吗
- 14. Subversion集成票务/跟踪系统?
- 15. 使用Ant检出一个Subversion文件
- 16. 我的第一个Ant-Subversion Bamboo计划
- 17. 如何使用Ant集成Amazon Game Circle?
- 18. jenkins中的Ant-Junit集成错误
- 19. Sonar ANT任务集成错误
- 20. 用于Eclipse的Ant文档集成
- 21. 在Eclipse中集成Java项目与Ant
- 22. 让TeamCity将Subversion版本号集成到程序集版本
- 23. cobertura和ant的集成代码覆盖率
- 24. 为REST API集成声明和ant文档
- 25. 集成Junit和Ant的另一个简单问题
- 26. 如何在Jenkins中集成Ant与Checkstyle和PMD插件
- 27. 从Subversion生成更改日志日志并与Jira集成
- 28. 是否有可用于集成SQL代码和Subversion版本的工具/技术?
- 29. Subversion和AuthzSVNGroupsFile
- 30. Subversion和OAuth
是否与Subversion 1.7版本兼容? – lexeme 2011-12-16 14:32:12
SvnAnt的一个问题是...如果使用本地客户端,它将不支持符号链接,因为本地客户端不支持它。 – coolcfan 2011-12-19 08:38:36