Run `dcm check-dependencies` over DevTools packages (#9941)

This adds the `dcm check-dependencies` check to our CI and resolves (or ignores) findings where appropriate.

Fixes https://github.com/flutter/devtools/issues/9940
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index b65550a..3464435 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -86,6 +86,7 @@
       - name: Run dcm checks on packages
         run: |
           dcm check-unused-code packages/devtools_app packages/devtools_app_shared packages/devtools_extensions packages/devtools_shared packages/devtools_test --exclude-public-api
+          dcm check-dependencies packages/devtools_app packages/devtools_app_shared packages/devtools_extensions packages/devtools_shared packages/devtools_test
 
   test-packages:
     name: ${{ matrix.os }} ${{ matrix.package }} test
diff --git a/analysis_options.yaml b/analysis_options.yaml
index c98b130..207a8e9 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -166,9 +166,11 @@
     cyclomatic-complexity: 20
     number-of-parameters: 4
     maximum-nesting-level: 5
-  metrics-exclude:
-    - packages/devtools_app/test/test_infra/test_data/**
   exclude:
+    dependencies:
+      - "**/packages/devtools_extensions/example/**"
+    metrics:
+      - packages/devtools_app/test/test_infra/test_data/**
     unused-code:
       # This fixture has unused code for testing the debugger.
       - packages/devtools_app/test/test_infra/fixtures/flutter_app/**
diff --git a/packages/devtools_app/pubspec.yaml b/packages/devtools_app/pubspec.yaml
index 70bc3ba..c7e55d7 100644
--- a/packages/devtools_app/pubspec.yaml
+++ b/packages/devtools_app/pubspec.yaml
@@ -21,7 +21,6 @@
   async: ^2.0.0
   collection: ^1.15.0
   dap: ^1.1.0
-  dart_service_protocol_shared: ^0.0.3
   dds_service_extensions: ^2.0.2
   devtools_app_shared:
   devtools_extensions:
@@ -43,12 +42,14 @@
   meta: ^1.9.1
   mime: ^2.0.0
   path: ^1.8.0
+  # ignore: dependencies, used to load the Perfetto UI compiled assets.
   perfetto_ui_compiled:
     path: ../../third_party/packages/perfetto_ui_compiled
   pointer_interceptor: ^0.10.1+1
   provider: ^6.0.2
   source_map_stack_trace: ^2.1.2
   source_maps: ^0.10.12
+  # ignore: dependencies, used in a conditional import.
   sse: ^4.1.2
   stack_trace: ^1.12.0
   string_scanner: ^1.4.0
@@ -57,17 +58,17 @@
   vm_service_protos: ^2.0.0
   vm_snapshot_analysis: ^0.7.6
   web: ^1.0.0
-  web_socket_channel: ^3.0.0
 
 dev_dependencies:
   args: ^2.4.2
   benchmark_harness: ^2.3.1
-  build_runner: ^2.5.4
+  dart_service_protocol_shared: ^0.0.3
   devtools_test:
     path: ../devtools_test
   fake_async: ^1.3.1
   flutter_driver:
     sdk: flutter
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
   integration_test:
@@ -78,7 +79,7 @@
   test: ^1.21.0
   web_benchmarks: ^4.1.1
   webdriver: ^3.1.0
-  webkit_inspection_protocol: ">=0.5.0 <2.0.0"
+  web_socket_channel: ^3.0.0
 
 flutter:
   uses-material-design: true
diff --git a/packages/devtools_app/test/test_infra/fixtures/flutter_app/pubspec.yaml b/packages/devtools_app/test/test_infra/fixtures/flutter_app/pubspec.yaml
index 483b8c7..98e13e7 100644
--- a/packages/devtools_app/test/test_infra/fixtures/flutter_app/pubspec.yaml
+++ b/packages/devtools_app/test/test_infra/fixtures/flutter_app/pubspec.yaml
@@ -15,6 +15,7 @@
     sdk: flutter
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
 
diff --git a/packages/devtools_app/test/test_infra/fixtures/flutter_error_app/pubspec.yaml b/packages/devtools_app/test/test_infra/fixtures/flutter_error_app/pubspec.yaml
index fdc6fb6..b123fbe 100644
--- a/packages/devtools_app/test/test_infra/fixtures/flutter_error_app/pubspec.yaml
+++ b/packages/devtools_app/test/test_infra/fixtures/flutter_error_app/pubspec.yaml
@@ -21,6 +21,7 @@
     sdk: flutter
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
 
diff --git a/packages/devtools_app/test/test_infra/fixtures/inspector_app/pubspec.yaml b/packages/devtools_app/test/test_infra/fixtures/inspector_app/pubspec.yaml
index 5c9e2f0..bdc06f5 100644
--- a/packages/devtools_app/test/test_infra/fixtures/inspector_app/pubspec.yaml
+++ b/packages/devtools_app/test/test_infra/fixtures/inspector_app/pubspec.yaml
@@ -17,6 +17,7 @@
     path: ../custom_widgets
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
 
diff --git a/packages/devtools_app/test/test_infra/fixtures/memory_app/pubspec.yaml b/packages/devtools_app/test/test_infra/fixtures/memory_app/pubspec.yaml
index 67edb82..c4c76cf 100644
--- a/packages/devtools_app/test/test_infra/fixtures/memory_app/pubspec.yaml
+++ b/packages/devtools_app/test/test_infra/fixtures/memory_app/pubspec.yaml
@@ -15,6 +15,7 @@
     sdk: flutter
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
 
diff --git a/packages/devtools_app_shared/pubspec.yaml b/packages/devtools_app_shared/pubspec.yaml
index 4efbb1e..8afa944 100644
--- a/packages/devtools_app_shared/pubspec.yaml
+++ b/packages/devtools_app_shared/pubspec.yaml
@@ -28,6 +28,7 @@
   web: ^1.0.0
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
   test: ^1.21.0
diff --git a/packages/devtools_extensions/example/app_that_uses_foo/pubspec.yaml b/packages/devtools_extensions/example/app_that_uses_foo/pubspec.yaml
index 71a7608..cda6e2e 100644
--- a/packages/devtools_extensions/example/app_that_uses_foo/pubspec.yaml
+++ b/packages/devtools_extensions/example/app_that_uses_foo/pubspec.yaml
@@ -23,6 +23,7 @@
   flutter_test:
     sdk: flutter
   flutter_lints: ^4.0.0
+  # ignore: dependencies, intentional for example code.
   standalone_extension:
     path: ../packages_with_extensions/standalone_extension
   test: ^1.21.0
diff --git a/packages/devtools_extensions/example/packages_with_extensions/dart_foo/packages/dart_foo_devtools_extension/pubspec.yaml b/packages/devtools_extensions/example/packages_with_extensions/dart_foo/packages/dart_foo_devtools_extension/pubspec.yaml
index 50b5218..e5e84eb 100644
--- a/packages/devtools_extensions/example/packages_with_extensions/dart_foo/packages/dart_foo_devtools_extension/pubspec.yaml
+++ b/packages/devtools_extensions/example/packages_with_extensions/dart_foo/packages/dart_foo_devtools_extension/pubspec.yaml
@@ -12,6 +12,7 @@
   flutter: '>=3.0.0'
 
 dependencies:
+  # ignore: dependencies, intentional for example code.
   devtools_app_shared:
     path: ../../../../../../devtools_app_shared
   devtools_extensions:
diff --git a/packages/devtools_extensions/example/packages_with_extensions/standalone_extension/pubspec.yaml b/packages/devtools_extensions/example/packages_with_extensions/standalone_extension/pubspec.yaml
index 83f45b7..c58a4a8 100644
--- a/packages/devtools_extensions/example/packages_with_extensions/standalone_extension/pubspec.yaml
+++ b/packages/devtools_extensions/example/packages_with_extensions/standalone_extension/pubspec.yaml
@@ -12,6 +12,7 @@
   flutter: '>=3.0.0'
 
 dependencies:
+  # ignore: dependencies, intentional for example code.
   devtools_app_shared:
     path: ../../../../devtools_app_shared
   devtools_extensions:
diff --git a/packages/devtools_extensions/pubspec.yaml b/packages/devtools_extensions/pubspec.yaml
index 42b4dae..df7ce76 100644
--- a/packages/devtools_extensions/pubspec.yaml
+++ b/packages/devtools_extensions/pubspec.yaml
@@ -32,10 +32,9 @@
 dev_dependencies:
   flutter_driver:
     sdk: flutter
+  flutter_lints: ^6.0.0
   flutter_test:
     sdk: flutter
-  flutter_web_plugins:
-    sdk: flutter
   integration_test:
     sdk: flutter
   foo_devtools_extension:
diff --git a/packages/devtools_shared/pubspec.yaml b/packages/devtools_shared/pubspec.yaml
index 4176521..ff12188 100644
--- a/packages/devtools_shared/pubspec.yaml
+++ b/packages/devtools_shared/pubspec.yaml
@@ -30,4 +30,5 @@
   yaml_edit: ^2.1.1
 
 dev_dependencies:
+  flutter_lints: ^6.0.0
   test: ^1.21.2
diff --git a/packages/devtools_test/pubspec.yaml b/packages/devtools_test/pubspec.yaml
index 514b26d..6e5d071 100644
--- a/packages/devtools_test/pubspec.yaml
+++ b/packages/devtools_test/pubspec.yaml
@@ -14,13 +14,13 @@
 resolution: workspace
 
 dependencies:
-  async: ^2.0.0
   collection: ^1.15.0
   dap: ^1.1.0
   devtools_app:
   devtools_app_shared:
   devtools_shared:
   dtd: ^4.0.0
+  fixnum: ^1.1.1
   flutter:
     sdk: flutter
   flutter_test:
@@ -32,7 +32,7 @@
   path: ^1.8.0
   provider: ^6.0.2
   vm_service: '>=13.0.0 <16.0.0'
-  webkit_inspection_protocol: '>=0.5.0 <2.0.0'
+  vm_service_protos: ^2.0.1
 
 dev_dependencies:
-  build_runner: ^2.3.3
+  flutter_lints: ^6.0.0