martint / jmxutils

Exporting JMX mbeans made easy
Apache License 2.0
173 stars 47 forks source link

Why shaded? #28

Open jdillon opened 9 years ago

jdillon commented 9 years ago

Why has guava and paranamer been shaded in? This makes this otherwise pretty lightweight library bloated and at least for myself makes it less desirable to re-use over re-implementation.

I get that some folks it may be simpler with a single jar, but in that case a shaded "attached" artifact may be simpler, and leaves those that already have rigid controls over dependencies the flexibility to use the library with-out the shaded inflation.

martint commented 9 years ago

This was to avoid exposing the dependency on guava, which could cause problems for users that rely on other possibly incompatible versions of that library. Guava is only used internally and none of its APIs are exposed by jmxutils.

I'm not against producing a self-contained version and one that declares its dependencies and only bundles the jmxutils classes. It's the first time I hear someone needing it, so that's why I never did it :)