-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[flutter_plugin_tools] Validate pubspec description #4396
[flutter_plugin_tools] Validate pubspec description #4396
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I have found one small typing mistake in one of the comments but otherwise looks very good.
Co-authored-by: Maurits van Beusekom <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Just a minor comment about detecting the implementation pkgs.
@@ -58,6 +58,15 @@ class RepositoryPackage { | |||
bool get isPlatformInterface => | |||
directory.basename.endsWith('_platform_interface'); | |||
|
|||
/// True if this appears to be a platform implementation package, according to | |||
/// repository conventions. | |||
bool get isPlatformImplementation => |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be determined by the presence of the implements
pubspec.yaml property?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we ever find that this heuristic isn't working, that's the way to go (and by having it centralized here was can easily improve it later). That's way more involved though since it requires loading and parsing the pubspec, and I suspect the heuristic may well be all we ever need.
* master: [google_maps_flutter] Add Marker drag events (flutter#2838) [flutter_plugin_tools] Validate pubspec description (flutter#4396) Add file_selector to the repo list (flutter#4395) [in_app_purchase] Fix in_app_purchase_android/README.md (flutter#4363) [google_maps_flutter_web] Add Marker drag events (flutter#4385) [webview_flutter] Fixed todos in FlutterWebView.java (flutter#4394) Handle `PurchaseStatus.restored` correctly in example. (flutter#4393) Handle restored purchases in iOS example app (flutter#4392) [file_selector] Remove custom analysis options (flutter#4382) [flutter_plugin_tools] Check licenses in Kotlin (flutter#4373) Fixed _CastError when running example App (flutter#4390) [in_app_purchase] Ensure the introductoryPriceMicros field is transported as a String. (flutter#4370) Load navigation controls immediately. (flutter#4377) [camera] Fix IllegalStateException being thrown in Android implementation when switching activities. (flutter#4319) # Conflicts: # packages/webview_flutter/webview_flutter/CHANGELOG.md # packages/webview_flutter/webview_flutter_android/CHANGELOG.md
* master: (1126 commits) [webview_flutter] Adjust test URLs again (flutter#4407) [google_sign_in] Add serverAuthCode attribute to google_sign_in_platform_interface user data (flutter#4179) [camera] Add filter for unsupported cameras on Android (flutter#4418) [webview_flutter] Update webview platform interface with new methods for running JavaScript. (flutter#4401) [webview_flutter] Add zoomEnabled to webview flutter platform interface (flutter#4404) [ci] Remove obsolete Dockerfile (flutter#4405) Fix order-dependant platform interface tests (flutter#4406) [google_maps_flutter]: LatLng longitude loses precision in constructor #90574 (flutter#4374) [google_maps_flutter] Add Marker drag events (flutter#2838) [flutter_plugin_tools] Validate pubspec description (flutter#4396) Add file_selector to the repo list (flutter#4395) [in_app_purchase] Fix in_app_purchase_android/README.md (flutter#4363) [google_maps_flutter_web] Add Marker drag events (flutter#4385) [webview_flutter] Fixed todos in FlutterWebView.java (flutter#4394) Handle `PurchaseStatus.restored` correctly in example. (flutter#4393) Handle restored purchases in iOS example app (flutter#4392) [file_selector] Remove custom analysis options (flutter#4382) [flutter_plugin_tools] Check licenses in Kotlin (flutter#4373) Fixed _CastError when running example App (flutter#4390) [in_app_purchase] Ensure the introductoryPriceMicros field is transported as a String. (flutter#4370) ... # Conflicts: # packages/quick_actions/ios/Classes/FLTQuickActionsPlugin.m
pub.dev deducts points for having a pubspec.yaml `description` that is too short or too long; several of our plugins are losing points on this. To ensure that we are following—and modeling—best practices, this adds a check that our `description` fields meet pub.dev expectations. Fixes our existing violations. Two are not published even though this only takes effect once published: - camera: We change this plugin pretty frequently, so this should go out soon without adding a release just for this trivial issue. - wifi_info_flutter: This is deprecated, so we don't plan to release it. It has to be fixed to allow the tool change to land though.
pub.dev deducts points for having a pubspec.yaml `description` that is too short or too long; several of our plugins are losing points on this. To ensure that we are following—and modeling—best practices, this adds a check that our `description` fields meet pub.dev expectations. Fixes our existing violations. Two are not published even though this only takes effect once published: - camera: We change this plugin pretty frequently, so this should go out soon without adding a release just for this trivial issue. - wifi_info_flutter: This is deprecated, so we don't plan to release it. It has to be fixed to allow the tool change to land though.
pub.dev deducts points for having a pubspec.yaml
description
that is too short or too long; several of our plugins are losing points on this. To ensure that we are following—and modeling—best practices, this adds a check that ourdescription
fields meet pub.dev expectations.Fixes our existing violations. Two are not published even though this only takes effect once published:
Pre-launch Checklist
dart format
.)[shared_preferences]
///
).