Community
Participate
Working Groups
It seems like org.eclipse.equinox.ds is no more useful and is mostly a proxy for org.apache.felix.scr. So we should probably consider it removing it from the product. To do so, it's mostly a matter of removing it from the org.eclipse.e4.rcp feature.
(In reply to Mickael Istria from comment #0) > It seems like org.eclipse.equinox.ds is no more useful and is mostly a proxy > for org.apache.felix.scr. So we should probably consider it removing it from > the product. To do so, it's mostly a matter of removing it from the > org.eclipse.e4.rcp feature. And also making sure nothing else is depending on it. This has to be announced to the community that we intend to remove the bundle I think.
IMHO, initially we should remove it from our features but keep publishing it to the repo. That should be a good sign to the community.
Actual removal of equinox.ds can happen after 2018-12.
New Gerrit change created: https://git.eclipse.org/r/128845
New Gerrit change created: https://git.eclipse.org/r/128882
(In reply to Thomas Watson from comment #1) > And also making sure nothing else is depending on it. This has to be > announced to the community that we intend to remove the bundle I think. Right. I identified one place where adopters need to apply a change if Platform changes it and adopters adopt newer platform: the .product files usually configure the auto-start ane start-level for org.eclipse.equinox.ds. There are such .product files in Tycho, in PDE templates, and in other projects. Surprisingly, it seems like the .product files for EPP don't have this declaration and still work well... So indeed we need to announce if we plan to remove it from feature, and document the .product must be updated to reference org.apache.felix.scr in place of org.eclipse.equinox.ds (technically, products could already add the line about org.apache.felix.scr). I suggest we wait after SimRel 4.9 release is done, and then we'll send the warning and recommendations.
(In reply to Mickael Istria from comment #6) > (In reply to Thomas Watson from comment #1) > > And also making sure nothing else is depending on it. This has to be > > announced to the community that we intend to remove the bundle I think. > > Right. > I identified one place where adopters need to apply a change if Platform > changes it and adopters adopt newer platform: the .product files usually > configure the auto-start ane start-level for org.eclipse.equinox.ds. There > are such .product files in Tycho, in PDE templates, and in other projects. > Surprisingly, it seems like the .product files for EPP don't have this > declaration and still work well... > So indeed we need to announce if we plan to remove it from feature, and > document the .product must be updated to reference org.apache.felix.scr in > place of org.eclipse.equinox.ds (technically, products could already add the > line about org.apache.felix.scr). > I suggest we wait after SimRel 4.9 release is done, and then we'll send the > warning and recommendations. For sure after 4.9 (2018-09), but probably a release or two after. I recommend after 2018-12 and we announce as soon as we agree.
Gerrit change https://git.eclipse.org/r/128882 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/commit/?id=f810a21522f0faac0f8e11cf3f4811a992a05c6e
Gerrit change https://git.eclipse.org/r/128845 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=9c3abb2fa2f1e096c558cc609ff7557df2886d6c
This caused 169 test fails in equinox.http.servlet.tests, see http://download.eclipse.org/eclipse/downloads/drops4/I20180927-1800/testresults/html/org.eclipse.equinox.http.servlet.tests_ep410I-unit-cen64-gtk3_linux.gtk.x86_64_8.0.html Basically something like Multiple Failures (2 failures) Failed to find bundle: org.eclipse.equinox.ds <no message> in java.lang.NullPointerException org.opentest4j.MultipleFailuresError: Multiple Failures (2 failures) Failed to find bundle: org.eclipse.equinox.ds <no message> in java.lang.NullPointerException
New Gerrit change created: https://git.eclipse.org/r/130229
Gerrit change https://git.eclipse.org/r/130229 was merged to [master]. Commit: http://git.eclipse.org/c/pde/eclipse.pde.ui.git/commit/?id=b44ba09aa55dcd6b72e43583d52c07014e78a2d7
New Gerrit change created: https://git.eclipse.org/r/130235
Gerrit change https://git.eclipse.org/r/130235 was merged to [master]. Commit: http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/?id=13571d09f8a1213ae309fc5ac328eaecab7c70c3
*** Bug 539655 has been marked as a duplicate of this bug. ***
Removing a bundle is an unannounced API breakage. This appears to be an unannounced API breakage. Strictly speaking this requires a major version change, but more pragmatically surely it requires an announcement and a two year delay before removal? As it is existing builds fail on 4.10 I-builds since an existing dependency is missing. CRITCAL since the breakage has already been committed.
(In reply to Ed Willink from comment #16) > Removing a bundle is an unannounced API breakage. The bundle is still available in the p2 repo for those who still need it in their target-platform, and its API didn't change. It's just not included by default in feature/products any more. But there are alternatives and workaround. What is the actual issue you're seeing as an adopter? Please a separate bug about it and link it to this one.
(In reply to Mickael Istria from comment #17) > What is the actual issue you're seeing as an adopter? Please a separate bug > about it and link it to this one. I dupp'ed Ed's bug 539655 to this one. I have now reopened that one and linked it to this bug.
See https://github.com/eclipse/xtext-eclipse/issues/841 We currently use it as extra requirement in tycho
(In reply to Christian Dietrich from comment #19) > See https://github.com/eclipse/xtext-eclipse/issues/841 > We currently use it as extra requirement in tycho why do you have an explicit requirement on org.eclipse.equinox.ds?
I don’t know. The code is longer there than I am committer. Of course the commit messages has no clues. I assume the tests need that to have a proper ide started (don’t know which services are used in one of our gazillions of tests)
New Gerrit change created: https://git.eclipse.org/r/130417
Gerrit change https://git.eclipse.org/r/130417 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.common.git/commit/?id=a343a233fa91f6b76dae5083ae4ae883e4a80a4b
About the missing "org.eclipse.equinox.ds.tests" results in the "production" build, I think we have 2 choices: * Either we just remove them from the official build (remove lines 1661-1665 from eclipse.platform.releng.aggregator/production/testScripts/configuration/sdk.tests/testScripts/test.xml, or * We keep the test in, and we need to include org.eclipse.equinox.ds in the test feature eclipse.platform.releng.aggregator/eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml so it can be resolved.
New Gerrit change created: https://git.eclipse.org/r/130443
Gerrit change https://git.eclipse.org/r/130443 was merged to [master]. Commit: http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/?id=b51f5bad64d73179bbdd073c398428383e1302ee
(In reply to Eclipse Genie from comment #26) > Gerrit change https://git.eclipse.org/r/130443 was merged to [master]. > Commit: > http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/ > ?id=b51f5bad64d73179bbdd073c398428383e1302ee That's better approach so we still have tests verifying dynamic services work. Only single test verifying old felix annotations had to be removed.
Mickael, please make sure there is N&N entry and it's properly documented in migration docs (http://git.eclipse.org/c/platform/eclipse.platform.common.git/tree/bundles/org.eclipse.platform.doc.isv/porting - you would have to create the 4.10 stub pages first).
New Gerrit change created: https://git.eclipse.org/r/130458
(In reply to Alexander Kurtakov from comment #27) > (In reply to Eclipse Genie from comment #26) > > Gerrit change https://git.eclipse.org/r/130443 was merged to [master]. > > Commit: > > http://git.eclipse.org/c/equinox/rt.equinox.bundles.git/commit/ > > ?id=b51f5bad64d73179bbdd073c398428383e1302ee > > That's better approach so we still have tests verifying dynamic services > work. Only single test verifying old felix annotations had to be removed. Yes, I think that is the right thing to do. No need keeping tests for the old stuff that we will be getting rid of entirely in the future.
Gerrit change https://git.eclipse.org/r/130458 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.common.git/commit/?id=2e0b2199cb0236852924ef032ad38642e8477ec1
(In reply to Eclipse Genie from comment #29) > New Gerrit change created: https://git.eclipse.org/r/130458 Thanks Mickael, I merged the N&N entries.
A user's perspective on the necessary workarounds: 0) Originally o.e.equinox.ds was magically provided and started. 1) The o.a.felix.scr rationalization meant that o.e.equinox.ds/o.a.felix.scr was not started breaking Tycho 1.1.0 / 1.2.0 test startup. - workaround add an explicit Require-Bundle for o.e.equinox.ds to every test bundle 2) The o.e.equinox.ds 'removal' in terms of magic provision (it seems never to have been in a feature) causes Tycho to fail to resolve bundle requirements. This seems almost designed to break the previous workaround. - workaround add <unit id="org.eclipse.equinox.ds" version="0.0.0"/> to ensure it is fetched by the platform definition.
New Gerrit change created: https://git.eclipse.org/r/130526
Gerrit change https://git.eclipse.org/r/130526 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.common.git/commit/?id=ed28dc72942b67aba8167dd5b0a749c9d2e54033
When trying our product with 4.10 as platform, we ran into bug 540605 (resp. bug 510673).
I think we're done here.
(In reply to Mickael Istria from comment #37) > I think we're done here. Sorry. I don't. See Bug 539655. Tycho 1.3.0 is not yet available, so to build with current tools I have had to create my own dummy org.eclipse.equinox.ds to make many warnings go away. org.eclipse.equinox.ds is a referenceable entity. It is therefore API. The earlier changes for 4.9 mandated that users reference it. It should therefore remain available for two years after announcement of deprecation/removal. Today with Tycho 1.3.0 not even available, org.eclipse.equinox.ds is a necessary name, even if it does nothing.
Ed, this change was monitored and approved by project leads and even PMC I believe. I assume this means it's all clear in term of contract since those entities re careful experts of the topic. No concern about API was raised because package content aren't part of an API constraint, and the bundle is still referenceable and resolvable from p2 repo. Please use other tickets to track this on Tycho or other integrations, but unless there is something wrong inside Platform about it,please don't reopen.
The bundle is no longer part of the ZIP, which is what some/most users use to install Eclipse. I certainly don't install the Eclipse platform from a repo so my Eclipse installation is broken by this instant API breakage. Total violation of policy. Where on https://help.eclipse.org/2018-09/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fporting%2Fremovals.html is the mention that org.eclipse.equinox.ds is being removed or even changed? Tycho is an irrelevance since Tycho is not a synchronized to the platform. It just demonstrates the instancy of the breakage.
(In reply to Ed Willink from comment #40) > The bundle is no longer part of the ZIP, which is what some/most users use > to install Eclipse. I certainly don't install the Eclipse platform from a > repo so my Eclipse installation is broken by this instant API breakage. > Total violation of policy. > > Where on > https://help.eclipse.org/2018-09/index.jsp?topic=%2Forg.eclipse.platform.doc. > isv%2Fporting%2Fremovals.html is the mention that org.eclipse.equinox.ds is > being removed or even changed? > > Tycho is an irrelevance since Tycho is not a synchronized to the platform. > It just demonstrates the instancy of the breakage. So, what is the actual fix / instructions if one is coming from an older version, and is hitting this problem now? The app.products file includes <plugin id="org.apache.felix.scr"... /> in the <configurations> section. A) If I re-add the app.product file to include <plugin id="org.eclipse.equinox.ds...> (and use it in the .product file's <configurations> section), Tycho 1.7.0 produces an error of : Missing requirement: toolingcocoa.macosx.x86_64org.eclipse.equinox.ds 10.1.0.1128- requires 'osgi.bundle; org.eclipse.equinox.ds However, I remove this, still leaving the org.apache.felix.scr plugin, Tycho 1.7.0 errors with : "Unable to locate feature 'org.eclipse.equinox.executable'. This feature is required for native product launchers..." Is this a Tycho bug? [ https://bugs.eclipse.org/bugs/show_bug.cgi?id=565799#c2 ] I cannot find solutions to migrating from a .product's use of "org.eclipse.equinox.ds" to "org.apache.felix.scr" AND having Tycho product a build target which includes native launchers. Any and all suggestions welcome. TIA -jclausius
our product works fine with 2019-06 / 4.12 thus i wonder if you can provide a small reproducible example
(we use useFeatures=true though)
(In reply to Christian Dietrich from comment #42) > our product works fine with 2019-06 / 4.12 > thus i wonder if you can provide a small reproducible example Absolutely. Would you like it to target Linux, Mac, Windows (or any combination)?
best would be all 3
(In reply to Christian Dietrich from comment #43) > (we use useFeatures=true though) Our RCP app is plugin based ( useFeatures = false ). Seen any examples on how to convert to features based?