Unverified Commit 0ad0dc25 authored by Christopher Fujino's avatar Christopher Fujino Committed by GitHub

[flutter_tools] fix missing cmake (#103761)

parent 90a592bf
......@@ -124,7 +124,9 @@ Future<void> _runCmake(String buildModeName, Directory sourceDir, Directory buil
final bool needCrossBuildOptionsForArm64 = needCrossBuild
&& targetPlatform == TargetPlatform.linux_arm64;
int result;
try {
if (!globals.processManager.canRun('cmake')) {
throwToolExit(globals.userMessages.cmakeMissing);
}
result = await globals.processUtils.stream(
<String>[
'cmake',
......@@ -149,9 +151,6 @@ Future<void> _runCmake(String buildModeName, Directory sourceDir, Directory buil
},
trace: true,
);
} on ArgumentError {
throwToolExit("cmake not found. Run 'flutter doctor' for more information.");
}
if (result != 0) {
throwToolExit('Unable to generate build files');
}
......
......@@ -172,18 +172,15 @@ void main() {
OperatingSystemUtils: () => FakeOperatingSystemUtils(),
});
testUsingContext('Handles argument error from missing cmake', () async {
testUsingContext('Handles missing cmake', () async {
final BuildCommand command = BuildCommand();
setUpMockProjectFilesForBuild();
processManager = FakeProcessManager.list(<FakeCommand>[
cmakeCommand('release', onRun: () {
throw ArgumentError();
}),
]);
processManager = FakeProcessManager.empty()
..excludedExecutables.add('cmake');
expect(createTestCommandRunner(command).run(
const <String>['build', 'linux', '--no-pub']
), throwsToolExit(message: "cmake not found. Run 'flutter doctor' for more information."));
), throwsToolExit(message: 'CMake is required for Linux development.'));
}, overrides: <Type, Generator>{
FileSystem: () => fileSystem,
ProcessManager: () => processManager,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment