You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Alan Chaney <al...@writingshow.com> on 2008/03/20 18:49:42 UTC

Problem with 'namespace' example

Hi

I'm a complete newbie to ivy and dependency management in general - I've 
googled for this problem and found nothing.

I'm using ant 1.7.0, ivy 2.0.0beta2 and jvm1.5

I'm trying to set up my own 'enterprise' repository to avoid too much 
dependency on maven. I've taken the example from the documentation - 
src/example/buid-a-ivy-repository and tweaked it slightly by removing 
the non-namespace targets and the 'basic.settings'

When I run  ant with the install target I get:

maven2-namespace-deps:
[ivy:install] :: installing hibernate#hibernate;3.2.5.ga ::
[ivy:install] :: resolving dependencies ::
[ivy:install]   found hibernate#hibernate;3.2.5.ga in libraries
[ivy:install]   found ehcache#ehcache;1.2.3 in libraries
[ivy:install]   found apache#commons-logging;1.0.4 in libraries
[ivy:install]   found apache#commons-collections;2.1 in libraries
.....
[ivy:install]   found cglib#cglib;2.1_3 in libraries
[ivy:install]   found asm#asm;1.5.3 in libraries
[ivy:install]   found apache#commons-collections;2.1.1 in libraries
[ivy:install] java.text.ParseException: inconsistent module descriptor 
file found in 
'http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/apache/4/apache-4.pom': 
bad organisation: expected='org.apache' found='apache';
[ivy:install]   at 
org.apache.ivy.plugins.resolver.BasicResolver.checkDescriptorConsistency(BasicResolver.java:504)
[ivy:install]   at 
org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:236)
[ivy:install]   at 
org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:291)
[ivy:install]   at 
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseOtherPom(PomModuleDescriptorParser.java:237)
[ivy:install]   at 
org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:172)
[ivy:install]   at 
org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:891)
[ivy:install]   at 
org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:419)
[ivy:install]   at 
org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:221)
...

When I go and look at the pom for .../apache/apache/4/apache-4.pom I 
find that it has:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
       define the settings common to all projects at Apache -->
  <groupId>org.apache</groupId>
  <artifactId>apache</artifactId>
  <version>4</version>
  <packaging>pom</packaging>
  <name>The Apache Software Foundation</name>
  <description>
    The Apache Software Foundation provides support for the Apache community of open-source software projects.
    The Apache projects are characterized by a collaborative, consensus based development process, an open and


In comparison with the other apache projects (eg commons) it seems that 
the groupId is org.apache and typically it would be just 'apache'. My 
understanding is that the namespace rules should convert groupId 
org.apache and artifactId apache to a filesystem location in my 
repository of something like:

(blah blah)/myrepository/apache/apache/ etc.



When I look at the namespace rules there is one which says:

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


So why isn't this one working?


If necessary I can put the build.xml and ivysettings.xml files up on the 
web. I've tried two different mirrors (maven itself and ibiblio).
The maven repository appears to have some other problems but as far as I 
can see the above problem is the only error with ibiblio.

Regards

Alan Chaney











Re: Problem with 'namespace' example

Posted by Gilles Scokart <gs...@gmail.com>.
It looks like the namespace mapping are not used properly when the
parent poms aer loaded.  Could you raise a jira issue for that?

Thanks,
Gilles

On 20/03/2008, Alan Chaney <al...@writingshow.com> wrote:
> Hi
>
> I'm a complete newbie to ivy and dependency management in general - I've
> googled for this problem and found nothing.
>
> I'm using ant 1.7.0, ivy 2.0.0beta2 and jvm1.5
>
> I'm trying to set up my own 'enterprise' repository to avoid too much
> dependency on maven. I've taken the example from the documentation -
> src/example/buid-a-ivy-repository and tweaked it slightly by removing
> the non-namespace targets and the 'basic.settings'
>
> When I run  ant with the install target I get:
>
> maven2-namespace-deps:
> [ivy:install] :: installing hibernate#hibernate;3.2.5.ga ::
> [ivy:install] :: resolving dependencies ::
> [ivy:install]   found hibernate#hibernate;3.2.5.ga in libraries
> [ivy:install]   found ehcache#ehcache;1.2.3 in libraries
> [ivy:install]   found apache#commons-logging;1.0.4 in libraries
> [ivy:install]   found apache#commons-collections;2.1 in libraries
> .....
> [ivy:install]   found cglib#cglib;2.1_3 in libraries
> [ivy:install]   found asm#asm;1.5.3 in libraries
> [ivy:install]   found apache#commons-collections;2.1.1 in libraries
> [ivy:install] java.text.ParseException: inconsistent module descriptor
> file found in
> 'http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/apache/4/apache-4.pom':
> bad organisation: expected='org.apache' found='apache';
> [ivy:install]   at
> org.apache.ivy.plugins.resolver.BasicResolver.checkDescriptorConsistency(BasicResolver.java:504)
> [ivy:install]   at
> org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:236)
> [ivy:install]   at
> org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:291)
> [ivy:install]   at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseOtherPom(PomModuleDescriptorParser.java:237)
> [ivy:install]   at
> org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:172)
> [ivy:install]   at
> org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:891)
> [ivy:install]   at
> org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:419)
> [ivy:install]   at
> org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:221)
> ...
>
> When I go and look at the pom for .../apache/apache/4/apache-4.pom I
> find that it has:
>
> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
>  <modelVersion>4.0.0</modelVersion>
>
>  <!-- Shared parent. Doesn't define a lot of things about Apache like general mailing lists, but does
>       define the settings common to all projects at Apache -->
>  <groupId>org.apache</groupId>
>  <artifactId>apache</artifactId>
>  <version>4</version>
>  <packaging>pom</packaging>
>  <name>The Apache Software Foundation</name>
>  <description>
>    The Apache Software Foundation provides support for the Apache community of open-source software projects.
>    The Apache projects are characterized by a collaborative, consensus based development process, an open and
>
>
> In comparison with the other apache projects (eg commons) it seems that
> the groupId is org.apache and typically it would be just 'apache'. My
> understanding is that the namespace rules should convert groupId
> org.apache and artifactId apache to a filesystem location in my
> repository of something like:
>
> (blah blah)/myrepository/apache/apache/ etc.
>
>
>
> When I look at the namespace rules there is one which says:
>
>            <rule> <!-- new apache projects -->
>                <fromsystem>
>                    <src org="apache" />
>                    <dest org="org.apache"/>
>                </fromsystem>
>                <tosystem>
>                    <src org="org.apache" />
>                    <dest org="apache" />
>                </tosystem>
>            </rule>
>
>
> So why isn't this one working?
>
>
> If necessary I can put the build.xml and ivysettings.xml files up on the
> web. I've tried two different mirrors (maven itself and ibiblio).
> The maven repository appears to have some other problems but as far as I
> can see the above problem is the only error with ibiblio.
>
> Regards
>
> Alan Chaney
>
>
>
>
>
>
>
>
>
>
>


-- 
Gilles Scokart