Our dependencies are starting to get a little complicated on the Java side.
I propose we build two (possibly more) jars related to our major dependencies and functions.
1. avro.jar (or perhaps avro-core.jar)
This contains all of the core avro functionality for using avro as a library. This excludes the specific compiler, avro idl, and other build-time or development tools, as well as avro packages for third party integration such as hadoop. This jar should then have a minimal set of dependencies (jackson, jetty, SLF4J ?).
This would contain compilers, idl, development tools, etc. Most applications will not need this, but build systems and developers will.
This would contain the hadoop API and possibly pig/hive/whatever related to that. This makes it easier for pig/hive/hadoop to consume avro-core without circular dependencies.