[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[tycho-user] Resolving feature version for a product
|
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 platform.
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.
--
Regards,
Wladimir
|
Attachment:
signature.asc
Description: OpenPGP digital signature