diff --git a/analysis_options.yaml b/analysis_options.yaml index b12af6cf11e6..c4fe4824ac8a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -75,7 +75,7 @@ linter: - avoid_field_initializers_in_const_classes # - avoid_final_parameters # incompatible with prefer_final_parameters - avoid_function_literals_in_foreach_calls - # - avoid_implementing_value_types # LOCAL CHANGE - Needs to be enabled and violations fixed. + - avoid_implementing_value_types - avoid_init_to_null - avoid_js_rounded_ints # - avoid_multiple_declarations_per_line # seems to be a stylistic choice we don't subscribe to @@ -87,7 +87,7 @@ linter: - avoid_relative_lib_imports - avoid_renaming_method_parameters - avoid_return_types_on_setters - # - avoid_returning_null # still violated by some pre-nnbd code that we haven't yet migrated + - avoid_returning_null - avoid_returning_null_for_future - avoid_returning_null_for_void # - avoid_returning_this # there are enough valid reasons to return `this` that this lint ends up with too many false positives @@ -109,15 +109,17 @@ linter: # - cascade_invocations # doesn't match the typical style of this repo - cast_nullable_to_non_nullable # - close_sinks # not reliable enough + # - combinators_ordering # DIFFERENT FROM FLUTTER/FLUTTER: This isn't available on stable yet. # - comment_references # blocked on https://github.com/dart-lang/linter/issues/1142 - # - conditional_uri_does_not_exist # not yet tested + - conditional_uri_does_not_exist # - constant_identifier_names # needs an opt-out https://github.com/dart-lang/linter/issues/204 - control_flow_in_finally - # - curly_braces_in_flow_control_structures # not required by flutter style + - curly_braces_in_flow_control_structures - depend_on_referenced_packages - deprecated_consistency # - diagnostic_describe_all_properties # enabled only at the framework level (packages/flutter/lib) - directives_ordering + # - discarded_futures # not yet tested # - do_not_use_environment # there are appropriate times to use the environment, especially in our tests and build logic - empty_catches - empty_constructor_bodies @@ -128,7 +130,6 @@ linter: - flutter_style_todos - hash_and_equals - implementation_imports - # - invariant_booleans # too many false positives: https://github.com/dart-lang/linter/issues/811 - iterable_contains_unrelated_type # - join_return_with_assignment # not required by flutter style - leading_newlines_in_multiline_strings @@ -203,12 +204,12 @@ linter: - recursive_getters # - require_trailing_commas # blocked on https://github.com/dart-lang/sdk/issues/47441 - secure_pubspec_urls - # - sized_box_for_whitespace # LOCAL CHANGE - Needs to be enabled and violations fixed. + - sized_box_for_whitespace # - sized_box_shrink_expand # not yet tested - slash_for_doc_comments - sort_child_properties_last - sort_constructors_first - # - sort_pub_dependencies # prevents separating pinned transitive dependencies + - sort_pub_dependencies # DIFFERENT FROM FLUTTER/FLUTTER: Flutter's use case for not sorting does not apply to this repository. - sort_unnamed_constructors_first - test_types_in_equals - throw_in_finally @@ -216,7 +217,7 @@ linter: # - type_annotate_public_apis # subset of always_specify_types - type_init_formals # - unawaited_futures # too many false positives, especially with the way AnimationController works - # - unnecessary_await_in_return # LOCAL CHANGE - Needs to be enabled and violations fixed. + - unnecessary_await_in_return - unnecessary_brace_in_string_interps - unnecessary_const - unnecessary_constructor_name @@ -226,6 +227,7 @@ linter: - unnecessary_late - unnecessary_new - unnecessary_null_aware_assignments + - unnecessary_null_aware_operator_on_extension_on_nullable - unnecessary_null_checks - unnecessary_null_in_if_null_operators - unnecessary_nullable_for_final_variable_declarations @@ -236,6 +238,7 @@ linter: - unnecessary_string_escapes - unnecessary_string_interpolations - unnecessary_this + - unnecessary_to_list_in_spreads - unrelated_type_equality_checks - unsafe_html # - use_build_context_synchronously # LOCAL CHANGE - Needs to be enabled and violations fixed. @@ -263,6 +266,3 @@ linter: # separately when moving to a shared file. - no_runtimeType_toString # use objectRuntimeType from package:foundation - public_member_api_docs # see https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#documentation-dartdocs-javadocs-etc - # Flutter has a specific use case for dependencies that are intentionally - # not sorted, which doesn't apply to this repo. - - sort_pub_dependencies diff --git a/packages/camera/camera_web/example/integration_test/camera_web_test.dart b/packages/camera/camera_web/example/integration_test/camera_web_test.dart index e3f11383469c..8aefea6b2172 100644 --- a/packages/camera/camera_web/example/integration_test/camera_web_test.dart +++ b/packages/camera/camera_web/example/integration_test/camera_web_test.dart @@ -1664,7 +1664,7 @@ void main() { 'with notFound error ' 'if the camera does not exist', (WidgetTester tester) async { expect( - () async => await CameraPlatform.instance.getMaxZoomLevel( + () async => CameraPlatform.instance.getMaxZoomLevel( cameraId, ), throwsA( @@ -1689,7 +1689,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.getMaxZoomLevel( + () async => CameraPlatform.instance.getMaxZoomLevel( cameraId, ), throwsA( @@ -1717,7 +1717,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.getMaxZoomLevel( + () async => CameraPlatform.instance.getMaxZoomLevel( cameraId, ), throwsA( @@ -1758,7 +1758,7 @@ void main() { 'with notFound error ' 'if the camera does not exist', (WidgetTester tester) async { expect( - () async => await CameraPlatform.instance.getMinZoomLevel( + () async => CameraPlatform.instance.getMinZoomLevel( cameraId, ), throwsA( @@ -1783,7 +1783,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.getMinZoomLevel( + () async => CameraPlatform.instance.getMinZoomLevel( cameraId, ), throwsA( @@ -1811,7 +1811,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.getMinZoomLevel( + () async => CameraPlatform.instance.getMinZoomLevel( cameraId, ), throwsA( @@ -1846,7 +1846,7 @@ void main() { 'with notFound error ' 'if the camera does not exist', (WidgetTester tester) async { expect( - () async => await CameraPlatform.instance.setZoomLevel( + () async => CameraPlatform.instance.setZoomLevel( cameraId, 100.0, ), @@ -1872,7 +1872,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.setZoomLevel( + () async => CameraPlatform.instance.setZoomLevel( cameraId, 100.0, ), @@ -1900,7 +1900,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.setZoomLevel( + () async => CameraPlatform.instance.setZoomLevel( cameraId, 100.0, ), @@ -1929,7 +1929,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.setZoomLevel( + () async => CameraPlatform.instance.setZoomLevel( cameraId, 100.0, ), @@ -1962,7 +1962,7 @@ void main() { 'with notFound error ' 'if the camera does not exist', (WidgetTester tester) async { expect( - () async => await CameraPlatform.instance.pausePreview(cameraId), + () async => CameraPlatform.instance.pausePreview(cameraId), throwsA( isA().having( (PlatformException e) => e.code, @@ -1985,7 +1985,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.pausePreview(cameraId), + () async => CameraPlatform.instance.pausePreview(cameraId), throwsA( isA().having( (PlatformException e) => e.code, @@ -2017,7 +2017,7 @@ void main() { 'with notFound error ' 'if the camera does not exist', (WidgetTester tester) async { expect( - () async => await CameraPlatform.instance.resumePreview(cameraId), + () async => CameraPlatform.instance.resumePreview(cameraId), throwsA( isA().having( (PlatformException e) => e.code, @@ -2040,7 +2040,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.resumePreview(cameraId), + () async => CameraPlatform.instance.resumePreview(cameraId), throwsA( isA().having( (PlatformException e) => e.code, @@ -2066,7 +2066,7 @@ void main() { (CameraPlatform.instance as CameraPlugin).cameras[cameraId] = camera; expect( - () async => await CameraPlatform.instance.resumePreview(cameraId), + () async => CameraPlatform.instance.resumePreview(cameraId), throwsA( isA().having( (PlatformException e) => e.code, @@ -2523,7 +2523,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.takePicture(cameraId), + () async => CameraPlatform.instance.takePicture(cameraId), throwsA( isA(), ), @@ -2560,7 +2560,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.setFlashMode( + () async => CameraPlatform.instance.setFlashMode( cameraId, FlashMode.always, ), @@ -2600,7 +2600,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.getMaxZoomLevel( + () async => CameraPlatform.instance.getMaxZoomLevel( cameraId, ), throwsA( @@ -2639,7 +2639,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.getMinZoomLevel( + () async => CameraPlatform.instance.getMinZoomLevel( cameraId, ), throwsA( @@ -2678,7 +2678,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.setZoomLevel( + () async => CameraPlatform.instance.setZoomLevel( cameraId, 100.0, ), @@ -2718,7 +2718,7 @@ void main() { StreamQueue(eventStream); expect( - () async => await CameraPlatform.instance.resumePreview(cameraId), + () async => CameraPlatform.instance.resumePreview(cameraId), throwsA( isA(), ), @@ -2762,8 +2762,7 @@ void main() { StreamQueue(eventStream); expect( - () async => - await CameraPlatform.instance.startVideoRecording(cameraId), + () async => CameraPlatform.instance.startVideoRecording(cameraId), throwsA( isA(), ), @@ -2830,8 +2829,7 @@ void main() { StreamQueue(eventStream); expect( - () async => - await CameraPlatform.instance.stopVideoRecording(cameraId), + () async => CameraPlatform.instance.stopVideoRecording(cameraId), throwsA( isA(), ), @@ -2868,8 +2866,7 @@ void main() { StreamQueue(eventStream); expect( - () async => - await CameraPlatform.instance.pauseVideoRecording(cameraId), + () async => CameraPlatform.instance.pauseVideoRecording(cameraId), throwsA( isA(), ), @@ -2906,8 +2903,7 @@ void main() { StreamQueue(eventStream); expect( - () async => - await CameraPlatform.instance.resumeVideoRecording(cameraId), + () async => CameraPlatform.instance.resumeVideoRecording(cameraId), throwsA( isA(), ), diff --git a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart b/packages/camera/camera_web/example/integration_test/helpers/mocks.dart index 521c4bf5a18d..855ef2b9c58e 100644 --- a/packages/camera/camera_web/example/integration_test/helpers/mocks.dart +++ b/packages/camera/camera_web/example/integration_test/helpers/mocks.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// ignore_for_file: avoid_implementing_value_types + import 'dart:async'; import 'dart:html'; import 'dart:ui'; diff --git a/packages/camera/camera_windows/example/integration_test/camera_test.dart b/packages/camera/camera_windows/example/integration_test/camera_test.dart index cda0f402de6c..01db9e2aee46 100644 --- a/packages/camera/camera_windows/example/integration_test/camera_test.dart +++ b/packages/camera/camera_windows/example/integration_test/camera_test.dart @@ -23,7 +23,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.initializeCamera(1234), + expect(() async => camera.initializeCamera(1234), throwsA(isA())); }); }); @@ -33,7 +33,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.takePicture(1234), + expect(() async => camera.takePicture(1234), throwsA(isA())); }); }); @@ -43,7 +43,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.startVideoRecording(1234), + expect(() async => camera.startVideoRecording(1234), throwsA(isA())); }); }); @@ -53,7 +53,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.stopVideoRecording(1234), + expect(() async => camera.stopVideoRecording(1234), throwsA(isA())); }); }); @@ -63,7 +63,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.pausePreview(1234), + expect(() async => camera.pausePreview(1234), throwsA(isA())); }); }); @@ -73,7 +73,7 @@ void main() { (WidgetTester _) async { final CameraPlatform camera = CameraPlatform.instance; - expect(() async => await camera.resumePreview(1234), + expect(() async => camera.resumePreview(1234), throwsA(isA())); }); }); diff --git a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md index 3707aa86e95a..4d0164603c42 100644 --- a/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter/CHANGELOG.md @@ -1,5 +1,6 @@ ## NEXT +* Updates code for new analysis options. * Updates code for `no_leading_underscores_for_local_identifiers` lint. ## 2.2.1 diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart index 3f56f40799af..0a3146cfaf40 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/map_ui.dart @@ -240,7 +240,7 @@ class MapUiBodyState extends State { } Future _getFileData(String path) async { - return await rootBundle.loadString(path); + return rootBundle.loadString(path); } void _setMapStyle(String mapStyle) { diff --git a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart index fa49917e715f..8fde95016f51 100644 --- a/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter/example/lib/place_marker.dart @@ -285,7 +285,7 @@ class PlaceMarkerBodyState extends State { bitmapIcon.complete(bitmap); })); - return await bitmapIcon.future; + return bitmapIcon.future; } @override diff --git a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md index 9bc8b195f6e2..012a50846eba 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Updates code for new analysis options. + ## 2.3.3 * Update android gradle plugin to 7.3.1. diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart index 009ee71d8400..546cf1d08ff8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/map_ui.dart @@ -241,7 +241,7 @@ class MapUiBodyState extends State { } Future _getFileData(String path) async { - return await rootBundle.loadString(path); + return rootBundle.loadString(path); } void _setMapStyle(String mapStyle) { diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart index 7d12f4c81684..2c6c725a4fa5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_android/example/lib/place_marker.dart @@ -286,7 +286,7 @@ class PlaceMarkerBodyState extends State { bitmapIcon.complete(bitmap); })); - return await bitmapIcon.future; + return bitmapIcon.future; } @override diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md index 7788e9146809..81b9c8f0f110 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## NEXT + +* Updates code for new analysis options. + ## 2.1.12 * Updates imports for `prefer_relative_imports`. diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart index 009ee71d8400..546cf1d08ff8 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/map_ui.dart @@ -241,7 +241,7 @@ class MapUiBodyState extends State { } Future _getFileData(String path) async { - return await rootBundle.loadString(path); + return rootBundle.loadString(path); } void _setMapStyle(String mapStyle) { diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart index 7d12f4c81684..2c6c725a4fa5 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/lib/place_marker.dart @@ -286,7 +286,7 @@ class PlaceMarkerBodyState extends State { bitmapIcon.complete(bitmap); })); - return await bitmapIcon.future; + return bitmapIcon.future; } @override diff --git a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart index b8a596b02065..2296f2d79887 100644 --- a/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart +++ b/packages/google_sign_in/google_sign_in/test/google_sign_in_test.dart @@ -13,7 +13,7 @@ import 'package:mockito/mockito.dart'; import 'google_sign_in_test.mocks.dart'; /// Verify that [GoogleSignInAccount] can be mocked even though it's unused -// ignore: must_be_immutable +// ignore: avoid_implementing_value_types, must_be_immutable class MockGoogleSignInAccount extends Mock implements GoogleSignInAccount {} @GenerateMocks([GoogleSignInPlatform]) diff --git a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart index c3df2d80679f..3b27c08c5fe2 100644 --- a/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart +++ b/packages/image_picker/image_picker_windows/test/image_picker_windows_test.dart @@ -53,7 +53,7 @@ void main() { test('pickImage throws UnimplementedError when source is camera', () async { - expect(() async => await plugin.pickImage(source: ImageSource.camera), + expect(() async => plugin.pickImage(source: ImageSource.camera), throwsA(isA())); }); @@ -71,7 +71,7 @@ void main() { test('getImage throws UnimplementedError when source is camera', () async { - expect(() async => await plugin.getImage(source: ImageSource.camera), + expect(() async => plugin.getImage(source: ImageSource.camera), throwsA(isA())); }); @@ -102,7 +102,7 @@ void main() { test('pickVideo throws UnimplementedError when source is camera', () async { - expect(() async => await plugin.pickVideo(source: ImageSource.camera), + expect(() async => plugin.pickVideo(source: ImageSource.camera), throwsA(isA())); }); @@ -120,7 +120,7 @@ void main() { test('getVideo throws UnimplementedError when source is camera', () async { - expect(() async => await plugin.getVideo(source: ImageSource.camera), + expect(() async => plugin.getVideo(source: ImageSource.camera), throwsA(isA())); }); }); diff --git a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md index b595d7e148d9..4aa14a8b6b59 100644 --- a/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.2.3+7 + +* Updates code for new analysis options. + ## 0.2.3+6 * Updates android gradle plugin to 7.3.1. diff --git a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart index d73ca8ef2e00..c8046d6e655a 100644 --- a/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart +++ b/packages/in_app_purchase/in_app_purchase_android/lib/src/in_app_purchase_android_platform.dart @@ -171,7 +171,7 @@ class InAppPurchaseAndroidPlatform extends InAppPurchasePlatform { 'completePurchase unsuccessful. The `purchase.verificationData` is not valid'); } - return await billingClient + return billingClient .acknowledgePurchase(purchase.verificationData.serverVerificationData); } diff --git a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml index 555773a47910..d70e5dfa0e1a 100644 --- a/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_android/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase_android description: An implementation for the Android platform of the Flutter `in_app_purchase` plugin. This uses the Android BillingClient APIs. repository: https://github.com/flutter/plugins/tree/main/packages/in_app_purchase/in_app_purchase_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 0.2.3+6 +version: 0.2.3+7 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart index 92d9e8f53be1..d9c921378170 100644 --- a/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart +++ b/packages/shared_preferences/shared_preferences_android/test/shared_preferences_android_test.dart @@ -36,14 +36,14 @@ void main() { channel.setMockMethodCallHandler((MethodCall methodCall) async { log.add(methodCall); if (methodCall.method == 'getAll') { - return await testData.getAll(); + return testData.getAll(); } if (methodCall.method == 'remove') { final String key = methodCall.arguments['key']! as String; - return await testData.remove(key); + return testData.remove(key); } if (methodCall.method == 'clear') { - return await testData.clear(); + return testData.clear(); } final RegExp setterRegExp = RegExp(r'set(.*)'); final Match? match = setterRegExp.matchAsPrefix(methodCall.method); @@ -51,7 +51,7 @@ void main() { final String valueType = match!.group(1)!; final String key = methodCall.arguments['key'] as String; final Object value = methodCall.arguments['value'] as Object; - return await testData.setValue(valueType, key, value); + return testData.setValue(valueType, key, value); } fail('Unexpected method call: ${methodCall.method}'); }); diff --git a/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart b/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart index cd858f48179d..8e71e403ca03 100644 --- a/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart +++ b/packages/shared_preferences/shared_preferences_macos/test/shared_preferences_macos_test.dart @@ -36,14 +36,14 @@ void main() { channel.setMockMethodCallHandler((MethodCall methodCall) async { log.add(methodCall); if (methodCall.method == 'getAll') { - return await testData.getAll(); + return testData.getAll(); } if (methodCall.method == 'remove') { final String key = (methodCall.arguments['key'] as String?)!; - return await testData.remove(key); + return testData.remove(key); } if (methodCall.method == 'clear') { - return await testData.clear(); + return testData.clear(); } final RegExp setterRegExp = RegExp(r'set(.*)'); final Match? match = setterRegExp.matchAsPrefix(methodCall.method); @@ -51,7 +51,7 @@ void main() { final String valueType = match!.group(1)!; final String key = (methodCall.arguments['key'] as String?)!; final Object value = (methodCall.arguments['value'] as Object?)!; - return await testData.setValue(valueType, key, value); + return testData.setValue(valueType, key, value); } fail('Unexpected method call: ${methodCall.method}'); }); diff --git a/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart b/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart index 31ee89e4c3f6..ed4ecc7f27e3 100644 --- a/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart +++ b/packages/shared_preferences/shared_preferences_platform_interface/test/method_channel_shared_preferences_test.dart @@ -34,14 +34,14 @@ void main() { channel.setMockMethodCallHandler((MethodCall methodCall) async { log.add(methodCall); if (methodCall.method == 'getAll') { - return await testData.getAll(); + return testData.getAll(); } if (methodCall.method == 'remove') { final String key = (methodCall.arguments['key'] as String?)!; - return await testData.remove(key); + return testData.remove(key); } if (methodCall.method == 'clear') { - return await testData.clear(); + return testData.clear(); } final RegExp setterRegExp = RegExp(r'set(.*)'); final Match? match = setterRegExp.matchAsPrefix(methodCall.method); @@ -49,7 +49,7 @@ void main() { final String valueType = match!.group(1)!; final String key = (methodCall.arguments['key'] as String?)!; final Object value = (methodCall.arguments['value'] as Object?)!; - return await testData.setValue(valueType, key, value); + return testData.setValue(valueType, key, value); } fail('Unexpected method call: ${methodCall.method}'); }); diff --git a/packages/url_launcher/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md index 18a0289eb43f..4b365b8d858d 100644 --- a/packages/url_launcher/url_launcher/CHANGELOG.md +++ b/packages/url_launcher/url_launcher/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.1.7 + +* Updates code for new analysis options. + ## 6.1.6 * Updates imports for `prefer_relative_imports`. diff --git a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart index f6faf3fa3d0e..5bd5ef63d5b4 100644 --- a/packages/url_launcher/url_launcher/lib/src/legacy_api.dart +++ b/packages/url_launcher/url_launcher/lib/src/legacy_api.dart @@ -130,7 +130,7 @@ Future launch( /// details. @Deprecated('Use canLaunchUrl instead') Future canLaunch(String urlString) async { - return await UrlLauncherPlatform.instance.canLaunch(urlString); + return UrlLauncherPlatform.instance.canLaunch(urlString); } /// Closes the current WebView, if one was previously opened via a call to [launch]. @@ -143,7 +143,7 @@ Future canLaunch(String urlString) async { /// WebView/SafariViewController available to be closed. @Deprecated('Use closeInAppWebView instead') Future closeWebView() async { - return await UrlLauncherPlatform.instance.closeWebView(); + return UrlLauncherPlatform.instance.closeWebView(); } /// This allows a value of type T or T? to be treated as a value of type T?. diff --git a/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart b/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart index cf96ebc095da..45193ff17cb3 100644 --- a/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart +++ b/packages/url_launcher/url_launcher/lib/src/url_launcher_string.dart @@ -30,7 +30,7 @@ Future launchUrlString( throw ArgumentError.value(urlString, 'urlString', 'To use an in-app web view, you must provide an http(s) URL.'); } - return await UrlLauncherPlatform.instance.launchUrl( + return UrlLauncherPlatform.instance.launchUrl( urlString, LaunchOptions( mode: convertLaunchMode(mode), @@ -53,5 +53,5 @@ Future launchUrlString( /// others will immediately fail if the URL can't be parsed according to the /// official standards that define URL formats. Future canLaunchUrlString(String urlString) async { - return await UrlLauncherPlatform.instance.canLaunch(urlString); + return UrlLauncherPlatform.instance.canLaunch(urlString); } diff --git a/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart b/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart index 30321026ceb9..b3ce6c279f39 100644 --- a/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart +++ b/packages/url_launcher/url_launcher/lib/src/url_launcher_uri.dart @@ -50,7 +50,7 @@ Future launchUrl( throw ArgumentError.value(url, 'url', 'To use an in-app web view, you must provide an http(s) URL.'); } - return await UrlLauncherPlatform.instance.launchUrl( + return UrlLauncherPlatform.instance.launchUrl( url.toString(), LaunchOptions( mode: convertLaunchMode(mode), @@ -75,7 +75,7 @@ Future launchUrl( /// that are always assumed to be supported (such as http(s)), as web pages /// are never allowed to query installed applications. Future canLaunchUrl(Uri url) async { - return await UrlLauncherPlatform.instance.canLaunch(url.toString()); + return UrlLauncherPlatform.instance.canLaunch(url.toString()); } /// Closes the current in-app web view, if one was previously opened by @@ -84,5 +84,5 @@ Future canLaunchUrl(Uri url) async { /// If [launchUrl] was never called with [LaunchMode.inAppWebView], then this /// call will have no effect. Future closeInAppWebView() async { - return await UrlLauncherPlatform.instance.closeWebView(); + return UrlLauncherPlatform.instance.closeWebView(); } diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 8efda4afb580..642b4b51e90c 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes. repository: https://github.com/flutter/plugins/tree/main/packages/url_launcher/url_launcher issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 6.1.6 +version: 6.1.7 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart index 11d7d8f17c09..40336a090ab7 100644 --- a/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart +++ b/packages/url_launcher/url_launcher/test/src/legacy_api_test.dart @@ -188,7 +188,7 @@ void main() { }); test('cannot launch a non-web in webview', () async { - expect(() async => await launch('tel:555-555-5555', forceWebView: true), + expect(() async => launch('tel:555-555-5555', forceWebView: true), throwsA(isA())); }); @@ -211,16 +211,14 @@ void main() { test('cannot send e-mail with forceSafariVC: true', () async { expect( - () async => await launch( - 'mailto:gmail-noreply@google.com?subject=Hello', + () async => launch('mailto:gmail-noreply@google.com?subject=Hello', forceSafariVC: true), throwsA(isA())); }); test('cannot send e-mail with forceWebView: true', () async { expect( - () async => await launch( - 'mailto:gmail-noreply@google.com?subject=Hello', + () async => launch('mailto:gmail-noreply@google.com?subject=Hello', forceWebView: true), throwsA(isA())); }); @@ -305,7 +303,7 @@ void main() { test('cannot open non-parseable url with forceSafariVC: true', () async { expect( - () async => await launch( + () async => launch( 'rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1', forceSafariVC: true), throwsA(isA())); @@ -313,7 +311,7 @@ void main() { test('cannot open non-parseable url with forceWebView: true', () async { expect( - () async => await launch( + () async => launch( 'rdp://full%20address=s:mypc:3389&audiomode=i:2&disable%20themes=i:1', forceWebView: true), throwsA(isA())); diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart index 0dcbc34b7dd6..64065ff99f9a 100644 --- a/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart +++ b/packages/url_launcher/url_launcher/test/src/url_launcher_string_test.dart @@ -222,7 +222,7 @@ void main() { test('cannot launch a non-web URL in a webview', () async { expect( - () async => await launchUrlString('tel:555-555-5555', + () async => launchUrlString('tel:555-555-5555', mode: LaunchMode.inAppWebView), throwsA(isA())); }); diff --git a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart index 7685aefdd4ee..d71d07fc8fc4 100644 --- a/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart +++ b/packages/url_launcher/url_launcher/test/src/url_launcher_uri_test.dart @@ -223,7 +223,7 @@ void main() { test('cannot launch a non-web URL in a webview', () async { expect( - () async => await launchUrl(Uri(scheme: 'tel', path: '555-555-5555'), + () async => launchUrl(Uri(scheme: 'tel', path: '555-555-5555'), mode: LaunchMode.inAppWebView), throwsA(isA())); }); diff --git a/packages/url_launcher/url_launcher_android/CHANGELOG.md b/packages/url_launcher/url_launcher_android/CHANGELOG.md index 934d8da556b7..f2f65949e211 100644 --- a/packages/url_launcher/url_launcher_android/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 6.0.22 + +* Updates code for new analysis options. + ## 6.0.21 * Updates androidx.annotation to 1.2.0. diff --git a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart index 1aa093a36451..bd4c2a5ff45b 100644 --- a/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart +++ b/packages/url_launcher/url_launcher_android/lib/url_launcher_android.dart @@ -33,7 +33,7 @@ class UrlLauncherAndroid extends UrlLauncherPlatform { // returns true, then there is a browser, which means that there is // at least one handler for the original URL. if (scheme == 'http' || scheme == 'https') { - return await _canLaunchUrl('$scheme://flutter.dev'); + return _canLaunchUrl('$scheme://flutter.dev'); } } return canLaunchSpecificUrl; diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml index e97fde31b2e0..d096b0ccc2cc 100644 --- a/packages/url_launcher/url_launcher_android/pubspec.yaml +++ b/packages/url_launcher/url_launcher_android/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher_android description: Android implementation of the url_launcher plugin. repository: https://github.com/flutter/plugins/tree/main/packages/url_launcher/url_launcher_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 6.0.21 +version: 6.0.22 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/video_player/video_player/CHANGELOG.md b/packages/video_player/video_player/CHANGELOG.md index 0885f28f9db8..1c7da480c27c 100644 --- a/packages/video_player/video_player/CHANGELOG.md +++ b/packages/video_player/video_player/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 2.4.8 +* Updates code for new analysis options. * Updates code for `no_leading_underscores_for_local_identifiers` lint. ## 2.4.7 diff --git a/packages/video_player/video_player/lib/video_player.dart b/packages/video_player/video_player/lib/video_player.dart index c1f4886282f8..2f84b826fd25 100644 --- a/packages/video_player/video_player/lib/video_player.dart +++ b/packages/video_player/video_player/lib/video_player.dart @@ -542,7 +542,7 @@ class VideoPlayerController extends ValueNotifier { if (_isDisposed) { return null; } - return await _videoPlayerPlatform.getPosition(_textureId); + return _videoPlayerPlatform.getPosition(_textureId); } /// Sets the video's current timestamp to be at [moment]. The next diff --git a/packages/video_player/video_player/pubspec.yaml b/packages/video_player/video_player/pubspec.yaml index 7e2df60d3cdd..1f5fed29c01f 100644 --- a/packages/video_player/video_player/pubspec.yaml +++ b/packages/video_player/video_player/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for displaying inline video with other Flutter widgets on Android, iOS, and web. repository: https://github.com/flutter/plugins/tree/main/packages/video_player/video_player issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.4.7 +version: 2.4.8 environment: sdk: ">=2.14.0 <3.0.0" diff --git a/packages/video_player/video_player/test/video_player_test.dart b/packages/video_player/video_player/test/video_player_test.dart index 8e5e98b68f18..973fab42bb02 100644 --- a/packages/video_player/video_player/test/video_player_test.dart +++ b/packages/video_player/video_player/test/video_player_test.dart @@ -389,7 +389,7 @@ void main() { await controller.initialize(); await controller.dispose(); - expect(() async => await controller.dispose(), returnsNormally); + expect(() async => controller.dispose(), returnsNormally); }); test('play', () async { diff --git a/packages/video_player/video_player_android/CHANGELOG.md b/packages/video_player/video_player_android/CHANGELOG.md index 4d3f72da6fbd..7137e244bc43 100644 --- a/packages/video_player/video_player_android/CHANGELOG.md +++ b/packages/video_player/video_player_android/CHANGELOG.md @@ -1,5 +1,6 @@ ## NEXT +* Updates code for new analysis options. * Updates code for `no_leading_underscores_for_local_identifiers` lint. * Updates minimum Flutter version to 2.10. * Fixes violations of new analysis option use_named_constants. diff --git a/packages/video_player/video_player_android/example/lib/mini_controller.dart b/packages/video_player/video_player_android/example/lib/mini_controller.dart index 61959efe1e10..26c60b72a4d4 100644 --- a/packages/video_player/video_player_android/example/lib/mini_controller.dart +++ b/packages/video_player/video_player_android/example/lib/mini_controller.dart @@ -318,7 +318,7 @@ class MiniController extends ValueNotifier { /// The position in the current video. Future get position async { - return await _platform.getPosition(_textureId); + return _platform.getPosition(_textureId); } /// Sets the video's current timestamp to be at [position]. diff --git a/packages/video_player/video_player_avfoundation/CHANGELOG.md b/packages/video_player/video_player_avfoundation/CHANGELOG.md index b1cc1ce13927..1198599dfc93 100644 --- a/packages/video_player/video_player_avfoundation/CHANGELOG.md +++ b/packages/video_player/video_player_avfoundation/CHANGELOG.md @@ -1,5 +1,6 @@ ## NEXT +* Updates code for new analysis options. * Adds an integration test for a bug where the aspect ratios of some HLS videos are incorrectly inverted. * Removes an unnecessary override in example code. diff --git a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart index 61959efe1e10..26c60b72a4d4 100644 --- a/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart +++ b/packages/video_player/video_player_avfoundation/example/lib/mini_controller.dart @@ -318,7 +318,7 @@ class MiniController extends ValueNotifier { /// The position in the current video. Future get position async { - return await _platform.getPosition(_textureId); + return _platform.getPosition(_textureId); } /// Sets the video's current timestamp to be at [position]. diff --git a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart index 63f43848508b..8dd832169024 100644 --- a/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter/example/integration_test/webview_flutter_test.dart @@ -1300,7 +1300,7 @@ Future _getUserAgent(WebViewController controller) async { Future _runJavascriptReturningResult( WebViewController controller, String js) async { if (defaultTargetPlatform == TargetPlatform.iOS) { - return await controller.runJavascriptReturningResult(js); + return controller.runJavascriptReturningResult(js); } return jsonDecode(await controller.runJavascriptReturningResult(js)) as String; diff --git a/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart b/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart index 73076d9141a7..b6d623970543 100644 --- a/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart +++ b/packages/webview_flutter/webview_flutter_android/test/webview_android_widget_test.dart @@ -445,7 +445,7 @@ void main() { await buildWidget(tester); expect( - () async => await testController.loadRequest( + () async => testController.loadRequest( WebViewRequest( uri: Uri.parse('www.google.com'), method: WebViewRequestMethod.get, diff --git a/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart b/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart index 08337e42e661..76dad6f3669d 100644 --- a/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart +++ b/packages/webview_flutter/webview_flutter_web/test/webview_flutter_web_test.dart @@ -93,7 +93,7 @@ void main() { ); // Run & Verify expect( - () async => await controller.loadRequest( + () async => controller.loadRequest( WebViewRequest( uri: Uri.parse('flutter.dev'), method: WebViewRequestMethod.get, diff --git a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart index 047d69f0d0ee..7e5af0fab393 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/example/integration_test/webview_flutter_test.dart @@ -1204,7 +1204,7 @@ String _webviewBool(bool value) { /// Returns the value used for the HTTP User-Agent: request header in subsequent HTTP requests. Future _getUserAgent(WebViewController controller) async { - return await controller.runJavascriptReturningResult('navigator.userAgent;'); + return controller.runJavascriptReturningResult('navigator.userAgent;'); } class ResizableWebView extends StatefulWidget { diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart index 5e6186ccb4b9..9df910f85a0d 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit_webview_widget_test.dart @@ -490,7 +490,7 @@ void main() { await buildWidget(tester); expect( - () async => await testController.loadRequest( + () async => testController.loadRequest( WebViewRequest( uri: Uri.parse('www.google.com'), method: WebViewRequestMethod.get, diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart index 87a90db9a766..6672198c1499 100644 --- a/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart +++ b/packages/webview_flutter/webview_flutter_wkwebview/test/v4/webkit_webview_controller_test.dart @@ -147,7 +147,7 @@ void main() { ); expect( - () async => await controller.loadRequest( + () async => controller.loadRequest( LoadRequestParams( uri: Uri.parse('www.google.com'), method: LoadRequestMethod.get, diff --git a/script/tool/lib/src/common/package_looping_command.dart b/script/tool/lib/src/common/package_looping_command.dart index d8b1cf001d13..ccfeea0e4732 100644 --- a/script/tool/lib/src/common/package_looping_command.dart +++ b/script/tool/lib/src/common/package_looping_command.dart @@ -369,7 +369,7 @@ abstract class PackageLoopingCommand extends PackageCommand { } } - return await runForPackage(package); + return runForPackage(package); } void _printSuccess(String message) { diff --git a/script/tool/lib/src/common/package_state_utils.dart b/script/tool/lib/src/common/package_state_utils.dart index 65f311974f3a..5aabd75a4d31 100644 --- a/script/tool/lib/src/common/package_state_utils.dart +++ b/script/tool/lib/src/common/package_state_utils.dart @@ -107,6 +107,7 @@ Future checkPackageChangeState( bool _isTestChange(List pathComponents) { return pathComponents.contains('test') || + pathComponents.contains('integration_test') || pathComponents.contains('androidTest') || pathComponents.contains('RunnerTests') || pathComponents.contains('RunnerUITests'); diff --git a/script/tool/lib/src/update_release_info_command.dart b/script/tool/lib/src/update_release_info_command.dart index 67aa994d963c..8d7ceb84d31d 100644 --- a/script/tool/lib/src/update_release_info_command.dart +++ b/script/tool/lib/src/update_release_info_command.dart @@ -140,6 +140,9 @@ class UpdateReleaseInfoCommand extends PackageLoopingCommand { if (!state.hasChanges) { return PackageResult.skip('No changes to package'); } + if (!state.needsVersionChange && !state.needsChangelogChange) { + return PackageResult.skip('No non-exempt changes to package'); + } if (state.needsVersionChange) { versionChange = _VersionIncrementType.bugfix; } diff --git a/script/tool/lib/src/version_check_command.dart b/script/tool/lib/src/version_check_command.dart index b3be672066d9..bb53620f06d3 100644 --- a/script/tool/lib/src/version_check_command.dart +++ b/script/tool/lib/src/version_check_command.dart @@ -285,8 +285,7 @@ ${indentation}HTTP response: ${pubVersionFinderResponse.httpResponse.body} final String gitPath = path.style == p.Style.windows ? p.posix.joinAll(path.split(relativePath)) : relativePath; - return await _gitVersionFinder.getPackageVersion(gitPath, - gitRef: _mergeBase); + return _gitVersionFinder.getPackageVersion(gitPath, gitRef: _mergeBase); } /// Returns the state of the verison of [package] relative to the comparison diff --git a/script/tool/test/common/package_looping_command_test.dart b/script/tool/test/common/package_looping_command_test.dart index c858df0022cc..f90d58e12270 100644 --- a/script/tool/test/common/package_looping_command_test.dart +++ b/script/tool/test/common/package_looping_command_test.dart @@ -143,7 +143,7 @@ void main() { runner = CommandRunner('test_package_looping_command', 'Test for base package looping functionality'); runner.addCommand(command); - return await runCapturingPrint( + return runCapturingPrint( runner, [command.name, ...arguments], errorHandler: errorHandler, diff --git a/script/tool/test/update_release_info_command_test.dart b/script/tool/test/update_release_info_command_test.dart index 8cd2e9591e70..cfec93823ff0 100644 --- a/script/tool/test/update_release_info_command_test.dart +++ b/script/tool/test/update_release_info_command_test.dart @@ -388,7 +388,7 @@ $originalChangelog'''; createFakePackage('a_package', packagesDir, version: '1.0.1'); processRunner.mockProcessesForExecutable['git-diff'] = [ MockProcess(stdout: ''' -packages/different_package/test/plugin_test.dart +packages/different_package/lib/foo.dart '''), ]; final String originalChangelog = package.changelogFile.readAsStringSync(); @@ -411,6 +411,35 @@ packages/different_package/test/plugin_test.dart ])); }); + test('skips for "minimal" when there are only test changes', () async { + final RepositoryPackage package = + createFakePackage('a_package', packagesDir, version: '1.0.1'); + processRunner.mockProcessesForExecutable['git-diff'] = [ + MockProcess(stdout: ''' +packages/a_package/test/a_test.dart +packages/a_package/example/integration_test/another_test.dart +'''), + ]; + final String originalChangelog = package.changelogFile.readAsStringSync(); + + final List output = await runCapturingPrint(runner, [ + 'update-release-info', + '--version=minimal', + '--changelog', + 'A change.', + ]); + + final String version = package.parsePubspec().version?.toString() ?? ''; + expect(version, '1.0.1'); + expect(package.changelogFile.readAsStringSync(), originalChangelog); + expect( + output, + containsAllInOrder([ + contains('No non-exempt changes to package'), + contains('Skipped 1 package') + ])); + }); + test('fails if CHANGELOG.md is missing', () async { createFakePackage('a_package', packagesDir, includeCommonFiles: false);