-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bundle with Export-Package javax.annotation prevents Eclipse from starting #727
Comments
I think I found a relative small fix. The questions is, whether the upstream project would be willing to integrated that. Adding this to the
|
@iloveeclipse would you be able to publish a new version of that artifact into Maven Central? Should I open a new bug with Spotbugs to re-publish jsr305? |
I personally not, I haven't touched Maven publishing topic in my life.
|
Vendoring third-party source code for the Bazel Eclipse plug-in. It's heavily used within Google OSS code. |
You mean "jsr305" is used there. That's because the original findbugs author introduced that there long time ago but had no interest to continue but we have to live since that with the abandoned JSR... Well, you could try to open a ticket for spotbugs, and provide a PR which I could merge, but I have no idea who did the publishing (probably @KengoTODA) and how it is done. |
The Platform does Maven publishing. Also EMF. So I have some idea how it's done. It's not trivially easy though... |
@guw I think this problem should already be solved with #738. Luckily the
So with the applied version range of [1,2), the importing bundles cannot be wired to |
Yes, that should help. Is this available in an integration build for testing? |
It should be available in the two latest I-builds. |
@HannesWell confirmed it does not work. :( Needs to restrict import version range also in Orbit |
@HannesWell It was marked completed but I re-open because |
It is included in some features, I think what actually needs to be done is to update the version/qualifier change in the |
@HannesWell Do those provide proper boundaries on the imports? Also, what's your plan for continue supporting plugins written using the old |
That's the (stripped to the relevant) Manifest of
It does not contain any Import-Package, so I think it's fine :)
The |
Is this one still relevant? |
The main problem is here that actually the findbugs annotations *are not meant to be included at runtime, they are compile time (and probably class/tool analysis time), so one actually should never have them anywhere in a running eclipse... Sadly here again findbugs is a bit odd as some are marked with RUNTIME (for whatever reason...): Nevertheless excluding them should only result in them not be resolvable, so if you never query them at runtime it should be perfectly safe to simply exclude them from your product at all. |
@akurtakov Thanks to the work of @HannesWell this is no longer an issue. I'll close it. |
Noticed an interesting exception when trying to run an Eclipse Application self-hosted.
The issue is caused by having JSR 305 available in the target platform (dsl):
The problem is that
org.eclipse.e4.ui.workbench
(and a lot other bundles) get wired to the JSR 305 provided package because they useImport-Package
and the package is exported with a higher version. However, the problem is that JSR 305 does not provide aPostConstruct
annotation. Therefore e4 DI does not invoke theinit
method onResourceHandler
.org.eclipse.e4.core.di
is doingRequire-Bundle
:This is a difficult split-package situation. I think the JSR bundle should export packages with split attribute. Same probably applies to the
javax.annotation
bundle but I am afraid this will break lots of existing plug-ins.Note, I don't have a recommendation for a fix yet. But I wanted to report the issue for visibility. It's easy to run into with Maven support in target platforms.
The text was updated successfully, but these errors were encountered: