refactor: upgrade to Dart 3 (#492)

This commit is contained in:
Felix Angelov
2023-05-15 10:08:13 -07:00
committed by GitHub
parent c31c0300ca
commit b912598d5b
21 changed files with 72 additions and 51 deletions
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
@@ -30,7 +30,7 @@ class ShorebirdProcess {
final ProcessWrapper processWrapper;
final EngineConfig engineConfig;
Future<ProcessResult> run(
Future<ShorebirdProcessResult> run(
String executable,
List<String> 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<ProcessResult> run(
Future<ShorebirdProcessResult> run(
String executable,
List<String> arguments, {
bool runInShell = false,
Map<String, String>? 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<Process> start(
+1 -1
View File
@@ -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
@@ -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(() {
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -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(
@@ -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) =>
@@ -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(() {
@@ -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
@@ -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