Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Conversation

@ened
Copy link
Contributor

@ened ened commented Oct 12, 2018

No description provided.

@JamesMcIntosh
Copy link
Contributor

JamesMcIntosh commented Oct 18, 2018

This upgrade of dependencies when used in conjunction with the other new firebase plugin versions causes problems due to the transitive android.arch.core version 1.1.0 dependencies from play-services-auth:16.0.1.

When mixing the 1.1.0 and 1.1.1 versions the dex fails as follows:

Gradle build fails while trying to dex with "Program type already present: android.arch.core.util.Function"

see: https://stackoverflow.com/questions/50524672/build-fails-with-program-type-already-present-android-arch-core-util-function

As a workaround until 'play-services-auth' bumps it's dependency I recommend either explicitly specifying version 1.1.1 of these libraries as a dependency or adding a note in the README documentation.

implementation "android.arch.core:runtime:1.1.1"
implementation "android.arch.core:common:1.1.1"

@ened
Copy link
Contributor Author

ened commented Oct 18, 2018

@JamesMcIntosh Would adding:

implementation "android.arch.core:runtime:1.1.1"
implementation "android.arch.core:common:1.1.1"

To this components build.gradle help? If so I will update the PR.

@JamesMcIntosh
Copy link
Contributor

JamesMcIntosh commented Oct 18, 2018

I tested and adding them as api dependencies fixes the issue.

api "android.arch.core:runtime:1.1.1"
api "android.arch.core:common:1.1.1"

I'm feel more like this should be added to the README as a known issue for this release / suggested workaround as this is a problem of interop between libraries since they are both libraries in the same project maybe one of the Google crew would like to throw in their thoughts. @bparrishMines ?

I dug a little bit further to see where the dependency incompatibility came from:

  1. cloud_firestore bumps the version of firebase
  2. This in turn bumps the version of android.arch.lifecycle to 1.1.1
  3. This bumps the transitive dependency of android.arch.lifecycle in google_sign_in
  4. It falls apart because android.arch.core:runtime is not a dependency of android.arch.lifecycle so remains at 1.1.0.
+--- project :google_sign_in
|    \--- com.google.android.gms:play-services-auth:16.0.1
|         +--- com.google.android.gms:play-services-auth-api-phone:16.0.0
|         |    +--- com.google.android.gms:play-services-base:16.0.1
|         |    |    +--- com.google.android.gms:play-services-basement:16.0.1
|         |    |    |    \--- com.android.support:support-v4:26.1.0 -> 27.1.1
|         |    |    |         +--- com.android.support:support-compat:27.1.1
|         |    |    |         |    +--- com.android.support:support-annotations:27.1.1
|         |    |    |         |    \--- android.arch.lifecycle:runtime:1.1.0 -> 1.1.1
|         |    |    |         |         +--- android.arch.lifecycle:common:1.1.1
...
+--- project :cloud_firestore
|    \--- com.google.firebase:firebase-firestore:17.1.1
|         +--- android.arch.lifecycle:common:1.1.1 (*)
|         +--- android.arch.lifecycle:runtime:1.1.1 (*)

@ened ened force-pushed the google-sign-in/play-services branch from 0c2e422 to 2ef8b31 Compare November 21, 2018 02:51
@ened ened changed the title [google_sign_in] Latest Android dependencies & added NonNull annotations [google_sign_in] Added NonNull annotations Nov 21, 2018
@ened
Copy link
Contributor Author

ened commented Nov 21, 2018

@JamesMcIntosh updated the PR to match latest status on master. This would be good for a review now as it's a lot simpler.

@JamesMcIntosh
Copy link
Contributor

Looks good to me but one of the Google crew will need to accept it.

@ened ened changed the title [google_sign_in] Added NonNull annotations [google_sign_in] Added NonNull annotations, reduce Guava usage Nov 23, 2018
Copy link
Contributor

@cyanglaz cyanglaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did the first round of review.
I will also do some manual integration test later to make sure everything works fine.
Although I might not be able to merge this PR until we have added E2E test in this plugin.

@ened ened requested a review from mehmetf as a code owner April 18, 2019 01:47
@ened ened force-pushed the google-sign-in/play-services branch from 69d9dc6 to 1adcfad Compare May 13, 2019 11:37
@cyanglaz
Copy link
Contributor

cyanglaz commented Jul 8, 2019

@ened It seems like the CI is not happy about the formatting, I think I can merge this after you fix the CI errors.

@cyanglaz cyanglaz added the submit queue The Flutter team is in the process of landing this PR. label Jul 8, 2019
@ened ened force-pushed the google-sign-in/play-services branch from d968d08 to 3945035 Compare July 9, 2019 03:26
@ened
Copy link
Contributor Author

ened commented Jul 9, 2019

@cyanglaz The CI is not happy about other things, too - but I don't think it's related to my PR. Please take a look.

@ened
Copy link
Contributor Author

ened commented Jul 9, 2019

@cyanglaz it’s green

@cyanglaz cyanglaz merged commit 19bdcce into flutter:master Jul 9, 2019
cyanglaz pushed a commit to cyanglaz/plugins that referenced this pull request Jul 10, 2019
mithun-mondal pushed a commit to bKash-developer/archived_plugins that referenced this pull request Aug 6, 2019
mithun-mondal pushed a commit to bKash-developer/archived_plugins that referenced this pull request Aug 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bugfix cla: yes submit queue The Flutter team is in the process of landing this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants