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

Conversation

@stuartmorgan-g
Copy link
Contributor

@stuartmorgan-g stuartmorgan-g commented Nov 21, 2021

Fixes compilation failures in unit tests on master.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat.

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@stuartmorgan-g
Copy link
Contributor Author

But now I'm not finding this in the test results so I'm wondering if I was looking at the wrong results set and this one is fixed by my PR. I'll do a more thorough sweep of what's failing here.

Nevermind, I see what's happening. This is indeed a publishing issue as you suggested, because the failure is in IAP; the IAP example uses shared_preferences. This won't go green in presubmit, but will be okay post-submit once I (manually) publish)

Okay, the failures are:

  • android_alarm_manager integration tests failing due to dex size.
    • As I said above, I forget how to fix this although I know I've done it once; IIRC it's some gradle tweaks? If it's non-trivial we could just disable these tests as this plugin is very nearly EoL and it's extremely unlikely we'll change it in the next month.
  • iap_android unit tests:
    • The issue described above
  • local_auth unit tests:
    • The same thing, just with flutter_plugin_android_lifecycle
  • quick_actions
    • Another dex issue; we need to fix this one
  • video_player unit tests:
    • Another publish-based problem, but with path_provider_android

@stuartmorgan-g
Copy link
Contributor Author

I'm going to split out the ones that need to be published into a separate PR. That should be able to pass presubmit, and we can get it landed and then manually publish those while we figure out the dex issues for this PR.

stuartmorgan-g added a commit to stuartmorgan-g/plugins that referenced this pull request Nov 22, 2021
Precursor to flutter#4533

On master channel, plugin unit tests must now build with SDK version 31.
These plugins are transitive dependencies of other plugins' examples,
which causes unit test failures in those plugins's unit test builds, so
these need to be landed and publish in order for that PR to pass
presubmit.
@stuartmorgan-g
Copy link
Contributor Author

Posted #4535 for the subset.

Longer term, we should probably figure out if we can change the way our unit tests build somehow so that transitive dependencies of the example apps (which aren't actually involved in the unit test on Android AFAIK?) can't cause this kind of build failure...

@blasten
Copy link

blasten commented Nov 22, 2021

stuartmorgan-g added a commit that referenced this pull request Nov 22, 2021
Precursor to #4533

On master channel, plugin unit tests must now build with SDK version 31.
These plugins are transitive dependencies of other plugins' examples,
which causes unit test failures in those plugins's unit test builds, so
these need to be landed and publish in order for that PR to pass
presubmit.
@stuartmorgan-g
Copy link
Contributor Author

stuartmorgan-g commented Nov 22, 2021

Thanks! I've pushed a version of the PR that updates the min deployment SDK version for the examples apps of the plugins that had issues, but it's not clear to me if that is all it needs, or we need to actually enable multidex in the plugin itself (which we definitely wouldn't want to do by changing the deployment SDK version). (I didn't have time to test locally as I need to head out for a while.)

@blasten
Copy link

blasten commented Nov 22, 2021

You can also use the --multidex flag, but it requires to use flutter build. Is there any reason why to call Gradle directly?

@blasten blasten marked this pull request as ready for review November 23, 2021 00:04
@blasten
Copy link

blasten commented Nov 23, 2021

Merging to fix the tree

@blasten blasten merged commit bb65f91 into flutter:master Nov 23, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 23, 2021
@stuartmorgan-g stuartmorgan-g deleted the android-31-everywhere branch November 23, 2021 00:42
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 23, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 23, 2021
amantoux pushed a commit to amantoux/plugins that referenced this pull request Dec 11, 2021
Precursor to flutter#4533

On master channel, plugin unit tests must now build with SDK version 31.
These plugins are transitive dependencies of other plugins' examples,
which causes unit test failures in those plugins's unit test builds, so
these need to be landed and publish in order for that PR to pass
presubmit.
amantoux pushed a commit to amantoux/plugins that referenced this pull request Dec 11, 2021
KyleFin pushed a commit to KyleFin/plugins that referenced this pull request Dec 21, 2021
Precursor to flutter#4533

On master channel, plugin unit tests must now build with SDK version 31.
These plugins are transitive dependencies of other plugins' examples,
which causes unit test failures in those plugins's unit test builds, so
these need to be landed and publish in order for that PR to pass
presubmit.
KyleFin pushed a commit to KyleFin/plugins that referenced this pull request Dec 21, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants