dmfs / oauth2-essentials

An OAuth2 client implementation based on http-client-essentials.
Apache License 2.0
86 stars 21 forks source link

Does not compile in Android Studio #64

Closed yurtesen closed 5 years ago

yurtesen commented 5 years ago

Readme suggests using:

dependencies {
    // oauth2-essentials
    compile 'org.dmfs:oauth2-essentials:0.13'
    // optional to use httpurlconnection-executor, any other HttpRequestExecutor
    // implementation will do
    compile 'org.dmfs:httpurlconnection-executor:0.18'
}

However compile is obsolete and android studio wants to use implementation

But more importantly the duplicate checks give errors and can not complete compilation

Duplicate class org.dmfs.iterables.ArrayIterable found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.CachingIterable found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.CachingIterable$SynchronizedCachingIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.CsvIterable found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.Distinct found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.Repeatable found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.Repeatable$SynchronizedCachingIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.Split found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.UnquotedSplit found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.decorators.Filtered found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.decorators.Flattened found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.decorators.Mapped found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterables.decorators.Reverse found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractBaseIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractConvertedIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractConvertedIterator$Converter found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractFilteredIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractFilteredIterator$1 found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.AbstractFilteredIterator$IteratorFilter found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.ArrayIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.ConvertedIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.CsvIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.DistinctIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.EmptyIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.Filter found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.FilteredIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.FluentIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.Function found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.SerialIterableIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.SerialIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.SerialIteratorIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.SingletonIterator found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.Split found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.UnquotedSplit found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.decorators.Filtered found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.decorators.Flattened found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.decorators.Fluent found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.decorators.Mapped found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.decorators.Serialized found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.filters.AnyOf found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.filters.Distinct found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.filters.NonNull found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.filters.NoneOf found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.iterators.filters.Skip found in modules iterators-1.5.jar (org.dmfs:iterators:1.5) and jems-1.23.jar (org.dmfs:jems:1.23)
Duplicate class org.dmfs.optional.Absent found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)
Duplicate class org.dmfs.optional.First found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)
Duplicate class org.dmfs.optional.NullSafe found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)
Duplicate class org.dmfs.optional.Optional found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)
Duplicate class org.dmfs.optional.Present found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)
Duplicate class org.dmfs.optional.decorators.Mapped found in modules jems-1.23.jar (org.dmfs:jems:1.23) and optional-0.3.jar (org.dmfs:optional:0.3)

Go to the documentation to learn how to Fix dependency resolution errors.

The latest working combination is

    implementation 'org.dmfs:oauth2-essentials:0.11'
    implementation 'org.dmfs:httpurlconnection-executor:0.16.2'
dmfs commented 5 years ago

I see, looks like httpurlconnection-executor has an old transient dependency which pulls these old org.dmfs:iterators:1.5 and org.dmfs:optional:0.3 libraries.

I'll update this dependency and release a new version which fixes this. For the time being you should be able to overcome the issue by raising org.dmfs:rfc3986-uri to version 0.8.1.

   implementation 'org.dmfs:rfc3986-uri:0.8.1'
yurtesen commented 5 years ago

@dmfs thanks for the quick response. I am not in hurry, I will test your new version when it is released. Thank you!

dmfs commented 5 years ago

version 0.14 should fix this issue (by declaring the correct dependency version)