Hi.

I have Maven2 style repository with namespace elements in ivyconf.xml as in
the examples coming with ivy. The namespaces mainly deal with apache
namespace organisation/module pairs, e.g. converts
commons-logging/commons-logging to apache/commons-logging.

In normal operation the namespace conversion works fine.

The problem is in ivy:install when I request "transitive='true'".

The debug log I get is:
[ivy:install] WARN:     ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:install] WARN:     ::          UNRESOLVED DEPENDENCIES         ::
[ivy:install] WARN:     ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:install] WARN:     :: [ axis | axis | 1.1 ]: inconsistent module
descriptor file found in
'/home/ivy-repository/thirdparty-maven-style/axis/axis/1.1/axis-1.1.pom':
bad organisation: expected='axis' found='apache';
[ivy:install] WARN:     ::::::::::::::::::::::::::::::::::::::::::::::

The POM header is:
<project>
 <modelVersion>4.0.0</modelVersion>
 <groupId>axis</groupId>
 <artifactId>axis</artifactId>
 <version>1.1</version>
  ...

The ivyconf.xml section is:
   <resolvers>
       <filesystem name="thirdparty">
           <ivy pattern="${ivy.thirdparty.default.root}/${
ivy.thirdparty.default.ivy.pattern}" />
           <artifact pattern="${ivy.thirdparty.default.root}/${
ivy.thirdparty.default.artifact.pattern}" />
       </filesystem>

       <filesystem name="thirdparty-maven" m2compatible="yes"
namespace="ibiblio-maven2">
           <ivy pattern="${ivy.thirdparty-maven.default.root}/${
ivy.thirdparty-maven.default.ivy.pattern}" />
           <artifact pattern="${ivy.thirdparty-maven.default.root}/${
ivy.thirdparty-maven.default.artifact.pattern}" />
       </filesystem>
   </resolvers>

   <namespaces>
       <namespace name="ibiblio-maven2">

           <rule>    <!-- imported apache maven1 projects -->
               <fromsystem>
                   <src org="apache" module=".+"/>

                   <dest org="$m0" module="$m0"/>
               </fromsystem>
               <tosystem>
                   <src org="commons-.+" module="commons-.+" />
                   <src org="axis" module="axis" />
                   ...
                   <src org="xmlrpc" module="xmlrpc" />

                   <dest org="apache" module="$m0"/>
               </tosystem>
           </rule>

           <rule> <!-- new apache projects -->
               <fromsystem>
                   <src org="apache" />
                   <dest org="org.apache"/>
               </fromsystem>
               <tosystem>
                   <src org="org.apache" />
                   <dest org="apache" />
               </tosystem>
           </rule>

       </namespace>
   </namespaces>


As I understand, Ivy already translated axis/axis to apache/axis and it now
cannot understand the POM and therefore cannot define its transitive
dependencies.

Any idea?

Thanks

-easyproglife

Reply via email to