Julian Hyde wrote:
I can see the wisdom of including shaded Jackson and Guava in
Avatica's uber jar. But for core Calcite, if as you say, applications
can simply override with their own version of various libraries, I
would prefer to not shade. I think we should test Calcite on a range
of Guava versions (say 11 to 19) and ship by default with a modern one
(say 18).
The same goes for Jackson, although I would not be inclined to support
old versions for quite so long.
That's fair. My recommendations were made with the assumption that we
wouldn't want to take on that burden in Calcite itself (we know what we
test with, we use that, and we insulate users from even knowing that's
happening).
Testing against some ranges of versions would also be acceptable, IMO.