-
Notifications
You must be signed in to change notification settings - Fork 16
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
Replace embedded osgi-sources by osgi-bundles from Maven-Central #26
Conversation
This again requires eclipse-platform/eclipse.platform.releng.aggregator#235 to be submitted first. |
79bd3bc
to
14b0dcf
Compare
b566e25
to
27664f9
Compare
237e061
to
e8c0884
Compare
After some debugging I found the cause of the test-failure to be that the System property "org.osgi.vendor.application.ApplicationDescriptor" is not set to the Equinox implementation of I wonder how is that supposed to work respectivly how can I make the equinox implementation accessible for |
Furthermore it looks like the |
Yes, this is a dead specification. I suggest we just leave the source here (embedded). I had forgotten about the delegate stuff in there. I never did like the design of that API for this reason. The only way I could see to make it work reasonably was to modify the source to fit our implementation. This has worked up to now. I don't see us needing to evolve this API at this point and I see no need to spin our wheels trying to consume the classes from the OSGi artifact in maven central. |
Understand. Yes then consuming that jar from Maven-Central would not make our life easier. And given the require-bundle problem with that Plugin I agree that we should leave the OSGi sources in Just for curiosity is there a way to use the unmodified jars from Maven-Central? To me it looks like this is not possible without some hacks/magic within an OSGi application? |
And update to latest version of - org.osgi.service.coordinator - org.osgi.service.log.stream - org.osgi.util.pushstream Discussed in issue: https://github.com/eclipse-equinox/equinox.framework/issues/40
Are you then fine with this change? |
Here you are asking about the In retrospect it may have been best to not model the Eclipse application model on the OSGi application admin specification. At the time we were separating this bit out of the |
Yes, using a fragment should work, but as you said would thinks more complicated compared to the current one. Leaving it as it is IMHO the better way. Especially since the OSGi Application Admin specification is not developed further.
Too bad, but as long as it does not hinder us it is Okey. Because it is not developed further by OSGi is it then OK to fix the warnings in those osgi-application source file that occur when you enable them? Usually we should use a 1:1 copy of the originals but in this case I think an exception would be OK. I'm asking because I noticed there is some potential for clean ups in o.e.equinox.app (and probably the entire equinox-bundles repo) and I have the intention to do that. |
If the jar from central is a bundle you can use it in OSGi, no hacks required. Beside that, pax-url offers a wrap protocol to |
As discussed in eclipse-equinox/equinox#18, this replaces the embedded osgi-sources of
org.eclipse.equinox.app
,org.eclipse.equinox.coordinator
andorg.eclipse.equinox.log.stream
by corresponding osgi-bundles from Maven-Central.@tjwatson as you suggested, for
org.eclipse.equinox.coordinator
andorg.eclipse.equinox.log.stream
the removed osgi packages are just imported.For
org.eclipse.equinox.app
the bundleorg.osgi.service.application
is also required and reexported, because as you predictedorg.eclipse.equinox.app
itself is required and reexport byorg.eclipse.core.runtime
. Just removing theorg.osgi.service.application
package will break many bundles even directly in the Eclipse SDK so this will require some more coordinated effort to get rid of.Maybe this could be the start to remove all reexports from
org.eclipse.core.runtime
.