I'm trying to use the ivy:install task to install Google Guava (and its
dependencies) into a local filesystem-based repository.

My ivy settings.xml file defines the repo like this:

    <filesystem name="local-repository">
            <ivy
pattern="${ivy.settings.dir}/repo/[organisation]/[module]/ivys/ivy-[revision].xml"/>
            <artifact
pattern="${ivy.settings.dir}/repo/[organisation]/[module]/[conf]/[type]s/[artifact]-[revision].[ext]"/>
    </filesystem>

When I run the ivy:install task to install  com.google.guava:guava:11.0.2,
everything goes smoothly.  Dependencies are detected, downloaded and placed
on disk, along with the ivy.xml files generated from maven .pom files.

I'll also need guava-gwt for some projects, so I continue by also running
ivy:install for com.google.guava:guava-gwt:11.0.2.

However, this results in
repo/com.google.guava/guava/default/jars/guava-11.0.2.jar being
overwritten!  In fact, it's getting overwritten by a copy of
repo/com.google.guava/guava/default/sources/guava-11.0.2.jar, and I'm not
sure why.

Theories:

 1. I've somehow misconfigured my local ivy repository which is resulting
in name collisions.
 2. There's something in the guava-gwt .pom file that's causing this to
happen in Ivy.
 3. There's a bug in Ivy that can't handle depending on sources in .pom
files.


For #1, I tried reading the ivy documentation re: configuring filesystem
repositories.  My configuration was already taken from the sample in the
documentation.  I thought maybe the docs skimmed over some details, but
didn't find any more documentation on patterns.  I ended up reading some
source code and coming to the conclusion that nope, I'm already specifying
all the pattern elements that I can.

For #2, I read the .pom in question[1] but I don't see anything out of the
ordinary.  Guava-gwt does depend on guava with classifier "sources" but
that seems to be provided by the source jar already installed in the repo.

#3 seems unlikely.  Surely other people are depending on source
configurations and would've found that already?

I guess I should mention this is Ivy 2.2.0, Ant 1.8.2,  Sun/Oracle Java
1.6.0_26

Thanks in advance for the help!  :)

[1]:
http://search.maven.org/remotecontent?filepath=com/google/guava/guava-gwt/11.0.2/guava-gwt-11.0.2.pom

Reply via email to