Failure to transitively install Maven2 artifacts with namespace
---------------------------------------------------------------

                 Key: IVY-440
                 URL: https://issues.apache.org/jira/browse/IVY-440
             Project: Ivy
          Issue Type: Bug
          Components: Ant, Core
    Affects Versions: 1.4.1
            Reporter: easyproglife
            Priority: Minor


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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to