resolveFlutterBinary function
Resolve the flutter binary path for a project.
Priority:
- Explicit Flutter SDK path ->
path/bin/flutter - FVM auto-detect:
project/.fvm/flutter_sdk/bin/flutter flutterfrom PATH
Implementation
String resolveFlutterBinary(
String projectPath, {
String? explicitSdk,
void Function(String)? onWarning,
}) {
if (explicitSdk != null) {
final bin = '$explicitSdk/bin/flutter';
if (File(bin).existsSync()) return bin;
onWarning?.call(
'WARNING: --flutter-sdk path not found ($bin), falling back to PATH',
);
}
// FVM stores a symlink at .fvm/flutter_sdk -> sdk-version.
final fvmBin = '$projectPath/.fvm/flutter_sdk/bin/flutter';
if (File(fvmBin).existsSync() || Link(fvmBin).existsSync()) {
return fvmBin;
}
return 'flutter';
}