Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Creating a Product and then updating via Update Site

Hi Laurent,

With "inclusion points", Paul must have meant places where you include a feature into the end product. Naturally, this can be a product file, a p2.inf or a parent feature's feature.xml

As for the p2 IU namespaces, afaik all features belong to the "org.eclipse.equinox.p2.iu" namespace. Basically, in p2 world everything is called an Installable Unit. Such a unit may be a feature, a plugin, a fragment etc. All IUs have to be named and in order to avoid collisions between similarly named features and plugins, namespaces were introduced.

I am not sure there is a good reference for namespaces, but you can take any content.{jar|xml} and look inside it. If you do that, be ware that features are usually composed of two IUs. The first one (* includes a list of dependencies, and the second one includes a jar file. You need the ones whose name ends with "".

As for p2 version ranges, see slide 15 of this presentation:

Kind regards,
Mikhail Kalkov

On Thu, Jan 30, 2014 at 10:42 PM, Laurent PETIT <laurent.petit@xxxxxxxxx> wrote:
Hello Paul,

2014-01-29 Paul Webster <pwebster@xxxxxxxxxxxxxxxxxxx>

Hi Laurent,

On Thu, Jan 16, 2014 at 4:49 PM, Laurent PETIT <laurent.petit@xxxxxxxxx> wrote:
Hi Paul, 

So thanks to you and the link, I've been able to fix my problem. I had to remove the ccw feature definition from the product features list, and instead add a to my product's ccw.p2.inf file.

And the final step is to manually invoke the Director to install to the product after the fact.

This is why I'm coming back to you. Since I've removed ccw.feature from the product features list, I don't find feature artifacts in my product's target/repository repository anymore. Before that, it was easy to point the Director to this directory.
So Ive pointed instead the directory to a relative path like ../ccw.updatesite/target/repository.

I think others have answered this already, but you don't need to remove your ccw feature from your product to update the require range using the ccw.p2.inf.  The p2.inf will override the defaults generated by the product require.  That will also still allow it to show up in your build p2 repo.

Thanks for the information. I wasn't really aware of that. And doing "experiment tests" takes so much time that I hadn't discovered that by myself.

It's the same for any other feature you'd like to allow independent updating in your product.  You need to find it's "inclusion" point (either in your .product file, or in a feature) and use the p2.inf to broaden the requirement range.

I'm not sure I understand what you mean by "you need to find its 'inclusion' point [...] and use the p2.inf ...". It's the "inclusion point" that I don't understand, and maybe I'm missing something important ?

Also, I have been unable to understand by myself / find an explanation somewhere about the "namespace" part of the p2.inf example here :

requires.1.namespace = org.eclipse.equinox.p2.iu =
requires.1.range = [1.1.100, 1.2.0)
- Where does the namespace's  value come from? What is it used for? Where can I find it for the several features I would like to broaden ?

Additional question:

- What if I want to use an open upper bound for the features ? Do I need to use some very large value such as defining [1.1.100, 9999.0.0.0), or is there a cleaner way to achieve the goal?

I kind of remember I attempted to both let my feature declared in my .product file and broaden the version range by adding requires in the product's p2.inf file. As a result, I was seing, in the About page of the resulting product, the feature declared 2 times in the graphical tree: once as a child of the product, and once as a separate root in the tree. Is that expected, or is it symptomatic of a mistake?

Thanks in advance for your answers,



Paul Webster
Hi floor.  Make me a sammich! - GIR

tycho-user mailing list

tycho-user mailing list

Back to the top