[DevTools extensions] Only use `Uri.file` for windows platforms (#6961)

* [DevTools extensions] Only use `Uri.file` for windows platforms

* version bump

* disable flutter doctor invocation

* add back doctor

* don't set up sdk

* pin flutter
diff --git a/.github/workflows/flutter-prep.yaml b/.github/workflows/flutter-prep.yaml
index c0b56aa..f5e8bc7 100644
--- a/.github/workflows/flutter-prep.yaml
+++ b/.github/workflows/flutter-prep.yaml
@@ -88,6 +88,6 @@
 
       - name: Setup Flutter SDK
         run: |
-          ./flutter-sdk/bin/flutter config --no-analytics
-          ./flutter-sdk/bin/flutter doctor
+          ./flutter-sdk/bin/flutter config --disable-analytics
           ./flutter-sdk/bin/cache/dart-sdk/bin/dart --disable-analytics
+          ./flutter-sdk/bin/flutter doctor
diff --git a/packages/devtools_shared/CHANGELOG.md b/packages/devtools_shared/CHANGELOG.md
index 800cfa1..86fa082 100644
--- a/packages/devtools_shared/CHANGELOG.md
+++ b/packages/devtools_shared/CHANGELOG.md
@@ -1,34 +1,54 @@
-# 4.2.0
+# 6.0.3
+* `CompareMixin` is now generic, implementing `Comparable<T>` instead of
+  `Comparable<dynamic>`, and it's operators each therefore accept a `T`
+  argument.
+* `SemanticVersion` now mixes in `CompareMixin<SemanticVersion>`, and it's
+  `compareTo` method therefore now accepts a `SemanticVersion`.
+* Fix an issue parsing file paths on Mac that could prevent extensions from being detected.
 
-- Adds `DeeplinkApi.androidAppLinkSettings`, `DeeplinkApi.iosBuildOptions`, and
+# 6.0.2
+* Fix an issue parsing file paths on Windows that could prevent extensions from being detected.
+
+# 6.0.1
+* Bump minimum Dart SDK version to `3.3.0-91.0.dev` and minimum Flutter SDK version to `3.17.0-0.0.pre`.
+* Add field `isPublic` to `DevToolsExtensionConfig`.
+* Add validation for `DevToolsExtensionConfig.name` field to ensure it is a valid
+Dart package name.
+* Pass warnings and errors for DevTools extension APIs from the DevTools server to
+DevTools app.
+
+# 6.0.0
+* Bump `package:vm_service` dependency to ^13.0.0.
+* Remove `ServiceCreator` typedef and replace usages with `VmServiceFactory` typedef from `package:vm_service`.
+
+# 5.0.0
+* Split deeplink exports into `devtools_deeplink_io.dart` and `devtools_deeplink.dart`.
+* Bump `package:vm_service` to ^12.0.0.
+* Adds `DeeplinkApi.androidAppLinkSettings`, `DeeplinkApi.iosBuildOptions`, and
   `DeeplinkApi.iosUniversalLinkSettings` endpoints to ServerApi.
-
-# 4.1.0
-
-- Add shared integration test utilities to `package:devtools_shared`. These test
+* Add shared integration test utilities to `package:devtools_shared`. These test
 utilities are exported as part of the existing `devtools_test_utils.dart` library.
 
 # 4.0.1
-
-- Override equality operator and hashCode for `DevToolsExtensionConfig`
+* Override equality operator and hashCode for `DevToolsExtensionConfig`
 to be based on the values of its fields.
 
 # 4.0.0
 
-- Bump `package:extension_discovery` version to ^2.0.0
-- Adds a `DeeplinkApi.androidBuildVariants` endpoint to ServerApi.
-- **BREAKING CHANGE**:
+* Bump `package:extension_discovery` version to ^2.0.0
+* Adds a `DeeplinkApi.androidBuildVariants` endpoint to ServerApi.
+* **BREAKING CHANGE**:
   - `ServerApi.handle` parameters `extensionsManager` and `api` were converted to named
     parameters
   - Adds a new required named parameter `deeplinkManager` to `ServerApi.handle`.
 
 # 3.0.1
 
-- Bump `package:extension_discovery` version to ^1.0.1
+* Bump `package:extension_discovery` version to ^1.0.1
 
 # 3.0.0
 
-- Separate extension-related libraries into those that require `dart:io` (exported as
+* Separate extension-related libraries into those that require `dart:io` (exported as
 `devtools_extensions_io.dart`) and those that do not (exported as `devtools_extensions.dart`).
 
 Prior to version 3.0.0, `package:devtools_shared` was versioned in lockstep with
diff --git a/packages/devtools_shared/lib/src/extensions/extension_manager.dart b/packages/devtools_shared/lib/src/extensions/extension_manager.dart
index ee798d6..e7e5ccb 100644
--- a/packages/devtools_shared/lib/src/extensions/extension_manager.dart
+++ b/packages/devtools_shared/lib/src/extensions/extension_manager.dart
@@ -62,15 +62,18 @@
     if (rootPath != null) {
       late final List<Extension> extensions;
       try {
+        final packageConfigPath = path.join(
+          rootPath,
+          '.dart_tool',
+          'package_config.json',
+        );
+        // Only use [Uri.file] for windows platforms (https://github.com/dart-lang/tools/issues/220).
+        final packageConfigUri = Platform.isWindows
+            ? Uri.file(packageConfigPath)
+            : Uri.parse(packageConfigPath);
         extensions = await findExtensions(
           'devtools',
-          packageConfig: Uri.parse(
-            path.join(
-              rootPath,
-              '.dart_tool',
-              'package_config.json',
-            ),
-          ),
+          packageConfig: packageConfigUri,
         );
       } catch (e) {
         print('[ERROR] `findExtensions` failed: $e');
diff --git a/packages/devtools_shared/pubspec.yaml b/packages/devtools_shared/pubspec.yaml
index 2847eb8..c3f9374 100644
--- a/packages/devtools_shared/pubspec.yaml
+++ b/packages/devtools_shared/pubspec.yaml
@@ -1,7 +1,7 @@
 name: devtools_shared
 description: Package of shared Dart structures between devtools_app, dds, and other tools.
 
-version: 4.2.0
+version: 6.0.3
 
 repository: https://github.com/flutter/devtools/tree/master/packages/devtools_shared