java-json-tools / jackson-coreutils

JSON Pointer (RFC 6901) and numeric JSON equivalence for Jackson (2.2.x)
Other
5 stars 6 forks source link

Replace OSGi plugin with biz.aQute.bnd. #14

Closed Capstan closed 4 years ago

Capstan commented 5 years ago

Fixes #13.

Capstan commented 5 years ago

Knowing little about OSGi, and seeing little configuration for it in the Gradle files, I'd like someone else to take a look at this before merging.

huggsboson commented 5 years ago

Do we know if we even need the osgi plugin anymore? What fails if we remove it?

huggsboson commented 5 years ago

I scanned the build.gradle it doesn't look like we use the osgiManifest function introduced by that plugin, so I'd say we just remove it.

Capstan commented 5 years ago

I know so little about OSGi. This was somewhat spurred by requests to remove Guava due in issue #3 because it drastically increases the size of their JAX-RS web app, and java-json-tools/json-schema-core/pull/40 where they were having issues in the OSGi environment due to segregated classloaders. I presume people are using it this way, but we don't currently have any e2e testing for it.

/cc @soberich @borcsokj in case they have feedback on what / how it's used in OSGi.

Capstan commented 5 years ago

Also, according to https://docs.gradle.org/5.6.3/userguide/osgi_plugin.html, the OSGi plugin does affect the build without being otherwise referenced, by changing the manifest object, and adding a osgiClasses task.

https://github.com/bndtools/bnd/blob/4.2.0.REL/biz.aQute.bnd.gradle/README.md has some more details about how that plugin differs, but it looks like it similarly instruments the builds.

This isn't currently a priority for me to develop expertise in to make tests for, so I am relying on user feedback or contributions.

huggsboson commented 5 years ago

Thanks for the research. Sounds good to me.