[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] [prov] p2 filtering

Ciao Guys :)
It surely is a busy time for you guys, let me thank you for putting some
effort into answering my questions regardless of the huge efforts you
are putting into M6/M7 right now! :)

When looking at the platform's metadata repositories filtering is quite
heavily used to flag IUs as being for a specific host/arch/ws
(osgi-wise) which is why I thought this concept might be the right
choice in our filtering as well. However, some things are yet unclear to
me, our strategy of using filters might need to change depending on the
answers you are able to give here.

Let's start with the one-liner, plz correct me if I'm wrong: Filters are
conditions for installing an IU, conditions that need to be fulfilled by
the Profile. Right? One example: If the IU has a filter of osgi.os=win32
the IProfile needs the property osgi.os set to "win32" (and only to
that) in order for the Framework (Slicer.isApplicable()) to allow an
installation.

Assuming my statement to be (more or less ;)) true I have some questions
along the way:

1.) UI : When presenting IUs to the user a query provider is consulted,
but there is no IProfile context to filter the UI (thinking about the
AVAILABLE_IU type). 
Here is what we want to do: First ask the user what hosts/archs etc. he
wants to install and then use that information in both the UI and the
installation itself. Is this possible at all? Are you guys thinking
about this as well?

2.) Profiles: Can a profile have multiple values for the same property?
Like osgi.os=linux&&win32? 

2.1) Profiels.getParent(): I've seen the concept of child/parent
profiles, this might help answer question #2, however, not sure how this
might be accomplished...

3.) Dependencies: What's the proper filtering mechanism in terms of
dependencies, i.e. what needs to be given the filter: the root-iu,
config-ius, ius containing artifacts, all of them?

4.) Dependency errors during installation: Playing around a bit I
managed to get a lot of IStatus.ERROR in my ProvisionPlan, is checking
the plan for errors the right way to look at the sanity of the set of
IUs I want to install?

Thanks a lot for helping here, your help is certainly appreciated! :)

Ciao, hh