We're observing that the com.smartcar.sdk:java-sdk:3.10.0 includes copies of both Gson and Apache Commons internally.
This is an issue because are including the classes from those libraries with the default package/namespace, i.e. com.google.gson.* and org.apache.commons.*. This means that any code that uses your library and wants to use a DIFFERENT version of those libraries will have collisions.
The most common solutions to this are either to:
repackage those libraries, so instead they are referenced as e.g.com.smartcar.repackaged.internal.google.gson.*
declare those libraries as an implementation dependency instead of an api dependency in your build.gradle properly
Hello!
We're observing that the com.smartcar.sdk:java-sdk:3.10.0 includes copies of both Gson and Apache Commons internally.
This is an issue because are including the classes from those libraries with the default package/namespace, i.e.
com.google.gson.*
andorg.apache.commons.*
. This means that any code that uses your library and wants to use a DIFFERENT version of those libraries will have collisions.The most common solutions to this are either to:
com.smartcar.repackaged.internal.google.gson.*
build.gradle
properlyFor more reading on option 2, please see https://docs.gradle.org/current/userguide/java_library_plugin.html.
Please let me know if you'd like a pull request with one of the two options!