[various] Standardize the extension for Pigeon-generated Dart (#7029)

* Standardize on .g.dart

* Remove unused exclusion patterns

* Mark pigeons/ as dev-only in the tooling

* Version bumps

* Add missed files

* More new import fixes
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 1eb0d23..3f12e0b 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -47,9 +47,7 @@
   exclude:
     # Ignore generated files
     - '**/*.g.dart'
-    - 'lib/src/generated/*.dart'
     - '**/*.mocks.dart' # Mockito @GenerateMocks
-    - '**/*.pigeon.dart' # Pigeon generated file
 
 linter:
   rules:
diff --git a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax_flutter_api_impls.dart b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax_flutter_api_impls.dart
index 2895a38..0a1b3ce 100644
--- a/packages/camera/camera_android_camerax/lib/src/android_camera_camerax_flutter_api_impls.dart
+++ b/packages/camera/camera_android_camerax/lib/src/android_camera_camerax_flutter_api_impls.dart
@@ -5,7 +5,7 @@
 import 'camera.dart';
 import 'camera_info.dart';
 import 'camera_selector.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'java_object.dart';
 import 'process_camera_provider.dart';
 import 'system_services.dart';
diff --git a/packages/camera/camera_android_camerax/lib/src/camera.dart b/packages/camera/camera_android_camerax/lib/src/camera.dart
index 0a3820c..24ff305 100644
--- a/packages/camera/camera_android_camerax/lib/src/camera.dart
+++ b/packages/camera/camera_android_camerax/lib/src/camera.dart
@@ -5,7 +5,7 @@
 import 'package:flutter/services.dart' show BinaryMessenger;
 
 import 'android_camera_camerax_flutter_api_impls.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'instance_manager.dart';
 import 'java_object.dart';
 
diff --git a/packages/camera/camera_android_camerax/lib/src/camera_info.dart b/packages/camera/camera_android_camerax/lib/src/camera_info.dart
index d03426f..8c2c7bc 100644
--- a/packages/camera/camera_android_camerax/lib/src/camera_info.dart
+++ b/packages/camera/camera_android_camerax/lib/src/camera_info.dart
@@ -5,7 +5,7 @@
 import 'package:flutter/services.dart' show BinaryMessenger;
 
 import 'android_camera_camerax_flutter_api_impls.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'instance_manager.dart';
 import 'java_object.dart';
 
diff --git a/packages/camera/camera_android_camerax/lib/src/camera_selector.dart b/packages/camera/camera_android_camerax/lib/src/camera_selector.dart
index 094147f..43a1dab 100644
--- a/packages/camera/camera_android_camerax/lib/src/camera_selector.dart
+++ b/packages/camera/camera_android_camerax/lib/src/camera_selector.dart
@@ -6,7 +6,7 @@
 
 import 'android_camera_camerax_flutter_api_impls.dart';
 import 'camera_info.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'instance_manager.dart';
 import 'java_object.dart';
 
diff --git a/packages/camera/camera_android_camerax/lib/src/camerax_library.pigeon.dart b/packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart
similarity index 100%
rename from packages/camera/camera_android_camerax/lib/src/camerax_library.pigeon.dart
rename to packages/camera/camera_android_camerax/lib/src/camerax_library.g.dart
diff --git a/packages/camera/camera_android_camerax/lib/src/java_object.dart b/packages/camera/camera_android_camerax/lib/src/java_object.dart
index 36a29ed..f6127d4 100644
--- a/packages/camera/camera_android_camerax/lib/src/java_object.dart
+++ b/packages/camera/camera_android_camerax/lib/src/java_object.dart
@@ -5,7 +5,7 @@
 import 'package:flutter/foundation.dart' show immutable;
 import 'package:flutter/services.dart';
 
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'instance_manager.dart';
 
 /// Root of the Java class hierarchy.
diff --git a/packages/camera/camera_android_camerax/lib/src/process_camera_provider.dart b/packages/camera/camera_android_camerax/lib/src/process_camera_provider.dart
index 30c8162..ed9e820 100644
--- a/packages/camera/camera_android_camerax/lib/src/process_camera_provider.dart
+++ b/packages/camera/camera_android_camerax/lib/src/process_camera_provider.dart
@@ -8,7 +8,7 @@
 import 'camera.dart';
 import 'camera_info.dart';
 import 'camera_selector.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 import 'instance_manager.dart';
 import 'java_object.dart';
 import 'use_case.dart';
diff --git a/packages/camera/camera_android_camerax/lib/src/system_services.dart b/packages/camera/camera_android_camerax/lib/src/system_services.dart
index d5fbe5a..bc6477e 100644
--- a/packages/camera/camera_android_camerax/lib/src/system_services.dart
+++ b/packages/camera/camera_android_camerax/lib/src/system_services.dart
@@ -9,7 +9,7 @@
 import 'package:flutter/services.dart';
 
 import 'android_camera_camerax_flutter_api_impls.dart';
-import 'camerax_library.pigeon.dart';
+import 'camerax_library.g.dart';
 
 // Ignoring lint indicating this class only contains static members
 // as this class is a wrapper for various Android system services.
diff --git a/packages/camera/camera_android_camerax/pigeons/camerax_library.dart b/packages/camera/camera_android_camerax/pigeons/camerax_library.dart
index 5e804a2..7fce6ce 100644
--- a/packages/camera/camera_android_camerax/pigeons/camerax_library.dart
+++ b/packages/camera/camera_android_camerax/pigeons/camerax_library.dart
@@ -6,8 +6,8 @@
 
 @ConfigurePigeon(
   PigeonOptions(
-    dartOut: 'lib/src/camerax_library.pigeon.dart',
-    dartTestOut: 'test/test_camerax_library.pigeon.dart',
+    dartOut: 'lib/src/camerax_library.g.dart',
+    dartTestOut: 'test/test_camerax_library.g.dart',
     dartOptions: DartOptions(copyrightHeader: <String>[
       'Copyright 2013 The Flutter Authors. All rights reserved.',
       'Use of this source code is governed by a BSD-style license that can be',
diff --git a/packages/camera/camera_android_camerax/test/camera_info_test.dart b/packages/camera/camera_android_camerax/test/camera_info_test.dart
index eda822b..852c799 100644
--- a/packages/camera/camera_android_camerax/test/camera_info_test.dart
+++ b/packages/camera/camera_android_camerax/test/camera_info_test.dart
@@ -3,14 +3,14 @@
 // found in the LICENSE file.
 
 import 'package:camera_android_camerax/src/camera_info.dart';
-import 'package:camera_android_camerax/src/camerax_library.pigeon.dart';
+import 'package:camera_android_camerax/src/camerax_library.g.dart';
 import 'package:camera_android_camerax/src/instance_manager.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:mockito/annotations.dart';
 import 'package:mockito/mockito.dart';
 
 import 'camera_info_test.mocks.dart';
-import 'test_camerax_library.pigeon.dart';
+import 'test_camerax_library.g.dart';
 
 @GenerateMocks(<Type>[TestCameraInfoHostApi])
 void main() {
diff --git a/packages/camera/camera_android_camerax/test/camera_info_test.mocks.dart b/packages/camera/camera_android_camerax/test/camera_info_test.mocks.dart
index 63ec03c..5e558a8 100644
--- a/packages/camera/camera_android_camerax/test/camera_info_test.mocks.dart
+++ b/packages/camera/camera_android_camerax/test/camera_info_test.mocks.dart
@@ -5,7 +5,7 @@
 // ignore_for_file: no_leading_underscores_for_library_prefixes
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_camerax_library.pigeon.dart' as _i2;
+import 'test_camerax_library.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/camera/camera_android_camerax/test/camera_selector_test.dart b/packages/camera/camera_android_camerax/test/camera_selector_test.dart
index c4ccd62..54f7864 100644
--- a/packages/camera/camera_android_camerax/test/camera_selector_test.dart
+++ b/packages/camera/camera_android_camerax/test/camera_selector_test.dart
@@ -4,14 +4,14 @@
 
 import 'package:camera_android_camerax/src/camera_info.dart';
 import 'package:camera_android_camerax/src/camera_selector.dart';
-import 'package:camera_android_camerax/src/camerax_library.pigeon.dart';
+import 'package:camera_android_camerax/src/camerax_library.g.dart';
 import 'package:camera_android_camerax/src/instance_manager.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:mockito/annotations.dart';
 import 'package:mockito/mockito.dart';
 
 import 'camera_selector_test.mocks.dart';
-import 'test_camerax_library.pigeon.dart';
+import 'test_camerax_library.g.dart';
 
 @GenerateMocks(<Type>[TestCameraSelectorHostApi])
 void main() {
diff --git a/packages/camera/camera_android_camerax/test/camera_selector_test.mocks.dart b/packages/camera/camera_android_camerax/test/camera_selector_test.mocks.dart
index bb08c82..31dce51 100644
--- a/packages/camera/camera_android_camerax/test/camera_selector_test.mocks.dart
+++ b/packages/camera/camera_android_camerax/test/camera_selector_test.mocks.dart
@@ -5,7 +5,7 @@
 // ignore_for_file: no_leading_underscores_for_library_prefixes
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_camerax_library.pigeon.dart' as _i2;
+import 'test_camerax_library.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/camera/camera_android_camerax/test/process_camera_provider_test.dart b/packages/camera/camera_android_camerax/test/process_camera_provider_test.dart
index c4f56f6..548ac3e 100644
--- a/packages/camera/camera_android_camerax/test/process_camera_provider_test.dart
+++ b/packages/camera/camera_android_camerax/test/process_camera_provider_test.dart
@@ -13,7 +13,7 @@
 import 'package:mockito/mockito.dart';
 
 import 'process_camera_provider_test.mocks.dart';
-import 'test_camerax_library.pigeon.dart';
+import 'test_camerax_library.g.dart';
 
 @GenerateMocks(<Type>[TestProcessCameraProviderHostApi])
 void main() {
diff --git a/packages/camera/camera_android_camerax/test/process_camera_provider_test.mocks.dart b/packages/camera/camera_android_camerax/test/process_camera_provider_test.mocks.dart
index 7b0ca76..2ce4ab7 100644
--- a/packages/camera/camera_android_camerax/test/process_camera_provider_test.mocks.dart
+++ b/packages/camera/camera_android_camerax/test/process_camera_provider_test.mocks.dart
@@ -7,7 +7,7 @@
 
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_camerax_library.pigeon.dart' as _i2;
+import 'test_camerax_library.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/camera/camera_android_camerax/test/system_services_test.dart b/packages/camera/camera_android_camerax/test/system_services_test.dart
index c8a2721..2d2cea6 100644
--- a/packages/camera/camera_android_camerax/test/system_services_test.dart
+++ b/packages/camera/camera_android_camerax/test/system_services_test.dart
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:camera_android_camerax/src/camerax_library.pigeon.dart'
+import 'package:camera_android_camerax/src/camerax_library.g.dart'
     show CameraPermissionsErrorData;
 import 'package:camera_android_camerax/src/system_services.dart';
 import 'package:camera_platform_interface/camera_platform_interface.dart'
@@ -13,7 +13,7 @@
 import 'package:mockito/mockito.dart';
 
 import 'system_services_test.mocks.dart';
-import 'test_camerax_library.pigeon.dart';
+import 'test_camerax_library.g.dart';
 
 @GenerateMocks(<Type>[TestSystemServicesHostApi])
 void main() {
diff --git a/packages/camera/camera_android_camerax/test/system_services_test.mocks.dart b/packages/camera/camera_android_camerax/test/system_services_test.mocks.dart
index 2698d2d..0963ffb 100644
--- a/packages/camera/camera_android_camerax/test/system_services_test.mocks.dart
+++ b/packages/camera/camera_android_camerax/test/system_services_test.mocks.dart
@@ -5,10 +5,10 @@
 // ignore_for_file: no_leading_underscores_for_library_prefixes
 import 'dart:async' as _i3;
 
-import 'package:camera_android_camerax/src/camerax_library.pigeon.dart' as _i4;
+import 'package:camera_android_camerax/src/camerax_library.g.dart' as _i4;
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_camerax_library.pigeon.dart' as _i2;
+import 'test_camerax_library.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/camera/camera_android_camerax/test/test_camerax_library.pigeon.dart b/packages/camera/camera_android_camerax/test/test_camerax_library.g.dart
similarity index 99%
rename from packages/camera/camera_android_camerax/test/test_camerax_library.pigeon.dart
rename to packages/camera/camera_android_camerax/test/test_camerax_library.g.dart
index 349004c..55f2c5e 100644
--- a/packages/camera/camera_android_camerax/test/test_camerax_library.pigeon.dart
+++ b/packages/camera/camera_android_camerax/test/test_camerax_library.g.dart
@@ -11,7 +11,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
 
-import 'package:camera_android_camerax/src/camerax_library.pigeon.dart';
+import 'package:camera_android_camerax/src/camerax_library.g.dart';
 
 class _TestJavaObjectHostApiCodec extends StandardMessageCodec {
   const _TestJavaObjectHostApiCodec();
diff --git a/packages/file_selector/file_selector_ios/pigeons/messages.dart b/packages/file_selector/file_selector_ios/pigeons/messages.dart
index d0ea73c..66706cc 100644
--- a/packages/file_selector/file_selector_ios/pigeons/messages.dart
+++ b/packages/file_selector/file_selector_ios/pigeons/messages.dart
@@ -6,7 +6,7 @@
 
 @ConfigurePigeon(PigeonOptions(
   dartOut: 'lib/src/messages.g.dart',
-  dartTestOut: 'test/test_api.dart',
+  dartTestOut: 'test/test_api.g.dart',
   objcHeaderOut: 'ios/Classes/messages.g.h',
   objcSourceOut: 'ios/Classes/messages.g.m',
   objcOptions: ObjcOptions(
diff --git a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart
index f66bd7d..e10ad17 100644
--- a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart
+++ b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.dart
@@ -11,7 +11,7 @@
 import 'package:mockito/mockito.dart';
 
 import 'file_selector_ios_test.mocks.dart';
-import 'test_api.dart';
+import 'test_api.g.dart';
 
 @GenerateMocks(<Type>[TestFileSelectorApi])
 void main() {
diff --git a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.mocks.dart b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.mocks.dart
index 38c91b4..1d22ba7 100644
--- a/packages/file_selector/file_selector_ios/test/file_selector_ios_test.mocks.dart
+++ b/packages/file_selector/file_selector_ios/test/file_selector_ios_test.mocks.dart
@@ -8,7 +8,7 @@
 import 'package:file_selector_ios/src/messages.g.dart' as _i4;
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_api.dart' as _i2;
+import 'test_api.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/file_selector/file_selector_ios/test/test_api.dart b/packages/file_selector/file_selector_ios/test/test_api.g.dart
similarity index 100%
rename from packages/file_selector/file_selector_ios/test/test_api.dart
rename to packages/file_selector/file_selector_ios/test/test_api.g.dart
diff --git a/packages/file_selector/file_selector_windows/pigeons/messages.dart b/packages/file_selector/file_selector_windows/pigeons/messages.dart
index f2c9ab7..c3b3aff 100644
--- a/packages/file_selector/file_selector_windows/pigeons/messages.dart
+++ b/packages/file_selector/file_selector_windows/pigeons/messages.dart
@@ -6,7 +6,7 @@
 
 @ConfigurePigeon(PigeonOptions(
   dartOut: 'lib/src/messages.g.dart',
-  dartTestOut: 'test/test_api.dart',
+  dartTestOut: 'test/test_api.g.dart',
   cppOptions: CppOptions(namespace: 'file_selector_windows'),
   cppHeaderOut: 'windows/messages.g.h',
   cppSourceOut: 'windows/messages.g.cpp',
diff --git a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart
index f07c9b6..62745f7 100644
--- a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart
+++ b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.dart
@@ -11,7 +11,7 @@
 import 'package:mockito/mockito.dart';
 
 import 'file_selector_windows_test.mocks.dart';
-import 'test_api.dart';
+import 'test_api.g.dart';
 
 @GenerateMocks(<Type>[TestFileSelectorApi])
 void main() {
diff --git a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.mocks.dart b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.mocks.dart
index 61e17fc..f60c92e 100644
--- a/packages/file_selector/file_selector_windows/test/file_selector_windows_test.mocks.dart
+++ b/packages/file_selector/file_selector_windows/test/file_selector_windows_test.mocks.dart
@@ -5,7 +5,7 @@
 import 'package:file_selector_windows/src/messages.g.dart' as _i3;
 import 'package:mockito/mockito.dart' as _i1;
 
-import 'test_api.dart' as _i2;
+import 'test_api.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/file_selector/file_selector_windows/test/test_api.dart b/packages/file_selector/file_selector_windows/test/test_api.g.dart
similarity index 100%
rename from packages/file_selector/file_selector_windows/test/test_api.dart
rename to packages/file_selector/file_selector_windows/test/test_api.g.dart
diff --git a/packages/image_picker/image_picker_ios/pigeons/messages.dart b/packages/image_picker/image_picker_ios/pigeons/messages.dart
index dd8a0f0..d04841b 100644
--- a/packages/image_picker/image_picker_ios/pigeons/messages.dart
+++ b/packages/image_picker/image_picker_ios/pigeons/messages.dart
@@ -6,7 +6,7 @@
 
 @ConfigurePigeon(PigeonOptions(
   dartOut: 'lib/src/messages.g.dart',
-  dartTestOut: 'test/test_api.dart',
+  dartTestOut: 'test/test_api.g.dart',
   objcHeaderOut: 'ios/Classes/messages.g.h',
   objcSourceOut: 'ios/Classes/messages.g.m',
   objcOptions: ObjcOptions(
diff --git a/packages/image_picker/image_picker_ios/test/image_picker_ios_test.dart b/packages/image_picker/image_picker_ios/test/image_picker_ios_test.dart
index b200257..2c9d525 100644
--- a/packages/image_picker/image_picker_ios/test/image_picker_ios_test.dart
+++ b/packages/image_picker/image_picker_ios/test/image_picker_ios_test.dart
@@ -8,7 +8,7 @@
 import 'package:image_picker_ios/src/messages.g.dart';
 import 'package:image_picker_platform_interface/image_picker_platform_interface.dart';
 
-import 'test_api.dart';
+import 'test_api.g.dart';
 
 @immutable
 class _LoggedMethodCall {
diff --git a/packages/image_picker/image_picker_ios/test/test_api.dart b/packages/image_picker/image_picker_ios/test/test_api.g.dart
similarity index 100%
rename from packages/image_picker/image_picker_ios/test/test_api.dart
rename to packages/image_picker/image_picker_ios/test/test_api.g.dart
diff --git a/packages/video_player/video_player_android/pigeons/messages.dart b/packages/video_player/video_player_android/pigeons/messages.dart
index bf552f9..90c9fbb 100644
--- a/packages/video_player/video_player_android/pigeons/messages.dart
+++ b/packages/video_player/video_player_android/pigeons/messages.dart
@@ -6,7 +6,7 @@
 
 @ConfigurePigeon(PigeonOptions(
   dartOut: 'lib/src/messages.g.dart',
-  dartTestOut: 'test/test_api.dart',
+  dartTestOut: 'test/test_api.g.dart',
   javaOut: 'android/src/main/java/io/flutter/plugins/videoplayer/Messages.java',
   javaOptions: JavaOptions(
     package: 'io.flutter.plugins.videoplayer',
diff --git a/packages/video_player/video_player_android/test/android_video_player_test.dart b/packages/video_player/video_player_android/test/android_video_player_test.dart
index fad9617..bca0d9d 100644
--- a/packages/video_player/video_player_android/test/android_video_player_test.dart
+++ b/packages/video_player/video_player_android/test/android_video_player_test.dart
@@ -12,7 +12,7 @@
 import 'package:video_player_android/video_player_android.dart';
 import 'package:video_player_platform_interface/video_player_platform_interface.dart';
 
-import 'test_api.dart';
+import 'test_api.g.dart';
 
 class _ApiLogger implements TestHostVideoPlayerApi {
   final List<String> log = <String>[];
diff --git a/packages/video_player/video_player_android/test/test_api.dart b/packages/video_player/video_player_android/test/test_api.g.dart
similarity index 100%
rename from packages/video_player/video_player_android/test/test_api.dart
rename to packages/video_player/video_player_android/test/test_api.g.dart
diff --git a/packages/video_player/video_player_avfoundation/pigeons/messages.dart b/packages/video_player/video_player_avfoundation/pigeons/messages.dart
index e6eda59..695ff34 100644
--- a/packages/video_player/video_player_avfoundation/pigeons/messages.dart
+++ b/packages/video_player/video_player_avfoundation/pigeons/messages.dart
@@ -6,7 +6,7 @@
 
 @ConfigurePigeon(PigeonOptions(
   dartOut: 'lib/src/messages.g.dart',
-  dartTestOut: 'test/test_api.dart',
+  dartTestOut: 'test/test_api.g.dart',
   objcHeaderOut: 'ios/Classes/messages.g.h',
   objcSourceOut: 'ios/Classes/messages.g.m',
   objcOptions: ObjcOptions(
diff --git a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart
index ea81d43..3367c9f 100644
--- a/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart
+++ b/packages/video_player/video_player_avfoundation/test/avfoundation_video_player_test.dart
@@ -12,7 +12,7 @@
 import 'package:video_player_avfoundation/video_player_avfoundation.dart';
 import 'package:video_player_platform_interface/video_player_platform_interface.dart';
 
-import 'test_api.dart';
+import 'test_api.g.dart';
 
 class _ApiLogger implements TestHostVideoPlayerApi {
   final List<String> log = <String>[];
diff --git a/packages/video_player/video_player_avfoundation/test/test_api.dart b/packages/video_player/video_player_avfoundation/test/test_api.g.dart
similarity index 100%
rename from packages/video_player/video_player_avfoundation/test/test_api.dart
rename to packages/video_player/video_player_avfoundation/test/test_api.g.dart
diff --git a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
index 1a490b5..136d714 100644
--- a/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.2.4
+
+* Renames Pigeon output files.
+
 ## 3.2.3
 
 * Fixes bug that prevented the web view from being garbage collected.
diff --git a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
index c5d301d..1ab30a9 100644
--- a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
+++ b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.dart
@@ -16,7 +16,7 @@
 import 'package:flutter/services.dart' show BinaryMessenger;
 import 'package:flutter/widgets.dart' show AndroidViewSurface;
 
-import 'android_webview.pigeon.dart';
+import 'android_webview.g.dart';
 import 'android_webview_api_impls.dart';
 import 'instance_manager.dart';
 
diff --git a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.pigeon.dart b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart
similarity index 100%
rename from packages/webview_flutter/webview_flutter_android/lib/src/android_webview.pigeon.dart
rename to packages/webview_flutter/webview_flutter_android/lib/src/android_webview.g.dart
diff --git a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_api_impls.dart b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_api_impls.dart
index 023f3c4..127a2fa 100644
--- a/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_api_impls.dart
+++ b/packages/webview_flutter/webview_flutter_android/lib/src/android_webview_api_impls.dart
@@ -10,10 +10,10 @@
 import 'package:flutter/services.dart' show BinaryMessenger;
 
 import 'android_webview.dart';
-import 'android_webview.pigeon.dart';
+import 'android_webview.g.dart';
 import 'instance_manager.dart';
 
-export 'android_webview.pigeon.dart' show FileChooserMode;
+export 'android_webview.g.dart' show FileChooserMode;
 
 /// Converts [WebResourceRequestData] to [WebResourceRequest]
 WebResourceRequest _toWebResourceRequest(WebResourceRequestData data) {
diff --git a/packages/webview_flutter/webview_flutter_android/pigeons/android_webview.dart b/packages/webview_flutter/webview_flutter_android/pigeons/android_webview.dart
index 29d3181..7f4d362 100644
--- a/packages/webview_flutter/webview_flutter_android/pigeons/android_webview.dart
+++ b/packages/webview_flutter/webview_flutter_android/pigeons/android_webview.dart
@@ -6,8 +6,8 @@
 
 @ConfigurePigeon(
   PigeonOptions(
-    dartOut: 'lib/src/android_webview.pigeon.dart',
-    dartTestOut: 'test/test_android_webview.pigeon.dart',
+    dartOut: 'lib/src/android_webview.g.dart',
+    dartTestOut: 'test/test_android_webview.g.dart',
     dartOptions: DartOptions(copyrightHeader: <String>[
       'Copyright 2013 The Flutter Authors. All rights reserved.',
       'Use of this source code is governed by a BSD-style license that can be',
diff --git a/packages/webview_flutter/webview_flutter_android/pubspec.yaml b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
index 30ea5d7..d90844d 100644
--- a/packages/webview_flutter/webview_flutter_android/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_android/pubspec.yaml
@@ -2,7 +2,7 @@
 description: A Flutter plugin that provides a WebView widget on Android.
 repository: https://github.com/flutter/plugins/tree/main/packages/webview_flutter/webview_flutter_android
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22
-version: 3.2.3
+version: 3.2.4
 
 environment:
   sdk: ">=2.17.0 <3.0.0"
diff --git a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
index 9878d7a..236d87d 100644
--- a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.dart
@@ -6,12 +6,12 @@
 import 'package:mockito/annotations.dart';
 import 'package:mockito/mockito.dart';
 import 'package:webview_flutter_android/src/android_webview.dart';
-import 'package:webview_flutter_android/src/android_webview.pigeon.dart';
+import 'package:webview_flutter_android/src/android_webview.g.dart';
 import 'package:webview_flutter_android/src/android_webview_api_impls.dart';
 import 'package:webview_flutter_android/src/instance_manager.dart';
 
 import 'android_webview_test.mocks.dart';
-import 'test_android_webview.pigeon.dart';
+import 'test_android_webview.g.dart';
 
 @GenerateMocks(<Type>[
   CookieManagerHostApi,
diff --git a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.mocks.dart b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.mocks.dart
index e3a2f10..0b5afba 100644
--- a/packages/webview_flutter/webview_flutter_android/test/android_webview_test.mocks.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/android_webview_test.mocks.dart
@@ -9,9 +9,9 @@
 
 import 'package:mockito/mockito.dart' as _i1;
 import 'package:webview_flutter_android/src/android_webview.dart' as _i2;
-import 'package:webview_flutter_android/src/android_webview.pigeon.dart' as _i3;
+import 'package:webview_flutter_android/src/android_webview.g.dart' as _i3;
 
-import 'test_android_webview.pigeon.dart' as _i6;
+import 'test_android_webview.g.dart' as _i6;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/webview_flutter/webview_flutter_android/test/legacy/webview_android_widget_test.dart b/packages/webview_flutter/webview_flutter_android/test/legacy/webview_android_widget_test.dart
index 22c161a..44cc185 100644
--- a/packages/webview_flutter/webview_flutter_android/test/legacy/webview_android_widget_test.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/legacy/webview_android_widget_test.dart
@@ -16,7 +16,7 @@
 import 'package:webview_flutter_platform_interface/src/webview_flutter_platform_interface_legacy.dart';
 
 import '../android_webview_test.mocks.dart' show MockTestWebViewHostApi;
-import '../test_android_webview.pigeon.dart';
+import '../test_android_webview.g.dart';
 import 'webview_android_widget_test.mocks.dart';
 
 @GenerateMocks(<Type>[
diff --git a/packages/webview_flutter/webview_flutter_android/test/test_android_webview.pigeon.dart b/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
similarity index 99%
rename from packages/webview_flutter/webview_flutter_android/test/test_android_webview.pigeon.dart
rename to packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
index b5df3c1..56ba79a 100644
--- a/packages/webview_flutter/webview_flutter_android/test/test_android_webview.pigeon.dart
+++ b/packages/webview_flutter/webview_flutter_android/test/test_android_webview.g.dart
@@ -11,7 +11,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
 
-import 'package:webview_flutter_android/src/android_webview.pigeon.dart';
+import 'package:webview_flutter_android/src/android_webview.g.dart';
 
 /// Handles methods calls to the native Java Object class.
 ///
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
index f79058c..d8442c2 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
+++ b/packages/webview_flutter/webview_flutter_wkwebview/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.0.5
+
+* Renames Pigeon output files.
+
 ## 3.0.4
 
 * Fixes bug that prevented the web view from being garbage collected.
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.pigeon.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart
similarity index 100%
rename from packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.pigeon.dart
rename to packages/webview_flutter/webview_flutter_wkwebview/lib/src/common/web_kit.g.dart
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/foundation/foundation_api_impls.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/foundation/foundation_api_impls.dart
index d2310e0..445e232 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/foundation/foundation_api_impls.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/foundation/foundation_api_impls.dart
@@ -6,7 +6,7 @@
 import 'package:flutter/services.dart';
 
 import '../common/instance_manager.dart';
-import '../common/web_kit.pigeon.dart';
+import '../common/web_kit.g.dart';
 import 'foundation.dart';
 
 Iterable<NSKeyValueObservingOptionsEnumData>
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/ui_kit/ui_kit_api_impls.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/ui_kit/ui_kit_api_impls.dart
index ae12a11..4749c6a 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/ui_kit/ui_kit_api_impls.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/ui_kit/ui_kit_api_impls.dart
@@ -11,7 +11,7 @@
 import 'package:flutter/services.dart';
 
 import '../common/instance_manager.dart';
-import '../common/web_kit.pigeon.dart';
+import '../common/web_kit.g.dart';
 import '../foundation/foundation.dart';
 import '../web_kit/web_kit.dart';
 import 'ui_kit.dart';
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit/web_kit_api_impls.dart b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit/web_kit_api_impls.dart
index 97a3e00..7cd29da 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit/web_kit_api_impls.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/lib/src/web_kit/web_kit_api_impls.dart
@@ -6,11 +6,11 @@
 import 'package:flutter/services.dart';
 
 import '../common/instance_manager.dart';
-import '../common/web_kit.pigeon.dart';
+import '../common/web_kit.g.dart';
 import '../foundation/foundation.dart';
 import 'web_kit.dart';
 
-export '../common/web_kit.pigeon.dart' show WKNavigationType;
+export '../common/web_kit.g.dart' show WKNavigationType;
 
 Iterable<WKWebsiteDataTypeEnumData> _toWKWebsiteDataTypeEnumData(
     Iterable<WKWebsiteDataType> types) {
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/pigeons/web_kit.dart b/packages/webview_flutter/webview_flutter_wkwebview/pigeons/web_kit.dart
index d32693e..9b334c2 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/pigeons/web_kit.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/pigeons/web_kit.dart
@@ -6,8 +6,8 @@
 
 @ConfigurePigeon(
   PigeonOptions(
-    dartOut: 'lib/src/common/web_kit.pigeon.dart',
-    dartTestOut: 'test/src/common/test_web_kit.pigeon.dart',
+    dartOut: 'lib/src/common/web_kit.g.dart',
+    dartTestOut: 'test/src/common/test_web_kit.g.dart',
     dartOptions: DartOptions(copyrightHeader: <String>[
       'Copyright 2013 The Flutter Authors. All rights reserved.',
       'Use of this source code is governed by a BSD-style license that can be',
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml
index 15e8ac5..5c4df99 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml
+++ b/packages/webview_flutter/webview_flutter_wkwebview/pubspec.yaml
@@ -2,7 +2,7 @@
 description: A Flutter plugin that provides a WebView widget based on Apple's WKWebView control.
 repository: https://github.com/flutter/plugins/tree/main/packages/webview_flutter/webview_flutter_wkwebview
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+webview%22
-version: 3.0.4
+version: 3.0.5
 
 environment:
   sdk: ">=2.17.0 <3.0.0"
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.pigeon.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.g.dart
similarity index 99%
rename from packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.pigeon.dart
rename to packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.g.dart
index 73c1053..5c31f63 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.pigeon.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/common/test_web_kit.g.dart
@@ -11,7 +11,7 @@
 import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
 
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart';
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart';
 
 class _TestWKWebsiteDataStoreHostApiCodec extends StandardMessageCodec {
   const _TestWKWebsiteDataStoreHostApiCodec();
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.dart
index 87b6598..b953620 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.dart
@@ -8,11 +8,11 @@
 import 'package:mockito/annotations.dart';
 import 'package:mockito/mockito.dart';
 import 'package:webview_flutter_wkwebview/src/common/instance_manager.dart';
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart';
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart';
 import 'package:webview_flutter_wkwebview/src/foundation/foundation.dart';
 import 'package:webview_flutter_wkwebview/src/foundation/foundation_api_impls.dart';
 
-import '../common/test_web_kit.pigeon.dart';
+import '../common/test_web_kit.g.dart';
 import 'foundation_test.mocks.dart';
 
 @GenerateMocks(<Type>[
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.mocks.dart
index fe80a54..d93198e 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.mocks.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/foundation/foundation_test.mocks.dart
@@ -4,10 +4,9 @@
 
 // ignore_for_file: no_leading_underscores_for_library_prefixes
 import 'package:mockito/mockito.dart' as _i1;
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart'
-    as _i3;
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i3;
 
-import '../common/test_web_kit.pigeon.dart' as _i2;
+import '../common/test_web_kit.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.dart
index f2250e1..f629566 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.dart
@@ -12,7 +12,7 @@
 import 'package:webview_flutter_wkwebview/src/ui_kit/ui_kit.dart';
 import 'package:webview_flutter_wkwebview/src/web_kit/web_kit.dart';
 
-import '../common/test_web_kit.pigeon.dart';
+import '../common/test_web_kit.g.dart';
 import 'ui_kit_test.mocks.dart';
 
 @GenerateMocks(<Type>[
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.mocks.dart
index 660c448..6200b8d 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.mocks.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/ui_kit/ui_kit_test.mocks.dart
@@ -6,10 +6,9 @@
 import 'dart:async' as _i4;
 
 import 'package:mockito/mockito.dart' as _i1;
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart'
-    as _i3;
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i3;
 
-import '../common/test_web_kit.pigeon.dart' as _i2;
+import '../common/test_web_kit.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.dart
index 401aebf..dd00786 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.dart
@@ -9,12 +9,12 @@
 import 'package:mockito/annotations.dart';
 import 'package:mockito/mockito.dart';
 import 'package:webview_flutter_wkwebview/src/common/instance_manager.dart';
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart';
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart';
 import 'package:webview_flutter_wkwebview/src/foundation/foundation.dart';
 import 'package:webview_flutter_wkwebview/src/web_kit/web_kit.dart';
 import 'package:webview_flutter_wkwebview/src/web_kit/web_kit_api_impls.dart';
 
-import '../common/test_web_kit.pigeon.dart';
+import '../common/test_web_kit.g.dart';
 import 'web_kit_test.mocks.dart';
 
 @GenerateMocks(<Type>[
diff --git a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.mocks.dart b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.mocks.dart
index a1a5bf2..50e0956 100644
--- a/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.mocks.dart
+++ b/packages/webview_flutter/webview_flutter_wkwebview/test/src/web_kit/web_kit_test.mocks.dart
@@ -6,10 +6,9 @@
 import 'dart:async' as _i3;
 
 import 'package:mockito/mockito.dart' as _i1;
-import 'package:webview_flutter_wkwebview/src/common/web_kit.pigeon.dart'
-    as _i4;
+import 'package:webview_flutter_wkwebview/src/common/web_kit.g.dart' as _i4;
 
-import '../common/test_web_kit.pigeon.dart' as _i2;
+import '../common/test_web_kit.g.dart' as _i2;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
diff --git a/script/tool/lib/src/common/package_state_utils.dart b/script/tool/lib/src/common/package_state_utils.dart
index 464dac6..fbba75c 100644
--- a/script/tool/lib/src/common/package_state_utils.dart
+++ b/script/tool/lib/src/common/package_state_utils.dart
@@ -171,6 +171,9 @@
       // The top-level "tool" directory is for non-client-facing utility
       // code, such as test scripts.
       pathComponents.first == 'tool' ||
+      // The top-level "pigeons" directory is the repo convention for storing
+      // pigeon input files.
+      pathComponents.first == 'pigeons' ||
       // Entry point for the 'custom-test' command, which is only for CI and
       // local testing.
       pathComponents.first == 'run_tests.sh' ||
diff --git a/script/tool/test/common/package_state_utils_test.dart b/script/tool/test/common/package_state_utils_test.dart
index 86029cd..9b6429a 100644
--- a/script/tool/test/common/package_state_utils_test.dart
+++ b/script/tool/test/common/package_state_utils_test.dart
@@ -68,6 +68,8 @@
         'packages/a_plugin/example/android/src/androidTest/foo/bar/FooTest.java',
         'packages/a_plugin/example/ios/RunnerTests/Foo.m',
         'packages/a_plugin/example/ios/RunnerUITests/info.plist',
+        // Pigeon input.
+        'packages/a_plugin/pigeons/messages.dart',
         // Test scripts.
         'packages/a_plugin/run_tests.sh',
         // Tools.