Hi, I am in the process of building a local Ivy repository from public Maven sources, as outlined in the tutorial here: http://ant.apache.org/ivy/history/latest-milestone/tutorial/build-repository/advanced.html
I've been using an IBiblio resolver (primarily against http://repo1.maven.org/maven2/, but also a few others as needed). It has been going pretty well overall, but a consistent source of confusion on my part is dealing with revision mismatches. By this, I mean some module A depends on a revision of module B that doesn't exist, but an essentially identical one does. As an example, one of the transitive dependencies for org.apache.activemq#activemq-core;5.3.0 is groovy#groovy-all;1.0-jsr-03. However, the revision in the actual POM for that module (http://repo1.maven.org/maven2/groovy/groovy-all/1.0-jsr-03/groovy-all-1.0-jsr-03.pom) gives a revision of "03". So when I attempt to install org.apache.activemq#activemq-core;5.3.0 with transitive dependencies, Ivy fails with "inconsistent module descriptor file found in 'http://repo1.maven.org/maven2/groovy/groovy-all/1.0-jsr-03/groovy-all-1.0-jsr-03.pom': bad module name: expected='groovy-all' found='groovy-all-1.0-jsr'; bad revision: expected='1.0-jsr-03' found='03'" Adding a rule to the namespace used by the resolver would seem to be futile here, since the revision actually is "1.0-jsr-03", based on the directory structure. The only workaround I've found is to copy the files to a local filesystem and use a chained resolver that attempts the filesystem first, then the standard public Maven repos (via the IBiblio resolver). Another related case is commons-attributes#commons-attributes-compiler;2.2, where the POM (http://repo1.maven.org/maven2/commons-attributes/commons-attributes-compiler/2.2/commons-attributes-compiler-2.2.pom) has revision "2.1" instead of the expected "2.2". Attempting to install this module fails with a similar error. Any suggestions on how to deal with cases like these? Thanks for your time.
