ivysvn:文件组织和密码

时间:2010-10-21 22:18:09

标签: svn ivy

我正在使用ivysvn来帮助我们在svn存储库中使用本地ivy存储库。

我发现这个tutorial我觉得很容易理解,除了3分外几乎可以工作:

  1. 本教程有一个空白的用户名和密码。如何使用我的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 
    
  2. 我认为存储库的组织如下(例如,假设服务器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]目录,但是没有意义。

  3. 博客文章在源项目中有一个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将它的副本放入存储库?

1 个答案:

答案 0 :(得分:0)

哇,这是很多东西。洛尔

关于你的最后一个问题:

  

ivy.xml文件在w / r / t中的位置将它的副本放入存储库?

ivy.xml文件(比如pom.xml文件)可以告诉ivy关于每个工件的“东西”。常春藤怎么会知道在哪里找到每个JAR的依赖关系?

因此,作为一个广泛的一般性陈述,ivies被排除在存储库之外,其中1)由于某种原因或其他传递依赖关系无关紧要(依赖关系的依赖关系)或2)传递依赖关系是通过其他方式确定的(例如,mvnrepo)。

如果没有深入到你的特定情况的深处,我会说这个工具的创造者必须有一些理由觉得你不需要这些。

我希望我已经解决了关于从存储库中排除ivies的问题。