[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [epp-dev] Include versus requires/import

In EPP we were using 'requires' from the very beginning because at that point in time it was the only working build setup. For some reasons that I cannot remember any more it wasn't possible to use 'includes', but this has changed since then.

There is one subtle difference:

- includes: The feature is bound to a single version and cannot be upgraded unless the parent feature (EPP) is changed.
- requires: The feature is not upgraded automatically unless the parent feature (EPP) is changed, but a newer version can be installed manually into the package (i.e. it is not forbidden to install a version with a higher version number).

But I like this discussion... my point is that we all need to understand the difference and that I'd like to have all packages defined in an equal way.


On Tue, Mar 20, 2012 at 20:42, Doug Schaefer <dschaefer@xxxxxxx> wrote:
Thanks, Ian. That's a great explanation. But I'm wondering what it means in the context of the EPP features that bring together all the features in a package. From that perspective, I'd almost think they are includes and not requires. No?


From: Ian Bull <irbull@xxxxxxxxxxxxxxxxx>
Reply-To: Eclipse Packaging Project <epp-dev@xxxxxxxxxxx>
Date: Tue, 20 Mar 2012 10:15:02 -0700
To: Eclipse Packaging Project <epp-dev@xxxxxxxxxxx>
Subject: Re: [epp-dev] Include versus requires/import

There are a few differences. I don't know if I've got them all correct, but I'll give it a shot (please correct me if I'm wrong).

Build time differences:

Required means that the following features will be needed for the install to proceed, but not packaged with the feature. For example, if I 'require' SWT in my feature, my feature won't actually ship with SWT. This is not really needed anymore because my UI bundle likely has a dependency on SWT (which essentially means the same thing).  

Included features means that the feature will actually be pulled down and shipped as part of the feature.

p2 (Installation) Differences.

Requires allows you to set a range. My 'Awesome C++ Analysis tool' requires the CDT version [8.0 - 9.0). It won't work will less than 8.0, and I don't support it on 9.0 and above. I don't ship CDT as part of my feature, but it needs to be there.

Included features means my Feature is expecting (and shipping) an exact version of CDT.  So, for C/C++ EPP SR0 (June 2012) we likely want to indicate an 'exact' version of the CDT that ships.  This means that in 10 years, if someone wants to re-create that version, it's easy (since the versions are baked into the features).


On Tue, Mar 20, 2012 at 9:10 AM, Doug Schaefer <dschaefer@xxxxxxx> wrote:
Hey gang,

Looking through the changes Linuxtools made to the CPP package to merge the two, I noticed that they Include their features as opposed to add them to the required section. I assume this was to allow for optionality. Should we be including all our features this way? What's the difference between include and require?


epp-dev mailing list

R. Ian Bull | EclipseSource Victoria | +1 250 477 7484
http://eclipsesource.com | http://twitter.com/eclipsesource
_______________________________________________ epp-dev mailing list epp-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/epp-dev

epp-dev mailing list