I am trying to setup my first Ivy-powered build and am running into implementation problems, and that i seem like I do not completely understand Ivy terminologies &lifier guidelines, despite the fact that I have spent a lot of time reading through the state paperwork and numerous articles.

I've got a SVN server that I wish to use because the central repository its my projects. I actually do not desire to use any public databases! After I require a JAR, I'll pull it lower in one of individuals public repos, operate a checksum for security, after which push it to my SVN server (wherebyit is going to be considered to become a "licensed" version from the JAR by licensed, I truly mean "safe").

(1) I would like all my projects to talk about exactly the same ivy-configurations.xml file. Will I put this during my SVN root, or somewhere inside SVN which makes sense? Here was my tentative thinking:

svn://MyRepoRoot/
    ivy/
        ivy-settings.xml
        artifacts/
    Project1/
        trunk/
            ivy.xml
            ...
        branches/
        tags/
    Project2/
        ...
    ...

The ivy/ directory would have a master copy of my ivy-settings.xml file. It might also contain an artifacts subdirectory where all my "licensed" JARs/WARs would go (in addition to any guides my projects produce for downstream modules). Can One request commentary?

(2) Also, something which I am simply not getting, is that if all of my projects (modules) get their own ivy.xml file, and that i want that file to reference the "global ivy-settings.xml file, that ought to go ahead and come under its very own, non-module-related versioning plan, how do you pull lower, say, Project1's trunk as my working copy, but configure it using the configurations file which isn't even an element of the same SVN project?!?

Because of anybody who are able to give us a little practical advice and clearness!

The ivysettings.xml isn't recommended within the ivy.xml. You'll need the ivysettings.xml inside your ant tasks to obtain the defined resolver, which resolve the items defined within the ivy.xml.

ivy.xml defines the dependencies and ivysettings.xml the (local) runtime atmosphere for ivy. You are able to alter the ivysettings.xml anytime without have to edit the ivy.xml files.

The ivysettings.xml must be recommended in yout (ant) build.xml in ivys <settings /> task.

For design. I personally use exactly the same approach and delay pills work acceptable for me. I authored my antfiles, to ensure that I have to possess the ivy folder examined parallel to my project(s).

Another approach might be svns externals. However I never attempted that.

In case your svn has access over http you might make use of the url parameter from the task to gain access to ivysettings.xml.