Add 'doctor' support for Windows (#33872)
Moves the logic for finding vcvars64.bat to a new VisualStudio class
that encapsulates finding, and providing information about, VisualStudio
installations. Adds a validator for it, and runs it for Windows
workflows in doctor.
diff --git a/packages/flutter_tools/lib/src/windows/build_windows.dart b/packages/flutter_tools/lib/src/windows/build_windows.dart
index a4ddb7d..1d08075 100644
--- a/packages/flutter_tools/lib/src/windows/build_windows.dart
+++ b/packages/flutter_tools/lib/src/windows/build_windows.dart
@@ -14,6 +14,7 @@
import '../globals.dart';
import '../project.dart';
import 'msbuild_utils.dart';
+import 'visual_studio.dart';
/// Builds the Windows project using msbuild.
Future<void> buildWindows(WindowsProject windowsProject, BuildInfo buildInfo, {String target = 'lib/main.dart'}) async {
@@ -31,9 +32,10 @@
}
writePropertySheet(windowsProject.generatedPropertySheetFile, environment);
- final String vcvarsScript = await findVcvars();
+ final String vcvarsScript = visualStudio.vcvarsPath;
if (vcvarsScript == null) {
- throwToolExit('Unable to build: could not find suitable toolchain.');
+ throwToolExit('Unable to find suitable Visual Studio toolchain. '
+ 'Please run `flutter doctor` for more details.');
}
final String buildScript = fs.path.join(