> I don't think that you (carrot as a library) should do any shading. I > think that when someone prepares a Solr component including carrot, > that they should avoid dependencies that possibly conflict. Jackson is > a particular risk factor, since 'minor' versions are mutually > incompatible, so the presence of Jackson x.y precludes the use of some > other package that requires jackson x.z.
I realize this but then I think shading should be used exactly when somebody encounters this kind of problem (incompatible versions must coexist on classpath). It is a pain. It is wrong. But it's a less error-prone solution than shading everything possible for every possible package out there. I don't rule out the possibility that we will be preparing a "self-contained" release in the future because JAR conflicts are a common issue, but I also kind of know for a fact what kind of pain it is because we _are_ trimming the distribution for .net cross-compilation (which in the essence is similar to package renaming/ obfuscation). It is an unbelievably tedious process to check if everything works after each upgrade (even with tests and everything). Dawid --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
