From 97444791830c93985103c8a27cdaef1ed650c13b Mon Sep 17 00:00:00 2001 From: Tien Do Nam Date: Thu, 1 Jun 2023 17:46:15 +0200 Subject: [PATCH] fix: use correct flutter executable --- lib/src/windows_build.dart | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/src/windows_build.dart b/lib/src/windows_build.dart index 9fdfa17..4a1a319 100644 --- a/lib/src/windows_build.dart +++ b/lib/src/windows_build.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:cli_util/cli_logging.dart'; import 'package:get_it/get_it.dart'; +import 'package:path/path.dart' as p; import 'method_extensions.dart'; import 'configuration.dart'; @@ -11,19 +12,27 @@ class WindowsBuild { /// Run "flutter build windows" command Future build() async { - List buildWindowsArguments = ['build', 'windows']; + final flutterArgs = [ + 'build', + 'windows', + ...?_config.windowsBuildArgs, + if (_config.createWithDebugBuildFiles) '--debug', + ]; - if (_config.windowsBuildArgs != null) { - buildWindowsArguments.addAll(_config.windowsBuildArgs!); - } + // e.g. C:\Users\MyUser\fvm\versions\3.7.12\bin\cache\dart-sdk\bin\dart.exe + final dartPath = p.split(Platform.executable); - if (_config.createWithDebugBuildFiles) buildWindowsArguments.add('--debug'); + // e.g. C:\Users\MyUser\fvm\versions\3.7.12\bin\flutter + final flutterPath = p.joinAll([ + ...dartPath.sublist(0, dartPath.length - 4), + 'flutter', + ]); - Progress loggerProgress = _logger - .progress('running "flutter ${buildWindowsArguments.join(' ')}"'); + final Progress loggerProgress = _logger + .progress('running ""$flutterPath" ${flutterArgs.join(' ')}"'); // ignore: avoid_single_cascade_in_expression_statements - await Process.run('flutter', buildWindowsArguments, runInShell: true) + await Process.run(flutterPath, flutterArgs, runInShell: true) ..exitOnError(); loggerProgress.finish(showTiming: true);