Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [buckminster-dev] Re: Tutorial for building an RCP from hudson

Achim Demelt wrote:
If the RCP needs more than the bare platform, would you write several
mspecs to import or introduce another component (cspec, or feature?) to
describe the contents of the target platform?

No, I would use one mspec and make the rmap richer. Or perhaps appoint the
Galileo release instead of just the Eclipse Platform (Galileo includes the
platform). If need be, appoint Galileo+
http://download.cloudsmith.com/galileoplus/ (Galileo plus a lot of stuff
that isn't hosted at Eclipse.org. Subversion connectors for instance).


How would making the RMAP richer help? There can be only one root request per CQUERY. If _one_ feature doesn't describe your whole platform, you'd either have to define a pseudo-feature or a Buckminster component with a CSPEC. We went for the second approach. The only drawback is that the p2 materializer can only cope with eclipse.feature and osgi.bundle components. We therefore have this additional line in our MSPEC:

<md:mspecNode namePattern=".*" componentType="buckminster" exclude="true"/>

But maybe I'm missing something here...

If the requirement is to have one CQUERY that only describes the target platform, and if there is no feature present that is suitable, then yes, you'd need to do something like that. But there are alternatives.

1. Do not use a special component for the TP. Simply default to saying that everything that isn't found in your source defaults to be TP components. This requires a more advanced MSPEC of course since it needs to specify what goes where (WS or TP). 2. The KISS apporach. Run several CQUERY's. One for each separate TP feature that you want to install. Buckminster will not install the same thing twice so overlaps is not a problem.

I like your approach better then #2 but I wanted to mention it anyway.

- thomas


Back to the top