| Summary: | Where has org.eclipse.equinox.ds gone? | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Ed Willink <ed> |
| Component: | Releng | Assignee: | Platform-Releng-Inbox <platform-releng-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | christian.dietrich.opensource, ken, loskutov, mistria, tjwatson, velo.br |
| Version: | 4.9 | ||
| Target Milestone: | 4.10 M3 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | 538737 | ||
| Bug Blocks: | 539657 | ||
|
Description
Ed Willink
I think you are referring to the removal of it from the RCP feature. Moving to releng. No. I'm referring to the removal of the plugin from the platform distro allowing Tycho to barf on dependency not found. (In reply to Ed Willink from comment #2) > No. I'm referring to the removal of the plugin from the platform distro > allowing Tycho to barf on dependency not found. Pretty sure we are talking about the same thing. You should voice your concern in bug 538737. *** This bug has been marked as a duplicate of bug 538737 *** Re-opening issue as requested by bug 538737 comment 17 > Eclipse 4.10 I-builds does not. The org.eclipse.equinox.ds bundle is still (or at least should still be) in the p2 repository so people can use it in their target-platforms. > This appears to be an unannounced API breakage. Not really, An API is an API, a removed bundle from a feature/product but with the bundle still available to dependency resolution by using the project site is not really an API breakage as it doesn't prevent working code from working at runtime (worst case is it cause build or install issues). > No. I'm referring to the removal of the plugin from the platform distro > allowing Tycho to barf on dependency not found. Tycho 1.3.0-SNAPSHOT already has it fixed. For Tycho 1.2.0 and earlier with Eclipse 4.10 as TP, some adjustments may be necessary; like explicitly including org.eclipse.equinox.ds in TP. All that said, I agree this should be announced to wider audience with some FAQ and troubleshooting hints. What would be great would be that you help in producing such a guide by sharing the actual error message you got and the pom that led to it to initiate the catalog of typical issues and remediations. (In reply to Mickael Istria from comment #5) > Tycho 1.3.0-SNAPSHOT already has it fixed. > For Tycho 1.2.0 and earlier with Eclipse 4.10 as TP, some adjustments may be > necessary; like explicitly including org.eclipse.equinox.ds in TP. Tycho 1.3.0 is not available. 1.3.0-SNAHOT is not resolved by Tycho. It is my explicit require bundle for org.eclipse.equinox.ds that is barfing on 4.10 but not 4.9.. (In reply to Ed Willink from comment #6) > It is my explicit require bundle for org.eclipse.equinox.ds that is barfing > on 4.10 but not 4.9.. When is it failing? At build-time? If so, please adjust your build target platform so it can reference the org.eclipse.equinox.ds bundle, that is still present in http://download.eclipse.org/eclipse/updates/4.10-I-builds . Also, you should audit why your bundle require org.eclipse.equinox.ds and whether the requirement could be replaced by a capability-requirement, that org.apache.felix.scr could resolve as well. Xtext is affected as well (In reply to Christian Dietrich from comment #8) > Xtext is affected as well How? We have the following in our tp <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit"> <unit id="org.eclipse.jdt.feature.group" version="0.0.0"/> <unit id="org.eclipse.platform.feature.group" version="0.0.0"/> <unit id="org.eclipse.pde.feature.group" version="0.0.0"/> <unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="0.0.0"/> <repository location="http://download.eclipse.org/eclipse/updates/4.10-I-builds"/> </location> And this in the Pom of a test bundle <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <configuration> <dependency-resolution> <extraRequirements> <requirement> <type>eclipse-plugin</type> <id>org.eclipse.equinox.ds</id> <versionRange>1.0.0</versionRange> </requirement> <requirement> <type>eclipse-plugin</type> <id>org.eclipse.equinox.event</id> <versionRange>1.0.0</versionRange> </requirement> <requirement> <type>eclipse-plugin</type> <id>org.eclipse.pde.ui</id> <versionRange>1.0.0</versionRange> </requirement> <requirement> <type>eclipse-plugin</type> <id>org.eclipse.equinox.event</id> <versionRange>1.0.0</versionRange> </requirement> <requirement> <type>eclipse-feature</type> <id>org.eclipse.platform</id> <versionRange>3.6</versionRange> </requirement> <requirement> <type>eclipse-feature</type> <id>org.eclipse.pde.api.tools.ee.feature</id> <versionRange>1.0.0</versionRange> </requirement> <requirement> <type>eclipse-feature</type> <id>org.eclipse.jdt</id> <versionRange>0.0.0</versionRange> </requirement> </extraRequirements> </dependency-resolution> </configuration> </plugin> </plugins> This fails cause equinox.ds is not found (In reply to Christian Dietrich from comment #10) > <extraRequirements> The best solution (which is backward compatible) seems to remove several features and bundles from this list to replace them by a requirement on the org.eclipse.rcp feature. There are certainly workarounds, but the need for them demonstrates that there is a packaging (API) breakage. Because of the previous felix.scr problems OCL and friends (and presumably Xtext and friends) had to add dependencies on org.eclipse.equinox.ds that were satisfied by a major feature such as org.eclipse.sdk.feature.group. This enabled 4.9 and Tycho 1.2.0 to work. Now this is broken by retractions that are surely not permitted without multi-year delay? (In reply to Ed Willink from comment #12) > There are certainly workarounds, but the need for them demonstrates that > there is a packaging (API) breakage. The breakage is a bit magic. Before 4.9, probably most users/developers were totally unaware that org.eclipse.equinox.ds existed. It appeared in no feature and was just magically activated by the platform. Removal in 4.10 would not have been a problem APR/feature-wise. However TYcho is very aware of org.eclipse.equinox.ds so changing the behavior of org.eclipse.equinox.ds is a breakage that affects Tycho users. The change in 4.9 meant that users/developers had to learn about org.eclipse.equinox.ds and put a require-bundle in their test plugins (pending the availability of Tycho 1.3.0). Now the removal of the magic provision of org.eclipse.equinox.ds means that users/developers must explicitly provision org.eclipse.equinox.ds by adding it to the target platform definition. Since Tycho is not part and not even synchronized with the platform, it would seem that the platform should remain compatible with Tycho versions of reasonable vintage, i.e. 1.1.0 and 1.2.0 and retain the ability for org.eclipse.equinox.ds to be started for at least a couple of years after announcement of its deprecation. Comment #5 answers the question. Marking as resolved. Further concerns seem more relevant to.bring to Tycho. well isnt the problem that we all have to wait 3 or more more weeks for tycho 1.3 which is quite late in the 2018-12 game? (In reply to Christian Dietrich from comment #15) > well isnt the problem that we all have to wait 3 or more more weeks for > tycho 1.3 which is quite late in the 2018-12 game? Maybe. But it's an issue in Tycho,not in Platform. well i wonder what we can learn from this to get such problems resolve in a smoother way in the future (In reply to Christian Dietrich from comment #17) > well i wonder what we can learn from this to get such problems resolve in a > smoother way in the future Tycho 1.3.0-SNAPSHOT has been able to deal with it for more 2.5 months now, almost immediately after Platform made the change. Many projects have been using Tycho 1.3.0-SNAPSHOT and 4.10 TP successfully. This was discussed and documented on many channels. So it's not really something we can blame Platform for: communication from Platform to Tycho and to community and reactivity in term of development in Tycho was good. There was actually no problem on that part. This is not really in the control of Platform if Tycho community didn't produce a release for this case yet. I think it's more up to the community of users and developers of Tycho to learn something, and that the following of the discussion would better happen on Tycho mailing-list or tickets. well i am not talking about the last 6 weeks or so. obviously the plans of removal where there for longer so i wonder why this was not recognized to be an issue and resolved before e.g. in tycho 1.2 (In reply to Christian Dietrich from comment #19) > obviously the plans of removal where there for longer What makes you say so? Bug 538737 - Remove org.eclipse.equinox.ds from products Reported 2018-09-06 10:15 EDT (In reply to Christian Dietrich from comment #19) > wonder why this was not recognized to be an issue and resolved before > e.g. in tycho 1.2 You mean 6 months ago? So your comment can be rephrased to "I wonder why a change that was suggested 2.5 months ago wasn't anticipated downstream 6 month ago?". I let you think about it ;) well the problem is that i always see the events at the other end of the food chain (platform) and see that i don't have a new released tycho version to eat when i want to use the new platform. afaik tycho is not part of the simultaneos releases which then forces us (or even projects out in the wild) to use snapshots (In reply to Christian Dietrich from comment #21) > afaik tycho is not part of the > simultaneos releases which then forces us (or even projects out in the wild) > to use snapshots Again, a Platform ticket isn't the right place to discuss that. If you want, PDE and the headless workspace build are still part of SimRel ;) I am having this same problem. Every time the Eclipse version changes I have to change my configuration on long-standing RCP applications, often a frustrating task. (See https://bugs.eclipse.org/bugs/show_bug.cgi?id=494913#c12 for details). This magic involves declaring org.eclipse.equinox.ds, even though it says it is unused. For 4.10 I cannot fix it because org.eclipse.equinox.ds isn't there. If I just delete org.eclipse.equinox.ds as a dependency, it runs in the Workspace but not when deployed. The validity check on the plugins succeeds. The update site in Comment #7 does not exist. I don't know where to find org.eclipse.equinox.ds. I am not using Tycho nor Maven. These are just Eclipse RCP applications that were written a long time ago. Ok, I found it in the 4.10 update site under Equinox Target Components. If someone would explain why I need this plug-in (which it says is unused on top of that) to deploy but not run in the Workspace, that would be appreciated. And perhaps a way to get around it? Thanks. Ok, I found it in the 4.10 update site under Equinox Target Components. If someone would explain why I need this plug-in (which it says is unused on top of that) to deploy but not run in the Workspace, that would be appreciated. And perhaps a way to get around it? Thanks. You don't need it any more, but workarounds for its initial demise may need it. For OCL, I have my own dummy version of it just to satisfy residual dependencies. I do need it. Without it what I deploy doesn't run, even though it runs in the Workspace. I don't see where it is coming in. It isn't a required plug-in. It, in fact, says it is unused. It has to be added manually. But, again, without it what I deploy doesn't run. Thanks for the link. It looks like org.apache.felix.scr would replace using org.eclipse.equinox.ds. I would have to do trial-and-error on it to be sure. I am building with J2SE-1.8 (in a Java 10 Workbench) at least until I resolve some Java 9+ issues and maybe longer, so I don't know if doing that is appropriate or not. For the moment, now that I found org.eclipse.equinox.ds, my problem is fixed. What either of these does is unknown to me. The "add-required-plugins" capability should find what I need. It doesn't, and that is probably a bug. I shouldn't have to know the details of every last detail in the platform. The "add-required-plugins" capability has been broken for a long time. Bug #494913 addresses the "add-required-plugins" capability issue, but has not been resolved since 2016. (In reply to Ed Willink from comment #6) > Tycho 1.3.0 is not available. 1.3.0-SNAHOT is not resolved by Tycho. Now that Tycho 1.3.0 is available, my need for a hard requirement of equinox.ds in the platform definition in order to satisfy the optional requirement by test plugins vanishes. Bye bye psudo-org.eclipse.equinox.dos. We really should have a mechanism to get a fixed Tycho released before the platform release that necessitates a fixed Tycho. |