[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [p2-dev] Problem installing feature due to unhelpful version range requirements
|
Hey Francis,
Optional should work in the sense that if you removed the specified
version then the feature would still be ok but that would not allow you
work with or install a different version.
In any event, it turns out that creating "products" that are meant to
stand alone and ones that are meant to be add-ons to something like an
IDE are quite different things. You might look at Chapter 23 in the RCP
book for a discussion about features and products and the different
scenarios.
Jeff
Francis Upton wrote:
Thanks Jeff, having been so focused on the RCP side of my product, it
did not even occur to be that "required" existed. I tried something
as a way to get around this. I have a feature that contains the
dependencies (deps), and then a feature that defines the product
(prod). In prod changed the "deps" to be included but optional. I
would have expected that to work (it would have been nice because then
I could use the "prod" feature both for my RCP edition and IDE
edition. But since it does not, I will make a new "prodIde" feature
that has the plugins as required and not included.
I know this is not a p2 question per se, but why wouldn't including
and making them optional work?
Thanks,
Francis
Jeff McAffer wrote:
I suspect that part of the problem is the use of Includes vs Requires
in your features. Quite separate from p2, features have always used
exact versions for "included" things and version ranges for
"required" things. So when you author your feature to require
something and spec a range, that should be translated into the same
range in p2 metadata and you should be happy.
Jeff
Francis Upton wrote:
I am using the standard PDE build scripts that call p2.generator to
generate the metadata in my repository. I have many features and
products and they are all generated to the same repository. So far
so good.
The problem I'm having is the feature.group (e.g.
com.oaklandsw.transform.feature.deps.gui.feature.group) in the
content.xml get generated with a version range requirement that is
exactly the versions of the plugins that are installed in the
Eclipse build I'm running against. In my source feature.xml, all of
the versions are 0.0.0 which is what I want, but the p2.generator
does not use my source, it uses the feature.xml that winds up in the
build output, which has all of the versions put into it.
This means that when installing this feature, it will insist on
having these exact versions of the plugins, so because I built it on
a 3.4.0 system, it will not properly install on a 3.4.1 system (it
gets the usual cryptic error message about unable to satisfy the
dependency).
If I manually hack the content.xml file to remove these range
attributes, I run into a related problem. My product depends on the
org.eclipse.rcp feature group, and this feature group in the
content.xml (like all of the others) has the exact plugin versions.
So the installation will again get a conflict (on swt this time)
because the org.eclipse.rcp feature in the installation target does
not match the one generated in the content.xml.
I'm sure somewhere I took a left turn that I should not have and
there is an easy solution to this mess, but I have not yet found it.
Any ideas?
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev