-
Notifications
You must be signed in to change notification settings - Fork 87
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
Remove re-exports in MANIFEST.MF and use Import-Package where suitable #1074
Conversation
cb0d7a6
to
b86f779
Compare
Thank you for your PR. I have no time to look into this now, but would happily help with this PR in October. It seems that the removed reexports now result in missing dependencies. |
Unfortunately yes. But I did some experiments locally and it looks like that it works without version-ranges. |
None I can think of right now. Maybe we just did not do it yet. |
On a second thought we typically wait for Xtext to change they tycho version to be compatible with what they are doing. |
b86f779
to
807da1a
Compare
I have now found the cause for the build failure: Since in more recent releases the original artifacts are used, I have now reverted the change to use Import-Package instead of require bundle for Guice. It can be done later, when updating the TP. This now only removes the re-exports and the build now passes.
Xtext uses Tycho 4.0.9 at the moment, , but you are using on older Version of Xtext. And I haven't checked the Tycho version it uses. Btw. with that and the first point, are you interested in a TP update? To the latest 2024-09 SimRel? |
We will update to a newer version together with the TP.
We are interested in a TP update, however, we currently do not have time to test for issues with our upstream dependencies. Maybe this can be a separate PR that could be merged once we had time to check this out? |
807da1a
to
840cf6c
Compare
Sounds both good. 👍🏽 I can create a separate PR for updating the TP and Tycho to the latest versions. I already looked into it a bit and it shouldn't be a big problem. From my side this PR is ready for submission. Please let me know if you need any adaptions. |
Re-exporting required bundles is convenient in the first place but can cause a lot of trouble on the long run.
When reexporting a required bundle that bundle effectively becomes part of the exporting bundle's API with all the consequences regarding versioning. Additionally in an OSGi runtime it can cause resolution errors if multiple versions are available.
Because of all that using reexports is not recommended and should be avoided.
This PR suggests to do that for ELK and removes all reexports and adds the therefore necessary explicit requirements instead.