【发布时间】:2011-04-28 21:25:08
【问题描述】:
我正在考虑使用 ivysvn 来帮助我们在 svn 存储库中使用本地 ivy 存储库。
我发现了这个tutorial,我觉得它很容易理解,并且几乎可以工作,除了 3 点:
-
本教程的用户名和密码为空白。我怎样才能让它与我们的 SVN 存储库(不允许匿名提交)一起工作,而不必将我的用户名和密码放在 ivysettings.xml 或 build.xml 中?我能想到的最接近的是在 ivysettings.xml 中使用:
<svn name="ivysvn" repositoryRoot="{{{deleted}}}" userName="${svn.user.name}" userPassword="${svn.user.password}" binaryDiff="false"> <ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[artifact].[ext]"/> </svn>然后在命令提示符下执行
ant -Dsvn.user.name={{{deleted}}} -Dsvn.user.password={{{deleted}}} publish -
我以为仓库的组织是这样的(比如假设服务器URL是http://someserver/svn/cache/ivy,组织是Yoyodyne,模块是HappyFunBall)
http://someserver/svn/cache/ivy/ Yoyodyne/ HappyFunBall/ 1.0/ ivy.txt libraries here这意味着在 ivysettings.xml 中
<ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[revision]/[artifact].[ext]"/>而不是
<ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/> <artifact pattern="[organisation]/[module]/[artifact].[ext]"/>哪个是正确的?理想情况下会有 SVN 版本 # 到工件修订的映射,然后您不需要创建 [revision] 目录,但有些东西没有意义。
-
该博文在源项目中有一个 ivy.xml 文件,其中包含:
<ivy:publish resolver="ivysvn" forcedeliver="true" overwrite="true" publishivy="false"> <!-- defines the location from where the libraries are to be picked up from for publishing --> <artifacts pattern="lib/[artifact].[ext]"/> </ivy:publish>我想我理解了除了
publishivy="false"部分之外的所有内容,因为除非我将其更改为publishivy="true",否则检索部分将不起作用。哪个是对的? ivy.xml 文件在哪里出现 w/r/t 将其副本放入存储库?
【问题讨论】: