tags:

views:

6

answers:

0

I'm looking at using ivysvn to help us use a local ivy repository in our svn repository.

I found this tutorial which I found easy to follow, and almost works, except for 3 points:

  1. The tutorial has a blank username and password. How can I get this to work with our SVN repository (which does not allow anonymous commits) without having to put my username and password in the ivysettings.xml or build.xml? The closest I could think of was to use in 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>
    

    and then at the command prompt do

    ant -Dsvn.user.name={{{deleted}}} -Dsvn.user.password={{{deleted}}} publish 
    
  2. I thought the organization of the repository was as follows (for example suppose the server URL is http://someserver/svn/cache/ivy , the organization is Yoyodyne, and the module is HappyFunBall)

    http://someserver/svn/cache/ivy/
      Yoyodyne/
        HappyFunBall/
          1.0/
            ivy.txt
            libraries here
    

    This would imply in ivysettings.xml

        <ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="[organisation]/[module]/[revision]/[artifact].[ext]"/>
    

    and not

        <ivy pattern="[organisation]/[module]/[revision]/ivy.xml"/>
        <artifact pattern="[organisation]/[module]/[artifact].[ext]"/>
    

    Which is correct? Ideally there would be a mapping of SVN version # to artifact revision, and then you wouldn't need to create [revision] directories, but something doesn't make sense.

  3. The blog post had, in the source project, an ivy.xml file with this:

     <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>
    

    and I think I understand all of it except for the publishivy="false" part, since the retrieval part wouldn't work except when I changed it to publishivy="true". Which is correct? Where does the ivy.xml file come in w/r/t putting a copy of it into the repository?