-
Notifications
You must be signed in to change notification settings - Fork 117
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
[PDE] update biz.aQute.bndlib and -util to version 6.3.0 #445
Conversation
According to clearlydefinied we have at least IP-clearance for these libraries:
|
Yep that's a good choice, I don't think there is no need to rush here. |
Updated to bnd.lib 6.2 and created issue eclipse-equinox/equinox#18 to discuss the update of the required packages. |
Please stop using Require-Bundle for bnd artifacts in m2e. You should instead Import-Package whatever packages you use. Bndtools also uses bnd artifacts and uses Import-Package to access the necessary packages. Require-Bundle has undesirable side-effects and should almost never be used. I am concerned about resolution issues when Bndtools and the m2e-pde feature are both installed. This could result in multiple copies of bnd artifacts being installed and resolved. |
Yes, we should not do that. The only problem is that we do not include all dependencies in the m2e p2-repo. I will create a separate PR to address those points. |
Done in #652. |
While using import-package is always preferred I don't see why multiple bnd artifacts should be an issue? One key point of OSGi is its ability to have the same bundle in multiple versions in the same framework and ahndling that case. If bndtools has restrictions regarding this it should be fixed and do not put the burden to other projects (we recently had this discussion regarding some other project using groovy). Beside that, as m2e only consumes the BND-LIb API and never expose anything from it in its own API I don't see a reason why it should interfere anyways. |
The issue I'm aware of is many bundles in the IDE not versioning imports/require-bundles thus open to runtime issues. It is smth that would better be fixed properly but fixing the world happens to be extremely tough job (technically, mentally and socially) thus some extra effort is done to reduce possibilities for extra breakage in order to make one step at a time. |
As mentioned above and you already stated, then these bundle needs to be fixed instead of putting additional cross-project-dependency-management burden on unrelated projects.
And that's why nothing changes beside the usual complains ... but I'm sure bnd-tools is well aware of how proper imports work and thus don't expect any issues either with or without this change beside that there might be some not strictly needed extra artifacts around. |
@HannesWell do you think we should include this now? Was there some adjustments in Equinox? How does BND-Tools solve the issue, maybe we can simply use their approach then? |
Yes I have refactored the corresponding Equinox plug-ins to use the 'original' OSGi bundles from Maven-Central. The Equinox plug-ins that embedded the code will become deprecated for removal. But this will only be available with the Eclipse 2022-06. If we include this now we would have to add the missing bundles into the m2e repo (and could then remove them again as soon Eclipse 2022-06 is used by m2e). |
As I understand m2e 2.x will target 2022-06 so maybe we can just refrence the ibuilds right now?
Its more that there where some effort to be more compatible with what bndtools uses, so I assume they will use the latest version. From my side, we can wait until the 2022-06 is release without any problem. |
It is target to be included into 2022-06 but it is released as a standalone project before so if we require Eclipse 2022-06 the new 2.0 release won't be consumable by users until 2022-06 has been released or if one uses the milestone release already.
Then lets wait for it. :) |
Well if you wait another week or so, Bnd 6.3.0 will be released :-) |
2b78d50
to
76c25bb
Compare
/request-license-review |
All licenses already successfully vetted. |
Now that we use Eclipse 4.24 in our target-platform we also have the In order to provide |
This PR aims to update
biz.aQute.bndlib
andbiz.aQute.bnd.util
to version 6.1.0.But this it requires the following OSGi packages that are not yet present in Equinox:
For the first two packages only in version 1.1.0 respectively 1.1.1. is present in Equinox (in the bundle
org.eclipse.osgi.util
).The latter seems not to be included in Equinox at all (at least I could not find it in the rt.equinox repos).
I think we should not ship those packages with m2e, therefore I'll see what I can do in this regard in Equinox, but we have to wait for Eclipse 2022-03 M1.