ConsenSysMesh / cava

ConsenSys core libraries for Java & Kotlin
Apache License 2.0
84 stars 34 forks source link

Make complete distribution depend on components #33

Closed cleishm closed 6 years ago

cleishm commented 6 years ago

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.