Rather than creating an uber-jar, this changes the cava.jar to only be a pom-only source of dependency information for including all the jars for each cava component. The uber-javadoc jar is still published.
Doing so resolves a potential dependency conflict situation, where a library depends on a single cava component, and a project includes both that library and the cava uber-jar.
The PR also adjusts dependencies to ensure necessary libraries are automatically included when using a single cava component. Larger dependencies are excluded from the dependency tree when using the complete cava distrubtion and must still be added explicitly.
Rather than creating an uber-jar, this changes the cava.jar to only be a pom-only source of dependency information for including all the jars for each cava component. The uber-javadoc jar is still published.
Doing so resolves a potential dependency conflict situation, where a library depends on a single cava component, and a project includes both that library and the cava uber-jar.
The PR also adjusts dependencies to ensure necessary libraries are automatically included when using a single cava component. Larger dependencies are excluded from the dependency tree when using the complete cava distrubtion and must still be added explicitly.