Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Status and outlook for Kepler M4 +3

Yes, I happen to know Dali includes specific bundles via their build packaging, but believe they do simple "require" the version range they need in their bundles' manifest. And, that EclipseLink is not intended to be included in the IDE, but instead as a runtime target. So I felt fairly comfortable all would be ok. Of course, I don't have perfect knowledge of how everyone uses it which is why I asked if there were known problems, or if it was just a matter of having multiple versions in the repo. By the release, we definitely want one version (unless there's a reason to have different ones). From one of our reports in
You can see its not just EclipseLink and Dali that need to do a better job of this :)

> @David: maybe we should set up a rule to verify that as part of
> Simultaneous Release, since these "locking because of inclusions" is
> a common reason why some installations/updates fail.

I'm probably missing your point, but we actually ask the opposite of features. We want those to specify exact bundles they require, because that's the only way people can have perfectly reproducible product installs (and builds that depend on features). Of course, we also recommend people minimize use of "including other features" and instead depend on bundle's prereq ranges getting something that satisfies the range. If by "set up a rule to verify ... " you mean there's some tests you could contribute to improve the quality of the repo, I'm all for it!

Hope I'm close to interpreting you correctly.

Thanks for the suggestions,

From:        Mickael Istria <mistria@xxxxxxxxxx>
To:        cross-project-issues-dev@xxxxxxxxxxx,
Date:        12/21/2012 03:01 AM
Subject:        Re: [cross-project-issues-dev] Status and outlook for Kepler M4 +3
Sent by:        cross-project-issues-dev-bounces@xxxxxxxxxxx

On 12/20/2012 09:53 PM, David M Williams wrote:
Normally "having two versions" wouldn't hurt anything, unless you know there's some API change or something that makes them incompatible
Requiring 2 different versions of a feature which contain some "singleton" bundles (ie that define some extensions or extension points) makes that the 2 projects requiring the feature don't work together.
Ie if site includes Dali (which includes EclipseLink x.y.z) and EclipseLink x.y.z+1 and if EclipseLink contains a singleton bundle, it will be most likely impossible to install Dali and EclipseLink x.y.z+1 in the same Eclipse.

The inclusion in feature is a really strong coupling. Version is statically chosen at build-time. This is a bad idea if you are project X to "include" a feature from project Y since you lock yourself and your users' application to the version of Y you decided to include. It's generally a workaround for not requiring users to add multiple sites. Instead, you should:
* use "require" which allows some version range for feature you want to depend on, and
* you could ship a copy of the feature of Y you depend on along with features for X in the repository you produce for X.
With this, you remove some constraints and one can update version of your dependencies. The fact that the dependency features are provided on the site makes that installation won't require additional sites.

@David: maybe we should set up a rule to verify that as part of Simultaneous Release, since these "locking because of inclusions" is a common reason why some installations/updates fail.

Mickael Istria
Eclipse developer at
JBoss, by Red Hat
My blog - My Tweets_______________________________________________
cross-project-issues-dev mailing list

Back to the top