[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