I'm glad my note spurred so much attention to this important issue. I'll
try to respond briefly (but, you know how hard that is for me :)

> I thought we had been through all that discussion on bugzilla already (I
can't find the ref right now since bugzilla is down).

https://bugs.eclipse.org/bugs/show_bug.cgi?id=247099
http://wiki.eclipse.org/Equinox/p2/Publisher

> So it's a "Use the new publisher" thing… Is it obligatory for all eclipse
projects? Or is it just a good practice.

Obligatory. To be in common repo. From
http://wiki.eclipse.org/SimRel/Simultaneous_Release_Requirements#OSGi_bundle_format

<quote>
Clarification on 02/01/2012: the repositories produced and contributed must
use p2 publishers that produce greedy='false', by default, in the content
metadata. See bug 247099 and the p2 Publisher wiki for some history and
details on this issue of greedy vs. non-greedy requirements.
</quote>

>  I'd like that people accept, that this is a valid combination and don't
nag on projects, who use it.

I've obviously not done a good job of education, but its not a valid
combination. Its been that way "for years", wrongly, and so many people
complained about it something had to be done. (Not literally just because
of complaints, but conceptually ... people were convinced it is a bad idea
to automatically infer install behavior based on (optional) runtime
requirements ... and this repo-metadata-attribute solution was thought to
be the "least of all evils", say as opposed to changing p2's behavior
itself).

So we are trying to improve the yearly Release and its common repo. Yes,
its a change from previous years. And, now, the reason its a requirement to
be in common repo, is its something we must do consistently for it to work.
Otherwise, one project would be "forcing" their preferences on all other
participants. Or, worse, causing the install behavior to be undefined and
indeterminint.

I am going to try to improve the report.

Bug 380571 - greediness report needs work

Martin's pointed out what may be one bug. Maybe there's others. Plus, while
I was hoping to avoid spending so much of my time on this, I will see if I
can add "back tracking" to the report, so we'll know who has the
conflicting specifications.

If anyone knows now that they wants _all_ their optional runtime
dependencies to be installed greedily, then they should probably not be in
the common repo, and suggest they just have their own, where they can do
what they want with their metadata and not conflict with other
participants.  I'm open to discussion, but don't see how the conflicting
specifications could ever work.

> it's not as bad as missing about.html files or unsigned jars, isn't it?

Right, not as bad as missing about.html files ... and, I don't know ...
almost as bad as unsigned jars :)

Thanks to all,





From:   "Oberhuber, Martin" <martin.oberhu...@windriver.com>
To:     Cross project issues <cross-project-issues-dev@eclipse.org>,
Date:   05/24/2012 09:59 AM
Subject:        Re: [cross-project-issues-dev] Yet another nag note ... and, I
            mean it this time!
Sent by:        cross-project-issues-dev-boun...@eclipse.org



Hmm,

I thought we had been through all that discussion on bugzilla already (I
can't find the ref right now since bugzilla is down).

In a nutshell,

- Optional greedy is bad since it can cause side-effects :
  When I install A and optional greedy B,C happen to be available they get
installed even when I don't ask for them, causing unexpected side-effects.

- Yes Optional non-greedy has no effect on the installer;
   But, the p2 metadata also serves as documenting the OSGi/runtime
dependencies from all MANIFEST.MF in a repo so having it in there is extra
information that may help some and doesn't hurt.

Martin



-----Original Message-----
From: cross-project-issues-dev-boun...@eclipse.org [
mailto:cross-project-issues-dev-boun...@eclipse.org] On Behalf Of Thomas
Hallgren
Sent: Thursday, May 24, 2012 3:37 PM
To: Cross project issues
Subject: Re: [cross-project-issues-dev] Yet another nag note ... and, I
mean it this time!

On 05/24/2012 03:13 PM, Gunnar Wagenknecht wrote:
> Am 24.05.2012 14:57, schrieb Thomas Hallgren:
>> One could very well argue that an optional non-greedy dependency is
>> completely useless and doesn't fulfill any other purpose but
documentation.
> We have a bunch of bundles in place that have optional non-greedy
> dependencies to allow flexibility at runtime. For example, Logback can
> be configured via API, XML or Groovy. Groovy as well as XML
> configuration require additional dependencies. Imaging all those
> dependencies were greedy.
Then they would be installed of course. Now they are not installed and the
dependencies have no purpose aside from what I mentioned earlier,
documentation.

> BTW, they need to be optional for the bundles to properly resolve if
> the dependencies aren't there. They need to be declared to allow the
> bundle class loader to load them if they are available.
To my knowledge, the bundle class loader is using the MANIFEST.MF, not the
p2 meta-data. So my argument still stands.

- thomas

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

<<inline: graycol.gif>>

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to