kamikat / moshi-jsonapi

JSON API v1.0 Specification in Moshi.
MIT License
156 stars 35 forks source link

Duplicate class ...MoshiRequestBodyConverter found in modules - version 3.5.0 #105

Open ralfgehrer opened 4 years ago

ralfgehrer commented 4 years ago

I added moshi-jsonapi to my Android project as follows in the build.gradle:

implementation 'moe.banana:moshi-jsonapi:3.5.0'
implementation 'moe.banana:moshi-jsonapi-retrofit-converter:3.5.0'

As I'm using Retrofit in my project, I also added the converter. Unfortunately, there are now three Duplicate classes, that seem to be packaged in both modules. Stack trace below:

* What went wrong:
Execution failed for task ':app:checkDevDebugDuplicateClasses'.
> 1 exception was raised by workers:
  java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class moe.banana.jsonapi2.JsonApiConverterFactory found in modules moshi-jsonapi-retrofit-converter-3.5.0.jar (moe.banana:moshi-jsonapi-retrofit-converter:3.5.0) and retrofit-converter-3.5.0.jar (moe.banana.moshi-jsonapi:retrofit-converter:3.5.0)
  Duplicate class moe.banana.jsonapi2.JsonApiConverterFactory$MoshiRequestBodyConverter found in modules moshi-jsonapi-retrofit-converter-3.5.0.jar (moe.banana:moshi-jsonapi-retrofit-converter:3.5.0) and retrofit-converter-3.5.0.jar (moe.banana.moshi-jsonapi:retrofit-converter:3.5.0)
  Duplicate class moe.banana.jsonapi2.JsonApiConverterFactory$MoshiResponseBodyConverter found in modules moshi-jsonapi-retrofit-converter-3.5.0.jar (moe.banana:moshi-jsonapi-retrofit-converter:3.5.0) and retrofit-converter-3.5.0.jar (moe.banana.moshi-jsonapi:retrofit-converter:3.5.0)

Any idea how to fix this @kamikat ?

ralfgehrer commented 4 years ago

My current workaround is as follow:

    implementation 'com.squareup.moshi:moshi:1.4.0'
    implementation ('moe.banana:moshi-jsonapi:3.5.0') {
        exclude group: 'moe.banana.moshi-jsonapi', module: 'retrofit-converter'
    }
    implementation 'moe.banana:moshi-jsonapi-retrofit-converter:3.5.0'