Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Resolving feature version for a product

Yes, please open bugreports for both problems and provide small
standalone examples and explain expected behaviour in each case.


On 12-02-08 8:57 AM, Wladimir Safonov wrote:
Hello Igor,

I've checked the last 0.14-SNAPSHOT. As the dependecy resolution is now hapenning also during the build, I see that the ".qualifier" dependency for the product is correctly resolved against local repo. However the product publisher seems to ignore this and expands the qualifier with the build timestamp. So in (3), it is apparently a problem with the publisher. Should I open a bugzilla for this?

As for (4), the deps resolution is still works as with a version interval. Although it is not critical, it is at least strange behaviour. I think the resolver should just use closed version interval with both ends equal. May be this can be also fixed in the future versions.


----- Urspr√ľngliche Mail -----
Von: "Igor Fedorenko"<igor@xxxxxxxxxxxxxx>
An: tycho-user@xxxxxxxxxxx
Gesendet: Montag, 6. Februar 2012 13:41:28
Betreff: Re: [tycho-user] Resolving feature version for a product

Can you check if (soon to be released) 0.14 behaves any differently? I
vaguely remember I ran into (3) and I think it may have been fixed as
part of bug 364134 work [1], but I am not sure.



On 12-02-06 7:04 AM, Wladimir Safonov wrote:
Hello ,

I am using Tycho 0.13 to build a composite product based on features
where some features are built independently of the overall product.
During continuous integration everything works smoothly and the local
repository shares feature builds perfectly between dependent modules,
i.e. letting the product build (eclipse-repository) pick up required
features from the local p2 cache. However I noticed some inconsistencies
with the feature version handling in the target platform resolution for
the product and in the product repository assembly process. I found out
there were four options to specify a dependency on a specific feature in
the product file:

(1) 0.0.0 (or empty) as feature version : the latest feature version is
resolved as part of the target platform and mirrored to the final
product repository

(2) 1.2.3.SOME_QUALIFIER : specific version of the feature will be used
for the target resolution and product repository assembly

(3) 1.2.3.<qualifier>  as feature version : qualifier is always replaced
by the current build qualifier, regardless whether this feature is part
of the build reactor or not

(4) 1.2.3 as feature version : target resolver looks for
1.2.3.<qualifier>  with the latest qualifier, whereas the mirror tool
expects exactly the specified final version

For me it looks like a definite problem with (4), as the resolver
interprets the version as an interval [1.2.3,1.2.4), whereas the mirror
tool expects 1.2.3 version, hence failing to mirror if any
1.2.3.qualifier version existed previously which would have precedence
over 1.2.3 for the target resolver. However, on the other side, if I
really want to build against the latest qualifier of the specific
version, (3) fails to provide me this behaviour, as the qualifier is
always replaced by the build qualifier and not looked up in the target

I think to provide a consistent behaviour, Tycho should differentiate in
(3) whether the referenced feature is actually in the build reactor
(with the same base version) or not, and replace it with the current
build qualifier or interpret the 1.2.3.qualifier as an interval
accordingly. In (4) the version without any qualifier should be
interpreted consistently as a single version, and not an interval.

I just wonder if there are any plans to address this in the future
versions of Tycho. May be it could be possible to provide a patch for it?

Thanks for response in advance.


tycho-user mailing list
tycho-user mailing list
tycho-user mailing list

Back to the top