refactor: upgrade to Dart 3 (#492)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user