-
I noticed that equinox has osgi.annotation.jar embedded and used as jars.extra.classpath while other OSGi sources are just inside the bundle itself and compiled. Is there any reason for this? Binary files are hard to version and jars.extra.classpath is pde specific and therefore usually not accessible for other maven tools... |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
These annotations are compile time only annotations. We should never introduce a solution that would require these packages to actually exist at runtime (i.e. a result that adds `Import-Package: org.osgi.annotation.versioning" to the bundles that compile against them) But perhaps this is already fixed by PDE/tycho? Looking at my PDE projects for Equinox it seems the "Plug-in Dependencies" classpath container already auto-adds: plugins/org.osgi.annotation.bundle_2.0.0.202202082230.jar I assume the same thing happens with a Tycho/maven build. If that is the case then I believe we can safely remove our embedded osgi.annotation.jar and just assume they come from free? |
Beta Was this translation helpful? Give feedback.
These annotations are compile time only annotations. We should never introduce a solution that would require these packages to actually exist at runtime (i.e. a result that adds `Import-Package: org.osgi.annotation.versioning" to the bundles that compile against them)
But perhaps this is already fixed by PDE/tycho? Looking at my PDE projects for Equinox it seems the "Plug-in Dependencies" classpath container already auto-adds:
plugins/org.osgi.annotation.bundle_2.0.0.202202082230.jar
plugins/org.osgi.annotation.versioning_1.1.2.202109301733.jar
plugins/org.osgi.service.component.annotations_1.5.0.202109301733.jar
I assume the same thing happens with a Tycho/maven build. If that is the cas…