If you would like to keep the 3rd party dependencies in Subversion and
not have to set up a separate http repository you could also use the
Subversion resolver for Ivy:
http://code.google.com/p/ivysvn/
You will still need to spend time setting up the repository structure in
Subversion, committing all the files with the right revision etc. This
is a bit of work at first but well worth it once you reach some sort of
"critical mass" after which you will only occasionally need to add new
versions of things.
Mathew Joseph wrote:
Hello there,
The 3rd party dependencies that our project depends on are stored in
subversion and are retrieved as part of an svn checkout along with the
source code. Dependency management is non existent. We are about to
migrate to an IVY based system and I wanted to know what is the
experience of people who might have attempted something similar.
Steps I will need to take.
1. Identify exact version number of the dependencies and transitive
dependencies that we are using
2. Move them into a maven or custom repository format hosted either in
subversion or plain file system served by http.
I believe the idea is to ensure that I only resolve the first level
dependency in my scripts and all transitive dependencies are pulled in
by IVY. However, this means my custom repository needs to have either
via pom.xml or ivy.xml defined for all first level dependencies.
I was wondering that it will be very time consuming for me to recreate
the artifact repository from scratch. Do you guys think it makes sense
to create a ivy.xml with version numbers and have ivy resolve them from
a public repository. Once I do a retrieve, I then use the local cache as
the first version of my custom repository and then start adding in all
the dependencies that I did not find in public repos. This will ensure
the repository has ivy.xml for all dependencies.
Then close out ivysettings.xml to use only the internal http resolver as
opposed to looking out in public repos.
I am more inclined to use a maven repository style as opposed to a
custom one since I can then use maven repository managers to handle
proxying and mirroring other public repos.
My thoughts are a bit random on this, but I hope you get the general
picture..
regards,
Mathew Joseph
Build & Release Engineer
Bravura Solutions