You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Chris Custine <cc...@apache.org> on 2008/04/19 02:30:21 UTC

2.0.9 and self referential properties failing

It looks like Maven 2.0.9 is refusing to resolve the JRuby 1.0 dependencies
due to a self referential property in its POM:

[WARNING] POM for 'org.jruby:jruby:pom:1.0:test' is invalid. It will be
ignored for artifact resolution. Reason: The POM expression:
${java.specification.version} could not be evaluated. Reason: Expression
value '${java.specification.version}' references itself in
'org.jruby:jruby:jar:1.0'. for project org.jruby:jruby at Artifact
[org.jruby:jruby:pom:1.0:test]


Obviously the ${java.specification.version} property should be resolved via
system properties, so I am wondering if there is a change in property
resolution order or something similar that has caused this to start failing
where it was working with 2.0.8.

The property entry:
<java.specification.version>${java.specification.version}</java.specification.version>

I would think that this should resolve to the system property first and not
cause the failure to resolve, but I wanted to pass this along here before
filing a bug.  Thoughts?

Chris

Re: 2.0.9 and self referential properties failing

Posted by Chris Custine <cc...@apache.org>.
Unfortunately all versions of the jruby jar have this offending property
setup and have been deployed to Maven central repo for quite some time, so
anyone who uses Maven 2.0.9 and has a project dependency on JRuby lists it
as a dependency is going to have this problem.

I narrowed this down to the fix for MNG-2339 and I am wondering if there
could be an optional flag for the first run to bypass the specific checks
that would otherwise cause this first pass to fail?

Created http://jira.codehaus.org/browse/MNG-3535 to track this.

Chris


On Sat, Apr 19, 2008 at 1:16 AM, Paul Benedict <pb...@apache.org> wrote:

> I would hope that Maven wouldn't allow system properties to be overridden
> in
> the POM :-) Maybe properties beginning with java.* have been blocked? Have
> you tried to rename the property to something benign?
>
> Paul
>
> On Fri, Apr 18, 2008 at 7:30 PM, Chris Custine <cc...@apache.org>
> wrote:
>
> > It looks like Maven 2.0.9 is refusing to resolve the JRuby 1.0
> > dependencies
> > due to a self referential property in its POM:
> >
> > [WARNING] POM for 'org.jruby:jruby:pom:1.0:test' is invalid. It will be
> > ignored for artifact resolution. Reason: The POM expression:
> > ${java.specification.version} could not be evaluated. Reason: Expression
> > value '${java.specification.version}' references itself in
> > 'org.jruby:jruby:jar:1.0'. for project org.jruby:jruby at Artifact
> > [org.jruby:jruby:pom:1.0:test]
> >
> >
> > Obviously the ${java.specification.version} property should be resolved
> > via
> > system properties, so I am wondering if there is a change in property
> > resolution order or something similar that has caused this to start
> > failing
> > where it was working with 2.0.8.
> >
> > The property entry:
> >
> >
> <java.specification.version>${java.specification.version}</java.specification.version>
> >
> > I would think that this should resolve to the system property first and
> > not
> > cause the failure to resolve, but I wanted to pass this along here
> before
> > filing a bug.  Thoughts?
> >
> > Chris
> >
>

Re: 2.0.9 and self referential properties failing

Posted by Paul Benedict <pb...@apache.org>.
I would hope that Maven wouldn't allow system properties to be overridden in
the POM :-) Maybe properties beginning with java.* have been blocked? Have
you tried to rename the property to something benign?

Paul

On Fri, Apr 18, 2008 at 7:30 PM, Chris Custine <cc...@apache.org> wrote:

> It looks like Maven 2.0.9 is refusing to resolve the JRuby 1.0
> dependencies
> due to a self referential property in its POM:
>
> [WARNING] POM for 'org.jruby:jruby:pom:1.0:test' is invalid. It will be
> ignored for artifact resolution. Reason: The POM expression:
> ${java.specification.version} could not be evaluated. Reason: Expression
> value '${java.specification.version}' references itself in
> 'org.jruby:jruby:jar:1.0'. for project org.jruby:jruby at Artifact
> [org.jruby:jruby:pom:1.0:test]
>
>
> Obviously the ${java.specification.version} property should be resolved
> via
> system properties, so I am wondering if there is a change in property
> resolution order or something similar that has caused this to start
> failing
> where it was working with 2.0.8.
>
> The property entry:
>
> <java.specification.version>${java.specification.version}</java.specification.version>
>
> I would think that this should resolve to the system property first and
> not
> cause the failure to resolve, but I wanted to pass this along here before
> filing a bug.  Thoughts?
>
> Chris
>