Skip to content
This repository has been archived by the owner on Jan 22, 2019. It is now read-only.

OSGi manifest for jackson-datatype-guava is very restrictive for guava package imports - version=[15.0,16) #70

Closed
sprynter opened this issue Jun 19, 2015 · 1 comment · Fixed by #71
Milestone

Comments

@sprynter
Copy link
Contributor

The Import-Package OSGi directive in the Manifest.MF is generated using the (reasonable) "this version to next major version" algorithm. Unfortunately, Guava releases are all major version releases (15,16,17).

Import-Package: com.google.common.collect;version="[15.0,16)",com.google
 .common.base;version="[15.0,16)",com.google.common.cache;version="[15.0
 ,16)",com.google.common.hash;version="[15.0,16)",com.google.common.net;
 version="[15.0,16)"

The (current) latest release is 18.0.0 (bundle version). Given Guava's commitment to backward compatibility (esp. in their collections), it would be more reasonable to not version restrict the package imports for Guava. Or at least the open-ended, just "15.0.0".

@cowtowncoder
Copy link
Member

Yes, I lament the way Guava authors chose to do versioning. It makes very little sense.
Then again, their pruning of obsolete things is somewhat aggressive, so we would have a few major versions anyway if semantic versioning was followed. Just not this many.

I am open to improvements here. But since I am not very knowledgeable of how to get versioning declarations changed via Maven OSGi bundle plugin, I'd need help here.
I guess there is also the related question of Maven depencencies (which are the basis for defaults use by plugin), although at least with Maven builds it is relatively easy to override transitive dependency versions.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants