proxima-platform icon indicating copy to clipboard operation
proxima-platform copied to clipboard

proxima-core jar file contains unshaded dependencies

Open RadoBuransky opened this issue 3 years ago • 5 comments

Current version 0.9.0 of the library produces JAR file which contains com.typesafe.config, com.google.* which causes runtime issues for the consumers of this library due to classpath conflicts. Please relocate/shade/rename these packages. Thanks

RadoBuransky avatar Sep 30 '22 14:09 RadoBuransky

The typesafe config is part of the API (ConfigRepository takes config), shading it can be possibility, but it would break current code. Can you use the same version of typesafe config as is used by the core?

Regarding com.google, that looks like a bug (errorprone, thirdparty).

je-ik avatar Oct 26 '22 08:10 je-ik

See datadrivencz#735

je-ik avatar Oct 26 '22 09:10 je-ik

It would make sense to me to declare non-shade-relocated dependencies in POM ( and exclude from shaded JAR ) so they are a) directly visible to dev as to what is being used and b) let consumers of library resolve version conflicts via their build tools

JozoVilcek avatar Oct 26 '22 10:10 JozoVilcek

That makes sense. It would require some tools checking the API surface, so that the final jar actually contains only classes from cz.o2.proxima.* and all the rest would be excluded from shade. It would also require to publish the dependency-reduced.pom, which I'm not sure if we do now.

je-ik avatar Oct 26 '22 12:10 je-ik

Should be fixes with gradle build, see here. Might mot be applied to all io modules consistently yet.

je-ik avatar Jul 31 '23 09:07 je-ik