Skip to content

Conversation

@jmagman
Copy link
Member

@jmagman jmagman commented Aug 12, 2022

File.exists? has evidently been deprecated in Ruby 2.1 and was removed in Ruby 3.2 preview 1 (3.2 has not yet been released). https://bugs.ruby-lang.org/issues/17391
https://www.ruby-lang.org/en/news/2022/04/03/ruby-3-2-0-preview1-released/

I ran the RuboCop linter on the two Ruby files in our repo, which caught the deprecation, as well as some outdated syntax.

On podhelper.rb:

podhelper.rb:17:1: C: [Corrected] Style/EmptyMethod: Put empty method definitions on a single line.
def flutter_ios_podfile_setup ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:21:1: C: [Corrected] Style/EmptyMethod: Put empty method definitions on a single line.
def flutter_macos_podfile_setup ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:63:44: C: [Corrected] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      next if xcframework_file.start_with?(".") # Hidden file, possibly on external disk.
                                           ^^^
podhelper.rb:64:37: C: [Corrected] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      if xcframework_file.end_with?("-simulator") # ios-arm64_x86_64-simulator
                                    ^^^^^^^^^^^^
podhelper.rb:66:42: C: [Corrected] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      elsif xcframework_file.start_with?("ios-") # ios-arm64
                                         ^^^^^^
podhelper.rb:68:7: C: [Corrected] Style/EmptyElse: Redundant else-clause.
      else
      ^^^^
podhelper.rb:161:70: C: [Corrected] Style/RedundantSelf: Redundant self detected.
  ios_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
                                                                     ^^^^
