On 11/10/06, Steve Loughran <[EMAIL PROTECTED]> wrote:


Nice little problem with this pom file here

http://www.ibiblio.org/maven2/org/codehaus/cargo/cargo-core-uberjar/0.8/cargo-core-uberjar-0.8.pom

Its one of the composite artifacts:

<parent>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core</artifactId>
<version>0.8</version>
</parent>

Every child is pulled in using the ${version} property, which is set to
something else, resulting in an error.

<dependency>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-core-api-generic</artifactId>
<version>${version}</version>
<scope>test</scope>
</dependency>

leading to :

[ivy:resolve]           maven2: bad revision found in

http://www.ibiblio.org/maven2/org/codehaus/cargo/cargo-core-uberjar/0.8/cargo-core-uberjar-0.8.pom
:
expected='0.8 found='SNAPSHOT'


Yes, Ivy has only a limited suport for poms, and do not handle pom
inheritance for the moment. However I'm surprised of the error raised,
Ithought it was fixed in Ivy 1.4. But we had several issues related to pom
handling (I wrote pom parsing without a real good knowledge of how poms
really work), fixed some, but still have a lot. I sometimes regret to have
introduced this, it causes more problem than it ease the integration of
existing metadata.

I'd hope that before artifacts get published to the repository, they get
resolved to absolute values, but I can see that isnt the case.


In Ivy we try to make ivy files independent from anything else once
published. For example in an ivy file you can import configurations declared
in a separate file, but when you publish it the file is inlined, so that
it's easier to reproduce the build later. With poms this is not the case,
and makes it more difficult to implement the pom compatibility in Ivy.

Xavier

Paolo,
how does your pom2rdf tool handle that file?


-Steve

Reply via email to