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

[flutter_plugin_tools] Allow overriding breaking change check #4369

Conversation

stuartmorgan
Copy link
Contributor

@stuartmorgan stuartmorgan commented Sep 21, 2021

Adds the ability to override the current prohibition against breaking changes to platform interfaces with a justification (following a set pattern, which will be documented in the wiki) in the PR description. This fixes the incorrect hard limit that's currently in place, but ensures that there is enough extra process that:

  • PR authors won't be able to change major versions without realizing that it's strongly discouraged and prominently explaining why they believe it's necessary, and
  • PR reviewers are much less likely to miss in review that a strongly discouraged change is being made.

Fixes flutter/flutter#85391

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. (Note that 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.
  • I updated CHANGELOG.md to add a description of the change.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
  • All existing and new tests are passing.

@stuartmorgan stuartmorgan marked this pull request as draft September 21, 2021 19:53
@google-cla google-cla bot added the cla: yes label Sep 21, 2021
@stuartmorgan stuartmorgan force-pushed the tool-breaking-platform-interface-override branch from a222ec9 to 082ed06 Compare September 21, 2021 20:13
@stuartmorgan stuartmorgan force-pushed the tool-breaking-platform-interface-override branch from 082ed06 to 39d13f1 Compare September 21, 2021 20:16
Copy link
Member

@ditman ditman left a comment

Choose a reason for hiding this comment

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

LGTM!

I would have loved to be able to override even more the version number (to jump from 0.2.0 to 0.6.0 :P) but this is more to the point, and keeps the processes saner. 🚀

script/tool/lib/src/version_check_command.dart Outdated Show resolved Hide resolved
script/tool/lib/src/version_check_command.dart Outdated Show resolved Hide resolved
@stuartmorgan
Copy link
Contributor Author

I would have loved to be able to override even more the version number (to jump from 0.2.0 to 0.6.0 :P) but this is more to the point, and keeps the processes saner. 🚀

I was keeping that use case in mind while writing this; it would be relatively straightforward to extend this to cover that if we find another time where we feel that we need it.

@stuartmorgan stuartmorgan added the waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land. label Sep 23, 2021
final File file = packagesDir.fileSystem.file(path);
if (!file.existsSync()) {
printError('${indentation}No such file: $path');
throw ToolExit(_exitMissingChangeDescriptionFile);
Copy link
Member

@ditman ditman Sep 23, 2021

Choose a reason for hiding this comment

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

Yeah, since this file (and its path) are managed by the cirrus.yaml, it makes more sense that this is a tool exit error, good call! 🚀

@fluttergithubbot fluttergithubbot merged commit cdabfa9 into flutter:master Sep 23, 2021
amantoux pushed a commit to amantoux/plugins that referenced this pull request Sep 27, 2021
NickalasB added a commit to NickalasB/plugins that referenced this pull request Sep 27, 2021
* master: (51 commits)
  [webview_flutter] Update version number app_facing package (flutter#4375)
  [webview_flutter] Adjust integration test domains (flutter#4383)
  Remove some trivial custom analysis options files (flutter#4379)
  [google_maps_flutter_platfomr_interface] Add Marker drag events (flutter#2653)
  [flutter_plugin_tools] Improve version check error handling (flutter#4376)
  [flutter_plugin_tools] Allow overriding breaking change check (flutter#4369)
  [url_launcher] Error handling when URL cannot be parsed with Uri.parse (flutter#4365)
  [webview_flutter] Migrate main package to fully federated architecture. (flutter#4366)
  [google_sign_in] Bump minimum Flutter version and iOS deployment target (flutter#4334)
  Add false secret lists, and enforce ordering (flutter#4372)
  [camera_web] Update usage documentation (flutter#4371)
  [video_player] VTT Support (flutter#2878)
  Require authors file (flutter#4367)
  [flutter_plugin_tools] Fix federated safety check (flutter#4368)
  [webview_flutter] Extract WKWebView implementation into a separate package (flutter#4345)
  [webview_flutter] Extract Android implementation into a separate package (flutter#4343)
  [in_app_purchase] Ensure the `introductoryPriceMicros` field is populated correctly. (flutter#4364)
  [flutter_plugin_tools] Add a federated PR safety check (flutter#4329)
  [camera] Add web support (flutter#4240)
  [webview_flutter] Bump minimum Flutter version and iOS deployment target (flutter#4361)
  ...

# Conflicts:
#	packages/webview_flutter/webview_flutter/lib/platform_interface.dart
#	packages/webview_flutter/webview_flutter/lib/src/webview_method_channel.dart
#	packages/webview_flutter/webview_flutter/lib/webview_flutter.dart
KyleFin pushed a commit to KyleFin/plugins that referenced this pull request Dec 21, 2021
@stuartmorgan stuartmorgan deleted the tool-breaking-platform-interface-override branch April 19, 2022 17:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes waiting for tree to go green (Use "autosubmit") This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
3 participants