Skip to content
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

Invalid Manifest for org.eclipse.ui.intro #122

Closed
amergey opened this issue May 2, 2023 · 4 comments · Fixed by #123
Closed

Invalid Manifest for org.eclipse.ui.intro #122

amergey opened this issue May 2, 2023 · 4 comments · Fixed by #123
Labels
bug Something isn't working regression Regression defect

Comments

@amergey
Copy link

amergey commented May 2, 2023

Since commit 9c6244e0b8e64c2c7fde93836070213ec39335a0
org.eclipse.core.expressions is removed but is still necessary (at compile time, and runtime as well)

Now it comes from org.eclipse.help.base (which reexport it) and without org.eclipse.help.base plugin in target platform, displaying welcome intro is not possible (CNFE for org.eclipse.core.expressions.IEvaluationContext)

I think either org.eclipse.base should become mandatory, either org.eclipse.core.expressions should be restored, otherwise it can leads with broken products

@iloveeclipse
Copy link
Member

iloveeclipse commented May 2, 2023

@HannesWell : could you please check?

@HannesWell
Copy link
Member

Good catch @amergey, thanks for this report.
Just created #123 to restore the bundle requirement.
Re-exports are really bad on the long run especially when making the re-exporter an optional requirement.

I think either org.eclipse.base should become mandatory, either org.eclipse.core.expressions should be restored, otherwise it can leads with broken products

Making org.eclipse.help a mandatory required bundle of o.e.ui.intro would definitely have the same effect. From my first look I have the impression that it isn't optional anyway, but I cannot tell for sure if the o.e.ui.intro can reasonable work without the help Plugin.
@amergey do you have more insight in the details, since you encountered this situation?

If you think, o.e.help should become a mandatory requirement would you like to open a PR to apply that fix?

@laeubi
Copy link
Contributor

laeubi commented May 3, 2023

Re-exports are really bad on the long run especially when making the re-exporter an optional requirement.

Also without optional requirements... re-export is more a way to transition from one exporter to another (something that would be avoided by import-package much better), I even think PDE should warn if a bundle uses a reexported package and suggest to instead use the real exporting bundle (or even better use import-package).

akurtakov pushed a commit that referenced this issue May 3, 2023
It was removed in PR
#19 because
it is transitively available, since o.e.core.expressions is reexported
by o.e.help, which is rexported by o.e.help.base, which is required by
o.e.ui.intro. But the requirement of o.e.ui.intro for o.e.help.base is
only optional and therefore the help bundles can be absent, which leads
to class-loading errors when loading classes from o.e.core.expressions.

Restoring the requirement for o.e.core.expressions fixes this problem.

Fixes #122
@amergey
Copy link
Author

amergey commented May 3, 2023

without org.eclipse.help.base in TP, trying to display welcome display following error (see screenshot). I noticed that when upgrading TP from 2022-03 to 2023-03. In our TP we did not have org.eclipse.help.base and it worked before (but we have org.eclipse.help).

Outside of the issue I raised here, it seems org.eclipse.help.base is declared as a dependency becaused it reexports org.eclipse.help which seems necessary for org.eclipse.ui.intro.
org.eclipse.help.base itself is only required by /org.eclipse.ui.intro/src/org/eclipse/ui/internal/intro/impl/model/IntroSearchParticipant.java.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working regression Regression defect
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants