-
-
Notifications
You must be signed in to change notification settings - Fork 301
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
Manual: Add section about Resolving Multi-Release JAR Files #6135
Conversation
Signed-off-by: Christoph <[email protected]>
Signed-off-by: Christoph <[email protected]>
LGTM. I'd suggest @pkriens takes a final look, as he wrote most of the code around it. |
This is not completely correct. There is only one bundle resource. This was a discussion when we developed the multi release jar support. @timothyjward wanted to model it as different bundles. A Multi-Release JAR (MRJ) has directories in The problem is that this makes some requirements dependent on the VM. To model this, we introduced synthetic resource for each supported VM release that can only resolve on that release and when the release specific requirements of the bundle can be resolved. This is only about modeling a JAR as a resource in an OSGi repository. Nothing is changed in the original JAR. So we first treat the multi release bundle as any other bundle when we turn it into a resource, the release directories are ignored. If there are none, we're actually done. Otherwise, we add a single requirement to a For the We also add the requirements of the bundle if it would run on that release. The synthetic resources are added to the same repository of the original bundle. |
I might be misunderstanding the image @pkriens, but are the versions in the green boxes flipped; where:
? Aside from that, great explanation! |
You're right. Will fix it. |
Signed-off-by: Christoph <[email protected]>
thanks @pkriens I have taken your answer and updated the text. see 4589c54 and added my example and the image. I asked ChatGPT to summarize what you have written, but it basically repeated the same what you said, just structured a little bit different. |
LGTM, go ahead and merge. It is really hard to explain this stuff because in my mind it is so obvious, logical, and simple :-) |
@pkriens any idea why the DCO failed? I have signed off as usual. |
Not sure what it means but I guess you can fix it? Otherwise just merge it .... if it happens again we can fix it. |
Based on and almost quote of answer by @juergen-albert in https://bnd.discourse.group/t/questions-about-resolving-errors/450/3
I found your answer very good and thought this should be in the manual.
Open for feedback or additions.