From ffcc383848a0aa08d24aaf3a3331fba6a802d20d Mon Sep 17 00:00:00 2001 From: Byoungchan Lee Date: Sat, 29 Mar 2025 01:35:15 +0900 Subject: [PATCH] [flutter_tools] Fix VS Code package.json path on macOS with case-sensitive file system (#163409) This PR corrects the path to VS Code's `package.json` in `flutter doctor` for macOS with a case-sensitive file system. The correct directory name is `Resources`, but the existing code incorrectly uses `resources`. On a case-insensitive file system (the macOS default), this issue does not appear. However, on a case-sensitive file system, `flutter doctor` fails to detect the VS Code version correctly. Fixes #163408. *Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.* *List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.* *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [ ] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md --- packages/flutter_tools/lib/src/vscode/vscode.dart | 2 +- .../application/{resources => Resources}/app/package.json | 0 .../flutter_tools/test/general.shard/vscode/vscode_test.dart | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename packages/flutter_tools/test/data/vscode/application/{resources => Resources}/app/package.json (100%) diff --git a/packages/flutter_tools/lib/src/vscode/vscode.dart b/packages/flutter_tools/lib/src/vscode/vscode.dart index 3a44c6b241..c4e7125a75 100644 --- a/packages/flutter_tools/lib/src/vscode/vscode.dart +++ b/packages/flutter_tools/lib/src/vscode/vscode.dart @@ -71,7 +71,7 @@ class VsCode { }) { final String packageJsonPath = fileSystem.path.join( installPath, - 'resources', + 'Resources', 'app', 'package.json', ); diff --git a/packages/flutter_tools/test/data/vscode/application/resources/app/package.json b/packages/flutter_tools/test/data/vscode/application/Resources/app/package.json similarity index 100% rename from packages/flutter_tools/test/data/vscode/application/resources/app/package.json rename to packages/flutter_tools/test/data/vscode/application/Resources/app/package.json diff --git a/packages/flutter_tools/test/general.shard/vscode/vscode_test.dart b/packages/flutter_tools/test/general.shard/vscode/vscode_test.dart index 107e72d11a..8fc2891fd4 100644 --- a/packages/flutter_tools/test/general.shard/vscode/vscode_test.dart +++ b/packages/flutter_tools/test/general.shard/vscode/vscode_test.dart @@ -51,7 +51,7 @@ void main() { testWithoutContext('VsCode.fromDirectory does not crash when packages.json is malformed', () { final MemoryFileSystem fileSystem = MemoryFileSystem.test(); // Create invalid JSON file. - fileSystem.file(fileSystem.path.join('', 'resources', 'app', 'package.json')) + fileSystem.file(fileSystem.path.join('', 'Resources', 'app', 'package.json')) ..createSync(recursive: true) ..writeAsStringSync('{');