podhelper.rb:170:39: C: [Corrected] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
  File.open(copied_podspec_path, 'w') { |podspec|
podhelper.rb:194:18: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  pod 'Flutter', :path => flutter_relative_path_from_podfile(podspec_directory)
                 ^^^^^^^^
podhelper.rb:200:70: C: [Corrected] Style/RedundantSelf: Redundant self detected.
  mac_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
                                                                     ^^^^
podhelper.rb:208:39: C: [Corrected] Style/BlockDelimiters: Avoid using {...} for multi-line blocks.
  File.open(copied_podspec_path, 'w') { |podspec|
                                      ^
podhelper.rb:232:23: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  pod 'FlutterMacOS', :path => File.join('Flutter', 'ephemeral')
podhelper.rb:241:66: C: [Corrected] Style/RedundantSelf: Redundant self detected.
  application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
                                                                 ^^^^
podhelper.rb:255:17: C: [Corrected] Style/ParenthesesAroundCondition: Don't use parentheses around the condition of an unless.
    next unless (plugin_name && plugin_path && has_native_build)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:259:5: C: [Corrected] Style/Next: Use next to skip iteration.
    if (plugin_name && plugin_path && has_native_build)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:259:8: C: [Corrected] Style/ParenthesesAroundCondition: Don't use parentheses around the condition of an if.
    if (plugin_name && plugin_path && has_native_build)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:266:24: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
      pod plugin_name, :path => File.join(relative, platform)
                       ^^^^^^^^
podhelper.rb:275:25: W: [Corrected] Lint/DeprecatedClassMethods: File.exists? is deprecated in favor of File.exist?.
  return [] unless File.exists? file_path
                        ^^^^^^^
podhelper.rb:276:38: C: [Correctable] Style/PreferredHashMethods: Use Hash#key? instead of Hash#has_key?.
  return [] unless dependencies_hash.has_key?('plugins')
                                     ^^^^^^^^
podhelper.rb:277:49: C: [Correctable] Style/PreferredHashMethods: Use Hash#key? instead of Hash#has_key?.
  return [] unless dependencies_hash['plugins'].has_key?('ios')

and the template script:

podhelper.rb:70:34: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  pod 'FlutterPluginRegistrant', :path => File.join(relative, 'Flutter', 'FlutterPluginRegistrant'), :inhibit_warnings => true
                                 ^^^^^^^^
podhelper.rb:70:102: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  pod 'FlutterPluginRegistrant', :path => File.join(relative, 'Flutter', 'FlutterPluginRegistrant'), :inhibit_warnings => true
                                                                                                     ^^^^^^^^^^^^^^^^^^^^
podhelper.rb:90:103: C: [Corrected] Style/Semicolon: Do not use semicolons to terminate expressions.
  flutter_export_environment_path = File.join('${SRCROOT}', relative, 'flutter_export_environment.sh');
                                                                                                      ^
podhelper.rb:93:16: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  script_phase :name => 'Run Flutter Build {{projectName}} Script',
               ^^^^^^^^
podhelper.rb:94:5: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
    :script => "set -e\nset -u\nsource \"#{flutter_export_environment_path}\"\nexport VERBOSE_SCRIPT_LOGGING=1 && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build",
    ^^^^^^^^^^
podhelper.rb:95:5: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
    :execution_position => :before_compile
    ^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:98:16: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
  script_phase :name => 'Embed Flutter Build {{projectName}} Script',
               ^^^^^^^^
podhelper.rb:99:5: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
    :script => "set -e\nset -u\nsource \"#{flutter_export_environment_path}\"\nexport VERBOSE_SCRIPT_LOGGING=1 && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh embed_and_thin",
    ^^^^^^^^^^
podhelper.rb:100:5: C: [Corrected] Style/HashSyntax: Use the new Ruby 1.9 hash syntax.
    :execution_position => :after_compile
    ^^^^^^^^^^^^^^^^^^^^^^
podhelper.rb:105:3: C: [Corrected] Style/IfUnlessModifier: Favor modifier unless usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
  unless File.exist?(generated_xcode_build_settings_path)
  ^^^^^^
podhelper.rb:110:39: C: [Corrected] Style/RedundantRegexpEscape: Redundant escape inside regexp literal
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
                                      ^^
podhelper.rb:130:42: W: [Corrected] Lint/UnusedBlockArgument: Unused block argument - build_configuration. You can omit the argument if you don't care about it.
    target.build_configurations.each do |build_configuration|
                                         ^^^^^^^^^^^^^^^^^^^

We have good test coverage of both these methods, but they are running on a stable version of Ruby in our CI (I think it's just using the macOS default system version 2.6).
Getting a preview version of Ruby into our CI system doesn't seem feasible, so filed #109431 to get a linter running in CI to catch deprecations like this.

Fixes #109385

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 Flutter Style Guide, including Features we expect every widget to implement.
  • I signed the CLA.
  • I listed at least one issue that this PR fixes in the description above.
  • 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.

@jmagman jmagman added the tool Affects the "flutter" command-line tool. See also t: labels. label Aug 12, 2022
@jmagman jmagman self-assigned this Aug 12, 2022
@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 (don't just cc him here, he won't see it! He's on Discord!).

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.

def flutter_parse_plugins_file(file, platform)
file_path = File.expand_path(file)
return [] unless File.exists? file_path
return [] unless File.exist? file_path
Copy link
Member Author

@jmagman jmagman Aug 12, 2022

Choose a reason for hiding this comment

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

This was the actual fix, exists? is deprecated.

podhelper.rb:275:25: W: [Corrected] Lint/DeprecatedClassMethods: File.exists? is deprecated in favor of File.exist?.
  return [] unless File.exists? file_path

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.

i don't think .exist? is better than .exists?, but nonetheless LGTM

@jmagman
Copy link
Member Author

jmagman commented Aug 12, 2022

i don't think .exist? is better than .exists?, but nonetheless LGTM

.exists? is deprecated, that's the bug this is fixing #109385. Take it up with the ruby lang folks I guess 🤷‍♀️

@christopherfujino
Copy link
Contributor

i don't think .exist? is better than .exists?, but nonetheless LGTM

.exists? is deprecated, that's the bug this is fixing #109385. Take it up with the ruby lang folks I guess woman_shrugging

don't mind me...
oldmanyellsatcloud

@Hixie
Copy link
Contributor

Hixie commented Aug 12, 2022

test-exempt: for practical reasons. testing this is likely to cost more than it saves since it's an entirely new ecosystem. #109431 in case we change out minds.

@jmagman jmagman added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 12, 2022
@auto-submit auto-submit bot merged commit dce82f7 into flutter:master Aug 12, 2022
@jmagman jmagman deleted the ruby-exists branch August 12, 2022 20:22
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 13, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 13, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 13, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 13, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 14, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/plugins that referenced this pull request Aug 15, 2022
stuartmorgan-g pushed a commit to flutter/plugins that referenced this pull request Aug 16, 2022
* 7d1323c Updating expiring cirrus key. (flutter/flutter#109461)

* a85902a Roll Flutter Engine from de118a55ade0 to c354e0e04cea (2 revisions) (flutter/flutter#109462)

* 28de3d4 Roll Flutter Engine from c354e0e04cea to d1b18b5d6811 (1 revision) (flutter/flutter#109466)

* a624cb7 Keep `dirty` manipulations private to `Element` base class (flutter/flutter#109401)

* dce82f7 Remove deprecated Ruby File.exists? in helper script (flutter/flutter#109428)

* 7887ca5 Revert "Keep `dirty` manipulations private to `Element` base class (#109401)" (flutter/flutter#109481)

* 237a298 Roll Flutter Engine from d1b18b5d6811 to a2f3bd58ce73 (1 revision) (flutter/flutter#109472)

* fe2fc8d Single tap on the previous selection should toggle the toolbar on iOS… (flutter/flutter#108913)

* 696c6fb Roll Flutter Engine from a2f3bd58ce73 to fb19700742c3 (6 revisions) (flutter/flutter#109482)

* 17bc0ce Roll Flutter Engine from fb19700742c3 to 2180e62f6c7e (1 revision) (flutter/flutter#109483)

* 4265015 Roll Flutter Engine from 2180e62f6c7e to cd1a1cb757f5 (1 revision) (flutter/flutter#109488)

* c142dd3 Roll Flutter Engine from cd1a1cb757f5 to 5cc5c5f04f0a (1 revision) (flutter/flutter#109490)

* 8a55c36 Roll Flutter Engine from 5cc5c5f04f0a to 18dca3de7496 (2 revisions) (flutter/flutter#109493)

* d50c5b1 Roll Flutter Engine from 18dca3de7496 to 83771593cb55 (1 revision) (flutter/flutter#109505)

* 97901da Cleaner test.dart output. (flutter/flutter#109206)

* fb3c8ea Roll Flutter Engine from 83771593cb55 to f49a617535af (1 revision) (flutter/flutter#109509)

* 5fcd9c2 Update README.md (flutter/flutter#109506)

* 4dd7065 Add onOpened callback to PopupMenuButton (flutter/flutter#103753)

* ed3238e Roll Flutter Engine from f49a617535af to cc9f4c63b7e5 (1 revision) (flutter/flutter#109518)

* 8b1ca3f Roll Flutter Engine from cc9f4c63b7e5 to 4656c2f46cad (1 revision) (flutter/flutter#109524)

* 20ffb32 Roll Flutter Engine from 4656c2f46cad to 16fb19e72f88 (1 revision) (flutter/flutter#109526)

* 087750f Roll Flutter Engine from 16fb19e72f88 to 9c3c233e2639 (1 revision) (flutter/flutter#109532)

* 4aba124 Roll Flutter Engine from 9c3c233e2639 to f0c3829e90ce (1 revision) (flutter/flutter#109536)

* 2bce108 Roll Plugins from 9fb7654 to 094f1c3 (7 revisions) (flutter/flutter#109543)

* 97d9a2f Roll Flutter Engine from f0c3829e90ce to 8c019cdd446f (2 revisions) (flutter/flutter#109548)

* 458d618 Roll Flutter Engine from 8c019cdd446f to 198b0051a5a2 (1 revision) (flutter/flutter#109552)

* c873c21 Roll Flutter Engine from 198b0051a5a2 to 33fccf564973 (1 revision) (flutter/flutter#109557)
camsim99 pushed a commit to camsim99/plugins that referenced this pull request Aug 23, 2022
* 7d1323c Updating expiring cirrus key. (flutter/flutter#109461)

* a85902a Roll Flutter Engine from de118a55ade0 to c354e0e04cea (2 revisions) (flutter/flutter#109462)

* 28de3d4 Roll Flutter Engine from c354e0e04cea to d1b18b5d6811 (1 revision) (flutter/flutter#109466)

* a624cb7 Keep `dirty` manipulations private to `Element` base class (flutter/flutter#109401)

* dce82f7 Remove deprecated Ruby File.exists? in helper script (flutter/flutter#109428)

* 7887ca5 Revert "Keep `dirty` manipulations private to `Element` base class (#109401)" (flutter/flutter#109481)

* 237a298 Roll Flutter Engine from d1b18b5d6811 to a2f3bd58ce73 (1 revision) (flutter/flutter#109472)

* fe2fc8d Single tap on the previous selection should toggle the toolbar on iOS… (flutter/flutter#108913)

* 696c6fb Roll Flutter Engine from a2f3bd58ce73 to fb19700742c3 (6 revisions) (flutter/flutter#109482)

* 17bc0ce Roll Flutter Engine from fb19700742c3 to 2180e62f6c7e (1 revision) (flutter/flutter#109483)

* 4265015 Roll Flutter Engine from 2180e62f6c7e to cd1a1cb757f5 (1 revision) (flutter/flutter#109488)

* c142dd3 Roll Flutter Engine from cd1a1cb757f5 to 5cc5c5f04f0a (1 revision) (flutter/flutter#109490)

* 8a55c36 Roll Flutter Engine from 5cc5c5f04f0a to 18dca3de7496 (2 revisions) (flutter/flutter#109493)

* d50c5b1 Roll Flutter Engine from 18dca3de7496 to 83771593cb55 (1 revision) (flutter/flutter#109505)

* 97901da Cleaner test.dart output. (flutter/flutter#109206)

* fb3c8ea Roll Flutter Engine from 83771593cb55 to f49a617535af (1 revision) (flutter/flutter#109509)

* 5fcd9c2 Update README.md (flutter/flutter#109506)

* 4dd7065 Add onOpened callback to PopupMenuButton (flutter/flutter#103753)

* ed3238e Roll Flutter Engine from f49a617535af to cc9f4c63b7e5 (1 revision) (flutter/flutter#109518)

* 8b1ca3f Roll Flutter Engine from cc9f4c63b7e5 to 4656c2f46cad (1 revision) (flutter/flutter#109524)

* 20ffb32 Roll Flutter Engine from 4656c2f46cad to 16fb19e72f88 (1 revision) (flutter/flutter#109526)

* 087750f Roll Flutter Engine from 16fb19e72f88 to 9c3c233e2639 (1 revision) (flutter/flutter#109532)

* 4aba124 Roll Flutter Engine from 9c3c233e2639 to f0c3829e90ce (1 revision) (flutter/flutter#109536)

* 2bce108 Roll Plugins from 9fb7654 to 094f1c3 (7 revisions) (flutter/flutter#109543)

* 97d9a2f Roll Flutter Engine from f0c3829e90ce to 8c019cdd446f (2 revisions) (flutter/flutter#109548)

* 458d618 Roll Flutter Engine from 8c019cdd446f to 198b0051a5a2 (1 revision) (flutter/flutter#109552)

* c873c21 Roll Flutter Engine from 198b0051a5a2 to 33fccf564973 (1 revision) (flutter/flutter#109557)
@jmagman
Copy link
Member Author

jmagman commented Aug 23, 2022

Note to future self:

flutter/packages/flutter_tools/bin/.rubocop.yml

AllCops:
  TargetRubyVersion: 2.5
Layout:
  Enabled: false

moisefeelin pushed a commit to feelinproject/plugins that referenced this pull request Aug 26, 2022
* 7d1323c Updating expiring cirrus key. (flutter/flutter#109461)

* a85902a Roll Flutter Engine from de118a55ade0 to c354e0e04cea (2 revisions) (flutter/flutter#109462)

* 28de3d4 Roll Flutter Engine from c354e0e04cea to d1b18b5d6811 (1 revision) (flutter/flutter#109466)

* a624cb7 Keep `dirty` manipulations private to `Element` base class (flutter/flutter#109401)

* dce82f7 Remove deprecated Ruby File.exists? in helper script (flutter/flutter#109428)

* 7887ca5 Revert "Keep `dirty` manipulations private to `Element` base class (#109401)" (flutter/flutter#109481)

* 237a298 Roll Flutter Engine from d1b18b5d6811 to a2f3bd58ce73 (1 revision) (flutter/flutter#109472)

* fe2fc8d Single tap on the previous selection should toggle the toolbar on iOS… (flutter/flutter#108913)

* 696c6fb Roll Flutter Engine from a2f3bd58ce73 to fb19700742c3 (6 revisions) (flutter/flutter#109482)

* 17bc0ce Roll Flutter Engine from fb19700742c3 to 2180e62f6c7e (1 revision) (flutter/flutter#109483)

* 4265015 Roll Flutter Engine from 2180e62f6c7e to cd1a1cb757f5 (1 revision) (flutter/flutter#109488)

* c142dd3 Roll Flutter Engine from cd1a1cb757f5 to 5cc5c5f04f0a (1 revision) (flutter/flutter#109490)

* 8a55c36 Roll Flutter Engine from 5cc5c5f04f0a to 18dca3de7496 (2 revisions) (flutter/flutter#109493)

* d50c5b1 Roll Flutter Engine from 18dca3de7496 to 83771593cb55 (1 revision) (flutter/flutter#109505)

* 97901da Cleaner test.dart output. (flutter/flutter#109206)

* fb3c8ea Roll Flutter Engine from 83771593cb55 to f49a617535af (1 revision) (flutter/flutter#109509)

* 5fcd9c2 Update README.md (flutter/flutter#109506)

* 4dd7065 Add onOpened callback to PopupMenuButton (flutter/flutter#103753)

* ed3238e Roll Flutter Engine from f49a617535af to cc9f4c63b7e5 (1 revision) (flutter/flutter#109518)

* 8b1ca3f Roll Flutter Engine from cc9f4c63b7e5 to 4656c2f46cad (1 revision) (flutter/flutter#109524)

* 20ffb32 Roll Flutter Engine from 4656c2f46cad to 16fb19e72f88 (1 revision) (flutter/flutter#109526)

* 087750f Roll Flutter Engine from 16fb19e72f88 to 9c3c233e2639 (1 revision) (flutter/flutter#109532)

* 4aba124 Roll Flutter Engine from 9c3c233e2639 to f0c3829e90ce (1 revision) (flutter/flutter#109536)

* 2bce108 Roll Plugins from 9fb7654 to 094f1c3 (7 revisions) (flutter/flutter#109543)

* 97d9a2f Roll Flutter Engine from f0c3829e90ce to 8c019cdd446f (2 revisions) (flutter/flutter#109548)

* 458d618 Roll Flutter Engine from 8c019cdd446f to 198b0051a5a2 (1 revision) (flutter/flutter#109552)

* c873c21 Roll Flutter Engine from 198b0051a5a2 to 33fccf564973 (1 revision) (flutter/flutter#109557)
mauricioluz pushed a commit to mauricioluz/plugins that referenced this pull request Jan 26, 2023
* 7d1323c Updating expiring cirrus key. (flutter/flutter#109461)

* a85902a Roll Flutter Engine from de118a55ade0 to c354e0e04cea (2 revisions) (flutter/flutter#109462)

* 28de3d4 Roll Flutter Engine from c354e0e04cea to d1b18b5d6811 (1 revision) (flutter/flutter#109466)

* a624cb7 Keep `dirty` manipulations private to `Element` base class (flutter/flutter#109401)

* dce82f7 Remove deprecated Ruby File.exists? in helper script (flutter/flutter#109428)

* 7887ca5 Revert "Keep `dirty` manipulations private to `Element` base class (#109401)" (flutter/flutter#109481)

* 237a298 Roll Flutter Engine from d1b18b5d6811 to a2f3bd58ce73 (1 revision) (flutter/flutter#109472)

* fe2fc8d Single tap on the previous selection should toggle the toolbar on iOS… (flutter/flutter#108913)

* 696c6fb Roll Flutter Engine from a2f3bd58ce73 to fb19700742c3 (6 revisions) (flutter/flutter#109482)

* 17bc0ce Roll Flutter Engine from fb19700742c3 to 2180e62f6c7e (1 revision) (flutter/flutter#109483)

* 4265015 Roll Flutter Engine from 2180e62f6c7e to cd1a1cb757f5 (1 revision) (flutter/flutter#109488)

* c142dd3 Roll Flutter Engine from cd1a1cb757f5 to 5cc5c5f04f0a (1 revision) (flutter/flutter#109490)

* 8a55c36 Roll Flutter Engine from 5cc5c5f04f0a to 18dca3de7496 (2 revisions) (flutter/flutter#109493)

* d50c5b1 Roll Flutter Engine from 18dca3de7496 to 83771593cb55 (1 revision) (flutter/flutter#109505)

* 97901da Cleaner test.dart output. (flutter/flutter#109206)

* fb3c8ea Roll Flutter Engine from 83771593cb55 to f49a617535af (1 revision) (flutter/flutter#109509)

* 5fcd9c2 Update README.md (flutter/flutter#109506)

* 4dd7065 Add onOpened callback to PopupMenuButton (flutter/flutter#103753)

* ed3238e Roll Flutter Engine from f49a617535af to cc9f4c63b7e5 (1 revision) (flutter/flutter#109518)

* 8b1ca3f Roll Flutter Engine from cc9f4c63b7e5 to 4656c2f46cad (1 revision) (flutter/flutter#109524)

* 20ffb32 Roll Flutter Engine from 4656c2f46cad to 16fb19e72f88 (1 revision) (flutter/flutter#109526)

* 087750f Roll Flutter Engine from 16fb19e72f88 to 9c3c233e2639 (1 revision) (flutter/flutter#109532)

* 4aba124 Roll Flutter Engine from 9c3c233e2639 to f0c3829e90ce (1 revision) (flutter/flutter#109536)

* 2bce108 Roll Plugins from 9fb7654 to 094f1c3 (7 revisions) (flutter/flutter#109543)

* 97d9a2f Roll Flutter Engine from f0c3829e90ce to 8c019cdd446f (2 revisions) (flutter/flutter#109548)

* 458d618 Roll Flutter Engine from 8c019cdd446f to 198b0051a5a2 (1 revision) (flutter/flutter#109552)

* c873c21 Roll Flutter Engine from 198b0051a5a2 to 33fccf564973 (1 revision) (flutter/flutter#109557)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

podhelper.rb uses deprecated, recently-removed exists? method

3 participants