diff --git a/packages/artifact_proxy/pubspec.lock b/packages/artifact_proxy/pubspec.lock index 7bded84e..24b4beb5 100644 --- a/packages/artifact_proxy/pubspec.lock +++ b/packages/artifact_proxy/pubspec.lock @@ -570,4 +570,4 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.19.5 <3.0.0" + dart: ">=3.0.0 <4.0.0" diff --git a/packages/artifact_proxy/pubspec.yaml b/packages/artifact_proxy/pubspec.yaml index b64c8668..59a24727 100644 --- a/packages/artifact_proxy/pubspec.yaml +++ b/packages/artifact_proxy/pubspec.yaml @@ -5,7 +5,7 @@ repository: https://github.com/shorebirdtech/shorebird/ publish_to: "none" environment: - sdk: ">=2.19.5 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: checked_yaml: ^2.0.2 diff --git a/packages/cutler/pubspec.lock b/packages/cutler/pubspec.lock index 8f68a82d..087a6ff4 100644 --- a/packages/cutler/pubspec.lock +++ b/packages/cutler/pubspec.lock @@ -370,4 +370,4 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.19.6 <3.0.0" + dart: ">=3.0.0 <4.0.0" diff --git a/packages/cutler/pubspec.yaml b/packages/cutler/pubspec.yaml index 6ccaecc9..812da5c0 100644 --- a/packages/cutler/pubspec.yaml +++ b/packages/cutler/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 repository: https://github.com/shorebirdtech/shorebird environment: - sdk: '>=2.19.6 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dev_dependencies: test: ^1.21.0 diff --git a/packages/discord_gcp_alerts/pubspec.lock b/packages/discord_gcp_alerts/pubspec.lock index 020347c8..a1ba77aa 100644 --- a/packages/discord_gcp_alerts/pubspec.lock +++ b/packages/discord_gcp_alerts/pubspec.lock @@ -562,4 +562,4 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.19.6 <3.0.0" + dart: ">=3.0.0 <4.0.0" diff --git a/packages/discord_gcp_alerts/pubspec.yaml b/packages/discord_gcp_alerts/pubspec.yaml index 9ca23495..09192062 100644 --- a/packages/discord_gcp_alerts/pubspec.yaml +++ b/packages/discord_gcp_alerts/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 publish_to: none environment: - sdk: '>=2.19.6 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dependencies: http: ^0.13.5 diff --git a/packages/jwt/pubspec.yaml b/packages/jwt/pubspec.yaml index 11bd3906..8bf4b375 100644 --- a/packages/jwt/pubspec.yaml +++ b/packages/jwt/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0+1 publish_to: none environment: - sdk: ">=2.19.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: clock: ^1.1.0 diff --git a/packages/shorebird_cli/lib/src/shorebird_process.dart b/packages/shorebird_cli/lib/src/shorebird_process.dart index c06501df..9f805a1c 100644 --- a/packages/shorebird_cli/lib/src/shorebird_process.dart +++ b/packages/shorebird_cli/lib/src/shorebird_process.dart @@ -30,7 +30,7 @@ class ShorebirdProcess { final ProcessWrapper processWrapper; final EngineConfig engineConfig; - Future run( + Future run( String executable, List arguments, { bool runInShell = false, @@ -113,23 +113,40 @@ class ShorebirdProcess { } } +class ShorebirdProcessResult { + const ShorebirdProcessResult({ + required this.exitCode, + required this.stdout, + required this.stderr, + }); + + final int exitCode; + final dynamic stdout; + final dynamic stderr; +} + // coverage:ignore-start @visibleForTesting class ProcessWrapper { - Future run( + Future run( String executable, List arguments, { bool runInShell = false, Map? environment, String? workingDirectory, - }) { - return Process.run( + }) async { + final result = await Process.run( executable, arguments, environment: environment, runInShell: runInShell, workingDirectory: workingDirectory, ); + return ShorebirdProcessResult( + exitCode: result.exitCode, + stdout: result.stdout, + stderr: result.stderr, + ); } Future start( diff --git a/packages/shorebird_cli/pubspec.yaml b/packages/shorebird_cli/pubspec.yaml index 1808660a..07f94aec 100644 --- a/packages/shorebird_cli/pubspec.yaml +++ b/packages/shorebird_cli/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/shorebirdtech/shorebird publish_to: none environment: - sdk: ">=2.19.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: archive: ^3.3.6 diff --git a/packages/shorebird_cli/test/src/command_runner_test.dart b/packages/shorebird_cli/test/src/command_runner_test.dart index 0e0c2b15..b7f88ad2 100644 --- a/packages/shorebird_cli/test/src/command_runner_test.dart +++ b/packages/shorebird_cli/test/src/command_runner_test.dart @@ -1,22 +1,21 @@ -import 'dart:io'; - import 'package:args/command_runner.dart'; import 'package:cli_completion/cli_completion.dart'; import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:shorebird_cli/src/command_runner.dart'; import 'package:shorebird_cli/src/shorebird_environment.dart'; +import 'package:shorebird_cli/src/shorebird_process.dart'; import 'package:shorebird_cli/src/version.dart'; import 'package:test/test.dart'; class _MockLogger extends Mock implements Logger {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} void main() { group('ShorebirdCliCommandRunner', () { late Logger logger; - late ProcessResult processResult; + late ShorebirdProcessResult processResult; late ShorebirdCliCommandRunner commandRunner; setUp(() { diff --git a/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart index f01f9f74..dfe30815 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_apk_command_test.dart @@ -20,7 +20,7 @@ class _MockLogger extends Mock implements Logger {} class _MockProgress extends Mock implements Progress {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockShorebirdFlutterValidator extends Mock implements ShorebirdFlutterValidator {} @@ -33,7 +33,7 @@ void main() { late http.Client httpClient; late Auth auth; late Logger logger; - late ProcessResult processResult; + late ShorebirdProcessResult processResult; late BuildApkCommand command; late ShorebirdFlutterValidator flutterValidator; late ShorebirdProcess shorebirdProcess; diff --git a/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart b/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart index fa8ed942..2d35ef79 100644 --- a/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/build/build_app_bundle_command_test.dart @@ -20,7 +20,7 @@ class _MockLogger extends Mock implements Logger {} class _MockProgress extends Mock implements Progress {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockShorebirdFlutterValidator extends Mock implements ShorebirdFlutterValidator {} @@ -33,7 +33,7 @@ void main() { late http.Client httpClient; late Auth auth; late Logger logger; - late ProcessResult processResult; + late ShorebirdProcessResult processResult; late BuildAppBundleCommand command; late ShorebirdFlutterValidator flutterValidator; late ShorebirdProcess shorebirdProcess; diff --git a/packages/shorebird_cli/test/src/commands/init_command_test.dart b/packages/shorebird_cli/test/src/commands/init_command_test.dart index 67b4eb71..96a37890 100644 --- a/packages/shorebird_cli/test/src/commands/init_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/init_command_test.dart @@ -24,7 +24,7 @@ class _MockLogger extends Mock implements Logger {} class _MockProcess extends Mock implements ShorebirdProcess {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockPlatform extends Mock implements Platform {} @@ -45,7 +45,7 @@ environment: late ArgResults argResults; late Auth auth; late ShorebirdProcess process; - late ProcessResult result; + late ShorebirdProcessResult result; late CodePushClient codePushClient; late Logger logger; late InitCommand command; diff --git a/packages/shorebird_cli/test/src/commands/patch_command_test.dart b/packages/shorebird_cli/test/src/commands/patch_command_test.dart index cc86d31b..defa66ec 100644 --- a/packages/shorebird_cli/test/src/commands/patch_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/patch_command_test.dart @@ -30,7 +30,7 @@ class _MockPlatform extends Mock implements Platform {} class _MockProgress extends Mock implements Progress {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockHttpClient extends Mock implements http.Client {} @@ -98,11 +98,11 @@ flutter: late Platform environmentPlatform; late Progress progress; late Logger logger; - late ProcessResult flutterBuildProcessResult; - late ProcessResult flutterRevisionProcessResult; - late ProcessResult patchProcessResult; - late ProcessResult releaseVersionNameProcessResult; - late ProcessResult releaseVersionCodeProcessResult; + late ShorebirdProcessResult flutterBuildProcessResult; + late ShorebirdProcessResult flutterRevisionProcessResult; + late ShorebirdProcessResult patchProcessResult; + late ShorebirdProcessResult releaseVersionNameProcessResult; + late ShorebirdProcessResult releaseVersionCodeProcessResult; late http.Client httpClient; late CodePushClient codePushClient; late Cache cache; diff --git a/packages/shorebird_cli/test/src/commands/release_command_test.dart b/packages/shorebird_cli/test/src/commands/release_command_test.dart index a42e57f1..a6f0df76 100644 --- a/packages/shorebird_cli/test/src/commands/release_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/release_command_test.dart @@ -30,7 +30,7 @@ class _MockPlatform extends Mock implements Platform {} class _MockProgress extends Mock implements Progress {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockCodePushClient extends Mock implements CodePushClient {} @@ -85,10 +85,10 @@ flutter: late Cache cache; late Progress progress; late Logger logger; - late ProcessResult flutterBuildProcessResult; - late ProcessResult flutterRevisionProcessResult; - late ProcessResult releaseVersionNameProcessResult; - late ProcessResult releaseVersionCodeProcessResult; + late ShorebirdProcessResult flutterBuildProcessResult; + late ShorebirdProcessResult flutterRevisionProcessResult; + late ShorebirdProcessResult releaseVersionNameProcessResult; + late ShorebirdProcessResult releaseVersionCodeProcessResult; late CodePushClient codePushClient; late ReleaseCommand command; late Uri? capturedHostedUri; diff --git a/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart b/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart index 4320e25e..699da4f6 100644 --- a/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart +++ b/packages/shorebird_cli/test/src/commands/upgrade_command_test.dart @@ -1,5 +1,3 @@ -import 'dart:io'; - import 'package:mason_logger/mason_logger.dart'; import 'package:mocktail/mocktail.dart'; import 'package:shorebird_cli/src/commands/commands.dart'; @@ -8,7 +6,7 @@ import 'package:test/test.dart'; class _MockLogger extends Mock implements Logger {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockProgress extends Mock implements Progress {} @@ -20,10 +18,10 @@ void main() { group('upgrade', () { late Logger logger; - late ProcessResult fetchCurrentVersionResult; - late ProcessResult fetchTagsResult; - late ProcessResult fetchLatestVersionResult; - late ProcessResult hardResetResult; + late ShorebirdProcessResult fetchCurrentVersionResult; + late ShorebirdProcessResult fetchTagsResult; + late ShorebirdProcessResult fetchLatestVersionResult; + late ShorebirdProcessResult hardResetResult; late UpgradeCommand command; late ShorebirdProcess shorebirdProcess; diff --git a/packages/shorebird_cli/test/src/shorebird_process_test.dart b/packages/shorebird_cli/test/src/shorebird_process_test.dart index 5f7e691b..5903530a 100644 --- a/packages/shorebird_cli/test/src/shorebird_process_test.dart +++ b/packages/shorebird_cli/test/src/shorebird_process_test.dart @@ -7,7 +7,7 @@ import 'package:test/test.dart'; class _MockProcess extends Mock implements Process {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockProcessWrapper extends Mock implements ProcessWrapper {} @@ -19,7 +19,7 @@ void main() { late ProcessWrapper processWrapper; late Process startProcess; - late ProcessResult runProcessResult; + late ShorebirdProcessResult runProcessResult; late ShorebirdProcess shorebirdProcess; setUp(() { @@ -51,6 +51,13 @@ void main() { ).thenAnswer((_) async => startProcess); }); + test('ShorebirdProcessResult can be instantiated as a const', () { + expect( + () => const ShorebirdProcessResult(exitCode: 0, stdout: '', stderr: ''), + returnsNormally, + ); + }); + group('run', () { test('forwards non-flutter executables to Process.run', () async { await shorebirdProcess.run( diff --git a/packages/shorebird_cli/test/src/validators/shorebird_flutter_validator_test.dart b/packages/shorebird_cli/test/src/validators/shorebird_flutter_validator_test.dart index 16aacb0c..35c85164 100644 --- a/packages/shorebird_cli/test/src/validators/shorebird_flutter_validator_test.dart +++ b/packages/shorebird_cli/test/src/validators/shorebird_flutter_validator_test.dart @@ -8,7 +8,7 @@ import 'package:shorebird_cli/src/shorebird_process.dart'; import 'package:shorebird_cli/src/validators/validators.dart'; import 'package:test/test.dart'; -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockPlatform extends Mock implements Platform {} @@ -38,9 +38,9 @@ Tools • Dart 2.19.6 • DevTools 2.20.1 late ShorebirdFlutterValidator validator; late Directory tempDir; - late ProcessResult pathFlutterVersionProcessResult; - late ProcessResult shorebirdFlutterVersionProcessResult; - late ProcessResult gitStatusProcessResult; + late ShorebirdProcessResult pathFlutterVersionProcessResult; + late ShorebirdProcessResult shorebirdFlutterVersionProcessResult; + late ShorebirdProcessResult gitStatusProcessResult; late ShorebirdProcess shorebirdProcess; Directory flutterDirectory(Directory root) => diff --git a/packages/shorebird_cli/test/src/validators/shorebird_version_validator_test.dart b/packages/shorebird_cli/test/src/validators/shorebird_version_validator_test.dart index cf8df271..7a166938 100644 --- a/packages/shorebird_cli/test/src/validators/shorebird_version_validator_test.dart +++ b/packages/shorebird_cli/test/src/validators/shorebird_version_validator_test.dart @@ -9,7 +9,7 @@ import 'package:test/test.dart'; class _MockLogger extends Mock implements Logger {} -class _MockProcessResult extends Mock implements ProcessResult {} +class _MockProcessResult extends Mock implements ShorebirdProcessResult {} class _MockShorebirdProcess extends Mock implements ShorebirdProcess {} @@ -21,8 +21,8 @@ void main() { late ShorebirdVersionValidator validator; late Logger logger; late DoctorCommand command; - late ProcessResult fetchCurrentVersionResult; - late ProcessResult fetchLatestVersionResult; + late ShorebirdProcessResult fetchCurrentVersionResult; + late ShorebirdProcessResult fetchLatestVersionResult; late ShorebirdProcess shorebirdProcess; setUp(() { diff --git a/packages/shorebird_code_push_client/pubspec.yaml b/packages/shorebird_code_push_client/pubspec.yaml index f93c4475..f4dcb843 100644 --- a/packages/shorebird_code_push_client/pubspec.yaml +++ b/packages/shorebird_code_push_client/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/shorebirdtech/shorebird publish_to: none environment: - sdk: ">=2.19.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: http: ^0.13.5 diff --git a/packages/shorebird_code_push_protocol/pubspec.yaml b/packages/shorebird_code_push_protocol/pubspec.yaml index 9a386a14..f3150e89 100644 --- a/packages/shorebird_code_push_protocol/pubspec.yaml +++ b/packages/shorebird_code_push_protocol/pubspec.yaml @@ -6,7 +6,7 @@ repository: https://github.com/shorebirdtech/shorebird publish_to: none environment: - sdk: ">=2.19.0 <3.0.0" + sdk: ">=3.0.0 <4.0.0" dependencies: json_annotation: ^4.8.0