[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] WTP repo to be non-greedy for Juno M5


[I have sent a similar note to "cross project" list, but in case anyone
follows wtp-dev, but not cross-project list, I'll repeat it here.]

WTP has updated to a Juno based p2 publisher so the repository it produces
will treat optional dependencies as "non greedy".

See bug 247099 [1] and the p2 Publisher wiki [2] for some history and
details on this issue of greedy vs. non-greedy requirements.

The change in WTP build was documented in bug 369171 [3].

In short, p2 assumes greedy='true' if it is not specified and in the past
the publisher did not specify it, so there have been many cases in the past
where users and adopters get things installed that they did not want or
need. Plus, it would depend on which repo was "pointed to" or what was
available in that repo at the time of the install, making installs
indeterminate. Rather than change the way p2 works (which would have had
compatibility issues) it was decided to change the way the p2 publisher
works.

Most of the time, this change will be nothing but goodness ... and does not
change WTP itself ... but I'm giving this notice since the change in the
repo metadata does have the potential to "break" someone downstream ... or,
at least, not work as expected.

Potentially it could effect builds, if you use p2 to fetch pre-reqs and if
you really required some optional thing, but did not specify it
explicitly, you might have been getting it "by accident" before, due to a
bundle having it as an optional dependencies.

The more likely impact would be in distribution packages or user installs
which might have the same issue, of wanting something they got before "by
accident" but would not now be installed, unless explicitly specified in a
feature.

The fix, if any required, in most cases will be to add some missing
optional item to your feature; sometimes it would be an existing feature,
but
often might be a new feature, in order to let users or adopters decide if
they want that optional thing or not.

If you do encounter an issue where this change effects your project or
adoptions, especially in a negative way, please leave a note in bug 369171
so we
understand unanticipated impacts.

Thanks,

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=247099
[2] http://wiki.eclipse.org/Equinox/p2/Publisher
[3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=369171