Problems with revision ranges

0 views
Skip to first unread message

15 knots

unread,
Aug 21, 2009, 9:39:31 AM8/21/09
to bushe...@googlegroups.com
Hi Alex,
I noticed two other problems:

1) The revison range translation from a manifest's
bundle-version="[2.0,3.0)" means Revision 2.0 inclusive up to Revision
3.0 exclusive. In contrast, the Ivy documentation
<http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html>
shows an example saying: "[1.0,2.0[" matches all versions greater or
equal to 1.0 and lower than 2.0.
So I expect bushel to translate a revision range "[2.0,3.0)" to
"[2.0,3.0[" (notice the trailng ')' and '['), which is not the case.

2) Revision constraints on dependencies.
Some of the Eclipse bundles have a Require-Bundle-header without a
bundle-version directive. These are converted to Ivy dependency
elements which have an empty rev-attribute, for example <dependency
org="jayasoft" name="swtbinding" rev=""/>. (Why does Ivy require the
attribute, but allows it to be empty?).
These empty rev-attributes lead to failures (due to cache evictions)
on an ivy:resolve as explained below.

Lets say
Module A depends on C and specifies an empty revision attribute.
Module B depends on C and specifies a non-empty revision attribute,
lets say 1.4.
The module that is going to be resolved depends an A and B.

Upon resolve, you get an error because ivy's conflict manager does not
know how to handle the conflict between 'C;<no revision>' and 'C;1.4'.

The solution is to change method
OsgiManifestParser.InternalParser.addRequiredBundles(DefaultModuleDescriptor,
Set<RequireBundle>, Set<ModuleRevisionId>) in a way that replaces
epmty revisions (from the Require-Bundle-header) with "latest.[any
status]".


Regards,
Martin

alexr

unread,
Aug 23, 2009, 12:36:08 PM8/23/09
to bushel-user
Hi Martin,

Please raise these are issues in the issue tracker here:
http://code.google.com/p/bushel/issues/list

We'll look at scheduling them in the up and coming 0.7 release
(whenever that is).

Alex.

On Aug 21, 2:39 pm, 15 knots <fifteenknots...@googlemail.com> wrote:
> Hi Alex,
> I noticed two other problems:
>
> 1) The revison range translation from a manifest's
> bundle-version="[2.0,3.0)" means Revision 2.0 inclusive up to Revision
> 3.0 exclusive. In contrast, the Ivy documentation
> <http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency...>

alexr

unread,
Aug 23, 2009, 12:36:56 PM8/23/09
to bushel-user
Hi Martin,

Please raise these as issues in the issue tracker here:
http://code.google.com/p/bushel/issues/list

We'll look at scheduling them in the up and coming 0.7 release
(whenever that is).

Alex.

On Aug 21, 2:39 pm, 15 knots <fifteenknots...@googlemail.com> wrote:
> Hi Alex,
> I noticed two other problems:
>
> 1) The revison range translation from a manifest's
> bundle-version="[2.0,3.0)" means Revision 2.0 inclusive up to Revision
> 3.0 exclusive. In contrast, the Ivy documentation
> <http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency...>
Reply all
Reply to author
Forward
0 new messages