Skip to content

Conversation

jmagman
Copy link
Member

@jmagman jmagman commented Jun 10, 2020

Description

Parse .flutter-plugins-dependencies instead of the old .flutter-plugins to only embed the ios-enabled plugins via CocoaPods.

.flutter-plugins was a flat list of all plugins and their pub cache path, regardless of supported platform:

device_info=/Users/m/.pub-cache/hosted/pub.dartlang.org/device_info-0.4.2+4/

.flutter-plugins-dependencies is json:

{
   "info":"This is a generated file; do not edit or check into version control.",
   "plugins":{
      "ios":[
         {
            "name":"device_info",
            "path":"/Users/m/.pub-cache/hosted/pub.dartlang.org/device_info-0.4.2+4/",
            "dependencies":[
            ]
         }
      ],
      "android":[
         {
            "name":"device_info",
            "path":"/Users/m/.pub-cache/hosted/pub.dartlang.org/device_info-0.4.2+4/",
            "dependencies":[
            ]
         }
      ],
      "macos":[
      ],
      "linux":[
      ],
      "windows":[
      ],
      "web":[
      ]
   },
   "dependencyGraph":[
      {
         "name":"device_info",
         "dependencies":[
         ]
      }
   ],
   "date_created":"2020-06-09 13:50:39.352998",
   "version":"1.19.0-6.0.pre.38"
}

See https://docs.google.com/document/d/1W_IpXetVIgjHipKnu-zPHnDApdiwXR0RfugY6Sm8NAg/edit

Related Issues

Fixes #39659

Tests

Updated integration test to test a plugin that doesn't support iOS.

Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I signed the [CLA].
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

  • No, no existing tests failed, so this is not a breaking change.
  • Yes, this is a breaking change. If not, delete the remainder of this section.

@jmagman jmagman added platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels. labels Jun 10, 2020
@jmagman jmagman self-assigned this Jun 10, 2020
@fluttergithubbot
Copy link
Contributor

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.

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

@fluttergithubbot fluttergithubbot added the c: contributor-productivity Team-specific productivity, code health, technical debt. label Jun 10, 2020
@@ -2,6 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

require 'json'
Copy link
Member Author

Choose a reason for hiding this comment

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

Ruby std lib module available since Ruby 0.4, CocoaPods depends on it, safe to use here.

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

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

LGTM, with a nit about linking in comment to flutter.dev/go/plugins-list-migration

@fluttergithubbot fluttergithubbot merged commit 3744b82 into flutter:master Jun 11, 2020
@jmagman jmagman deleted the flutter-plugins-dependencies branch June 11, 2020 20:27
zljj0818 pushed a commit to zljj0818/flutter that referenced this pull request Jun 22, 2020
mingwandroid pushed a commit to mingwandroid/flutter that referenced this pull request Sep 6, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: contributor-productivity Team-specific productivity, code health, technical debt. platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow plugins to not support iOS
5 participants