performUpdate method
Perform the self-update by running dart pub global activate.
Implementation
Future<UpdateResult> performUpdate() async {
try {
final result = await _runProcess('dart', [
'pub',
'global',
'activate',
packageName,
]);
if (result.exitCode == 0) {
return UpdateResult(
success: true,
message:
'Successfully updated $packageName. '
'Run `zorphy_cli --version` to verify.',
);
} else {
return UpdateResult(
success: false,
exitCode: result.exitCode,
message:
'`dart pub global activate $packageName` failed.\n'
'${result.stderr}',
);
}
} catch (e) {
return UpdateResult(
success: false,
message: 'Failed to run update command: $e',
);
}
}