chore(shorebird_cli): print detected version number in patch commands (#626)

This commit is contained in:
Bryan Oltman
2023-06-12 10:48:24 -04:00
committed by GitHub
parent 2736da73c8
commit 39b34dab5a
4 changed files with 32 additions and 2 deletions
@@ -143,7 +143,9 @@ class PatchAndroidCommand extends ShorebirdCommand
try {
releaseVersion = releaseVersionArg ??
await extractReleaseVersionFromAppBundle(bundlePath);
detectReleaseVersionProgress.complete();
detectReleaseVersionProgress.complete(
'Detected release version $releaseVersion',
);
} catch (error) {
detectReleaseVersionProgress.fail('$error');
return ExitCode.software.code;
@@ -140,7 +140,9 @@ class PatchIosCommand extends ShorebirdCommand
),
);
releaseVersion = ipa.versionNumber;
detectReleaseVersionProgress.complete();
detectReleaseVersionProgress.complete(
'Detected release version $releaseVersion',
);
} catch (error) {
detectReleaseVersionProgress.fail(
'Failed to determine release version: $error',
@@ -483,6 +483,19 @@ https://github.com/shorebirdtech/shorebird/issues/472
).called(1);
});
test('prints release version when detected', () async {
final tempDir = setUpTempDir();
setUpTempArtifacts(tempDir);
final exitCode = await IOOverrides.runZoned(
() => runWithOverrides(command.run),
getCurrentDirectory: () => tempDir,
);
expect(exitCode, equals(ExitCode.success.code));
verify(() => progress.complete('Detected release version 1.2.3+1'))
.called(1);
});
test('throws error when release artifact does not exist.', () async {
when(() => httpClient.send(any())).thenAnswer(
(_) async => http.StreamedResponse(
@@ -344,6 +344,19 @@ https://github.com/shorebirdtech/shorebird/issues/472
).called(1);
});
test('prints release version when detected', () async {
final tempDir = setUpTempDir();
setUpTempArtifacts(tempDir);
final exitCode = await IOOverrides.runZoned(
() => runWithOverrides(command.run),
getCurrentDirectory: () => tempDir,
);
expect(exitCode, equals(ExitCode.success.code));
verify(() => progress.complete('Detected release version 1.2.3+1'))
.called(1);
});
test('throws error when creating aot snapshot fails', () async {
const error = 'oops something went wrong';
when(() => aotBuildProcessResult.exitCode).thenReturn(1);