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:
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
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.
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 topublishivy="true"
. Which is correct? Where does the ivy.xml file come in w/r/t putting a copy of it into the repository?