chore: move command metadata classes (#2442)

This commit is contained in:
Bryan Oltman
2024-08-23 17:59:12 -04:00
committed by GitHub
parent a2a701480e
commit d2daea21f6
44 changed files with 187 additions and 195 deletions
+1
View File
@@ -16,6 +16,7 @@ coverage:
# and enforce that all changes have 100% coverage of affected lines.
ignore:
- third_party
- lib/**.g.dart
flag_management:
default_rules: # the rules that will be followed for any flag added, generally
+101 -100
View File
@@ -3,112 +3,113 @@ version: "0.2"
ignorePaths:
["coverage", "bin/cache", "third_party", "build", "*.xcscheme", "fixtures"]
words:
- pubspec
- podfile
- ANDROIDD
- Apks
- metadatas
- logcat
- mktemp
- gradlew
- bundletool
- genhtml
- sideload
- endtemplate
- mocktail
- libapp
- aarch
- codesign
- xcarchive
- xcrun
- vmcode
- xcodebuild
- sideloadable
- bryanoltman
- signup
- lerping
- precache
- devicectl
- exitcode
- writeln
- xcodeproj
- xcschemes
- xcshareddata
- armeabi
- cipd
- canvaskit
- libimobiledevice
- hotreload
- libflutter
- apigee
- pointycastle
- pkcs
- appbundle
- felangel
- bitcode
- xcscheme
- archs
- shorebirdtech
- aapt
- USERPROFILE
- LOCALAPPDATA
- Unpatchable
- multioption
- xcframework
- deflavored
- dylib
- libplist
- usbmuxd
- pwsh
- readlink
- unawaited
- NOAUTH
- WRONGPASS
- FLUSHALL
- pana
- idevicesyslog
- Azul
- Entra
- xlink
- propertylistserialization
- FLUSHALL
- LOCALAPPDATA
- NOAUTH
- Oltman
- PRNG
- RSAPKCS
- Retryable
- storyboardc
- iphoneos
- lproj
- iokit
- SIGSTOP
- USERPROFILE
- Unpatchable
- VCRUNTIME
- Verdana
- WRONGPASS
- aabs
- aapt
- aarch
- aars # Android Archive
- allprojects # From gradle files
- altool
- apigee
- appbundle
- archs
- armeabi
- backboardd
- dyld
- bintools
- bitcode
- bryanoltman
- bundletool
- canvaskit
- carryforward
- cipd
- codesign
- codesigned
- codesigning
- previewable
- udid # Unique Device Identifier
- podspec
- exportoptions
- ANDROIDD
- propertylistserialization
- VCRUNTIME
- Oltman
- xcworkspace
- SIGSTOP
- lldb
- nserror
- sysroot
- RSAPKCS
- PRNG
- sideloaded
- Azul
- altool
- aabs
- upvote
- Verdana
- reinit
- allprojects # From gradle files
- aars # Android Archive
- orri # Arm64 instruction, Or Register with Immediate
- unmockable
- deflavored
- devicectl
- dorny # From .github dir, doesn't show up in "**" check?
- requirepass # From .github dir, doesn't show up in "**" check?
- temurin # From .github dir, doesn't show up in "**" check?
- subosito # From .github dir, doesn't show up in "**" check?
- reactivecircus # From .github dir, doesn't show up in "**" check?
- swiftshader # From .github dir, doesn't show up in "**" check?
- dyld
- dylib
- endtemplate
- exitcode
- exportoptions
- felangel
- genhtml
- gradlew
- hotreload
- idevicesyslog
- iokit
- iphoneos
- lerping
- libapp
- libflutter
- libimobiledevice
- libplist
- lldb
- logcat
- lproj
- metadatas
- mktemp
- mocktail
- multioption
- noaudio # From .github dir, doesn't show up in "**" check?
- nserror
- orri # Arm64 instruction, Or Register with Immediate
- pana
- pkcs
- podfile
- podspec
- pointycastle
- precache
- previewable
- propertylistserialization
- propertylistserialization
- pubspec
- pwsh
- reactivecircus # From .github dir, doesn't show up in "**" check?
- readlink
- reinit
- requirepass # From .github dir, doesn't show up in "**" check?
- shorebirdtech
- sideload
- sideloadable
- sideloaded
- signup
- storyboardc
- subosito # From .github dir, doesn't show up in "**" check?
- swiftshader # From .github dir, doesn't show up in "**" check?
- sysroot
- temurin # From .github dir, doesn't show up in "**" check?
- udid # Unique Device Identifier
- unawaited
- unmockable
- upvote
- usbmuxd
- vmcode
- writeln
- xcarchive
- xcframework
- xcodebuild
- xcodeproj
- xcrun
- xcscheme
- xcschemes
- xcshareddata
- xcworkspace
- xlink
@@ -289,7 +289,7 @@ Please create a release using "shorebird release" and try again.
required int releaseId,
required ReleasePlatform platform,
required ReleaseStatus status,
UpdateReleaseMetadata? metadata,
Json? metadata,
}) async {
final updateStatusProgress = logger.progress('Updating release status');
try {
@@ -298,7 +298,7 @@ Please create a release using "shorebird release" and try again.
releaseId: releaseId,
platform: platform,
status: status,
metadata: metadata?.toJson(),
metadata: metadata,
);
updateStatusProgress.complete();
} catch (error) {
@@ -693,14 +693,14 @@ aar artifact already exists, continuing...''',
Future<Patch> createPatch({
required String appId,
required int releaseId,
required CreatePatchMetadata metadata,
required Json metadata,
}) async {
final createPatchProgress = logger.progress('Creating patch');
try {
final patch = await codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: metadata.toJson(),
metadata: metadata,
);
createPatchProgress.complete();
return patch;
@@ -758,7 +758,7 @@ aar artifact already exists, continuing...''',
Future<void> publishPatch({
required String appId,
required int releaseId,
required CreatePatchMetadata metadata,
required Json metadata,
required ReleasePlatform platform,
required DeploymentTrack track,
required Map<Arch, PatchArtifactBundle> patchArtifactBundles,
@@ -16,6 +16,7 @@ import 'package:shorebird_cli/src/executables/aot_tools.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -20,6 +20,7 @@ import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/executables/executables.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -16,6 +16,7 @@ import 'package:shorebird_cli/src/deployment_track.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/formatters/formatters.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
@@ -315,11 +316,14 @@ NOTE: this is ${styleBold.wrap('not')} recommended. Asset changes cannot be incl
shorebirdVersion: packageVersion,
),
);
final updateMetadata = await patcher.updatedCreatePatchMetadata(
baseMetadata,
);
await codePushClientWrapper.publishPatch(
appId: appId,
releaseId: release.id,
metadata: await patcher.updatedCreatePatchMetadata(baseMetadata),
metadata: updateMetadata.toJson(),
platform: patcher.releaseType.releasePlatform,
track:
isStaging ? DeploymentTrack.staging : DeploymentTrack.production,
@@ -8,6 +8,7 @@ import 'package:path/path.dart' as p;
import 'package:shorebird_cli/src/code_push_client_wrapper.dart';
import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/extensions/iterable.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -8,6 +8,7 @@ import 'package:shorebird_cli/src/commands/release/releaser.dart';
import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_android_artifacts.dart';
@@ -12,6 +12,7 @@ import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_env.dart';
import 'package:shorebird_cli/src/shorebird_flutter.dart';
@@ -14,6 +14,7 @@ import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/platform/ios.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_documentation.dart';
@@ -11,6 +11,7 @@ import 'package:shorebird_cli/src/config/config.dart';
import 'package:shorebird_cli/src/extensions/arg_results.dart';
import 'package:shorebird_cli/src/extensions/version.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/platform.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -488,13 +489,13 @@ ${summary.join('\n')}
shorebirdVersion: packageVersion,
),
);
final updatedMetadata = await releaser.updatedReleaseMetadata(baseMetadata);
await codePushClientWrapper.updateReleaseStatus(
appId: appId,
releaseId: release.id,
platform: releaser.releaseType.releasePlatform,
status: ReleaseStatus.active,
metadata: await releaser.updatedReleaseMetadata(baseMetadata),
metadata: updatedMetadata.toJson(),
);
}
@@ -1,6 +1,7 @@
import 'dart:io';
import 'package:args/args.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_env.dart';
import 'package:shorebird_code_push_client/shorebird_code_push_client.dart';
@@ -8,7 +8,6 @@ part 'shorebird_yaml.g.dart';
@JsonSerializable(
anyMap: true,
disallowUnrecognizedKeys: true,
createToJson: false,
)
class ShorebirdYaml {
/// {@macro shorebird_yaml}
@@ -34,3 +34,11 @@ ShorebirdYaml _$ShorebirdYamlFromJson(Map json) => $checkedCreate(
'autoUpdate': 'auto_update'
},
);
Map<String, dynamic> _$ShorebirdYamlToJson(ShorebirdYaml instance) =>
<String, dynamic>{
'app_id': instance.appId,
'flavors': instance.flavors,
'base_url': instance.baseUrl,
'auto_update': instance.autoUpdate,
};
@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars, strict_raw_type, unnecessary_lambdas
part of 'build_environment_metadata.dart';
@@ -1,6 +1,7 @@
import 'package:equatable/equatable.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:shorebird_code_push_protocol/src/models/models.dart';
import 'package:shorebird_cli/src/metadata/build_environment_metadata.dart';
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
part 'create_patch_metadata.g.dart';
@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars, strict_raw_type, unnecessary_lambdas
part of 'create_patch_metadata.dart';
@@ -24,12 +24,12 @@ CreatePatchMetadata _$CreatePatchMetadataFromJson(Map<String, dynamic> json) =>
'used_ignore_native_changes_flag', (v) => v as bool),
hasNativeChanges:
$checkedConvert('has_native_changes', (v) => v as bool),
linkPercentage: $checkedConvert(
'link_percentage', (v) => (v as num?)?.toDouble()),
environment: $checkedConvert(
'environment',
(v) =>
BuildEnvironmentMetadata.fromJson(v as Map<String, dynamic>)),
linkPercentage: $checkedConvert(
'link_percentage', (v) => (v as num?)?.toDouble()),
);
return val;
},
@@ -0,0 +1,3 @@
export 'build_environment_metadata.dart';
export 'create_patch_metadata.dart';
export 'update_release_metadata.dart';
@@ -1,6 +1,7 @@
import 'package:equatable/equatable.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:shorebird_code_push_protocol/src/models/models.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
part 'update_release_metadata.g.dart';
@@ -1,6 +1,6 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars
// ignore_for_file: implicit_dynamic_parameter, require_trailing_commas, cast_nullable_to_non_nullable, lines_longer_than_80_chars, strict_raw_type, unnecessary_lambdas
part of 'update_release_metadata.dart';
@@ -19,11 +19,11 @@ UpdateReleaseMetadata _$UpdateReleaseMetadataFromJson(
(v) => $enumDecode(_$ReleasePlatformEnumMap, v)),
flutterVersionOverride:
$checkedConvert('flutter_version_override', (v) => v as String?),
generatedApks: $checkedConvert('generated_apks', (v) => v as bool?),
environment: $checkedConvert(
'environment',
(v) =>
BuildEnvironmentMetadata.fromJson(v as Map<String, dynamic>)),
generatedApks: $checkedConvert('generated_apks', (v) => v as bool?),
);
return val;
},
+1 -1
View File
@@ -242,7 +242,7 @@ packages:
source: hosted
version: "3.0.2"
equatable:
dependency: transitive
dependency: "direct main"
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
+1
View File
@@ -17,6 +17,7 @@ dependencies:
cli_util: ^0.4.1
collection: ^1.18.0
crypto: ^3.0.5
equatable: ^2.0.5
googleapis_auth: ^1.6.0
http: ^1.2.1
intl: ^0.19.0
@@ -35,7 +35,6 @@ void main() {
late ShorebirdFlutter shorebirdFlutter;
setUpAll(() {
registerFallbackValue(CreatePatchMetadata.forTest());
registerFallbackValue(FakeBaseRequest());
});
@@ -1972,7 +1971,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
releaseId: releaseId,
platform: releasePlatform,
status: ReleaseStatus.active,
metadata: UpdateReleaseMetadata.forTest(),
metadata: {'foo': 'bar'},
),
);
@@ -1982,7 +1981,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
releaseId: releaseId,
platform: releasePlatform,
status: ReleaseStatus.active,
metadata: UpdateReleaseMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
).called(1);
verify(() => progress.complete()).called(1);
@@ -2007,7 +2006,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
() => codePushClientWrapper.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest(),
metadata: {'foo': 'bar'},
),
),
exitsWithCode(ExitCode.software),
@@ -2028,7 +2027,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
() => codePushClientWrapper.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest(),
metadata: {'foo': 'bar'},
),
);
@@ -2188,7 +2187,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
platform: releasePlatform,
track: track,
patchArtifactBundles: patchArtifactBundles,
metadata: CreatePatchMetadata.forTest(),
metadata: {'foo': 'bar'},
),
);
@@ -2196,7 +2195,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
() => codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
).called(1);
verify(
@@ -2244,7 +2243,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
platform: releasePlatform,
track: track,
patchArtifactBundles: patchArtifactBundles,
metadata: CreatePatchMetadata.forTest(),
metadata: {'foo': 'bar'},
),
);
@@ -2252,7 +2251,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
() => codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
).called(1);
verify(
@@ -2289,7 +2288,7 @@ You can manage this release in the ${link(uri: uri, message: 'Shorebird Console'
platform: releasePlatform,
track: track,
patchArtifactBundles: patchArtifactBundles,
metadata: CreatePatchMetadata.forTest(),
metadata: {'foo': 'bar'},
),
);
@@ -12,6 +12,7 @@ import 'package:shorebird_cli/src/code_push_client_wrapper.dart';
import 'package:shorebird_cli/src/commands/patch/patch.dart';
import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
@@ -16,6 +16,7 @@ import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/shorebird_android_artifacts.dart';
@@ -17,6 +17,7 @@ import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/executables/aot_tools.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
@@ -21,6 +21,7 @@ import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/executables/aot_tools.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
@@ -16,6 +16,7 @@ import 'package:shorebird_cli/src/config/config.dart';
import 'package:shorebird_cli/src/deployment_track.dart';
import 'package:shorebird_cli/src/executables/executables.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -604,7 +605,7 @@ void main() {
() => codePushClientWrapper.publishPatch(
appId: appId,
releaseId: release.id,
metadata: patchMetadata,
metadata: patchMetadata.toJson(),
platform: releasePlatform,
patchArtifactBundles: any(named: 'patchArtifactBundles'),
track: DeploymentTrack.production,
@@ -8,7 +8,6 @@ import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/patch_diff_checker.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_code_push_protocol/src/models/create_patch_metadata.dart';
import 'package:shorebird_code_push_protocol/src/models/release_artifact.dart';
import 'package:test/test.dart';
@@ -192,13 +191,6 @@ class _TestPatcher extends Patcher {
throw UnimplementedError();
}
@override
Future<CreatePatchMetadata> updatedCreatePatchMetadata(
CreatePatchMetadata metadata,
) {
throw UnimplementedError();
}
@override
Future<String> extractReleaseVersionFromArtifact(File artifact) {
throw UnimplementedError();
@@ -10,6 +10,7 @@ import 'package:shorebird_cli/src/code_push_client_wrapper.dart';
import 'package:shorebird_cli/src/commands/release/aar_releaser.dart';
import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -13,6 +13,7 @@ import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/engine_config.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/platform/platform.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -13,6 +13,7 @@ import 'package:shorebird_cli/src/commands/release/ios_framework_releaser.dart';
import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/executables/executables.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_env.dart';
@@ -17,6 +17,7 @@ import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/doctor.dart';
import 'package:shorebird_cli/src/executables/xcodebuild.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/os/operating_system_interface.dart';
import 'package:shorebird_cli/src/platform/ios.dart';
import 'package:shorebird_cli/src/release_type.dart';
@@ -11,6 +11,7 @@ import 'package:shorebird_cli/src/commands/release/release.dart';
import 'package:shorebird_cli/src/common_arguments.dart';
import 'package:shorebird_cli/src/config/config.dart';
import 'package:shorebird_cli/src/logger.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_cli/src/shorebird_env.dart';
import 'package:shorebird_cli/src/shorebird_flutter.dart';
@@ -1,9 +1,9 @@
import 'dart:io';
import 'package:shorebird_cli/src/commands/release/releaser.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_cli/src/release_type.dart';
import 'package:shorebird_code_push_protocol/src/models/release.dart';
import 'package:shorebird_code_push_protocol/src/models/update_release_metadata.dart';
import 'package:test/test.dart';
import '../../mocks.dart';
@@ -1,5 +1,4 @@
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
import 'package:shorebird_code_push_protocol/src/models/build_environment_metadata.dart';
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:test/test.dart';
void main() {
@@ -1,3 +1,4 @@
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
import 'package:test/test.dart';
@@ -1,3 +1,4 @@
import 'package:shorebird_cli/src/metadata/metadata.dart';
import 'package:shorebird_code_push_protocol/shorebird_code_push_protocol.dart';
import 'package:test/test.dart';
@@ -44,19 +44,10 @@ Future<void> main() async {
final patch = await client.createPatch(
appId: app.id,
releaseId: release.id,
metadata: const CreatePatchMetadata(
releasePlatform: ReleasePlatform.android,
usedIgnoreAssetChangesFlag: false,
hasAssetChanges: false,
usedIgnoreNativeChangesFlag: false,
hasNativeChanges: false,
environment: BuildEnvironmentMetadata(
flutterRevision: '<FLUTTER_REVISION>', // e.g. '83305b5088e6'
operatingSystem: 'Windows',
operatingSystemVersion: '10',
shorebirdVersion: '1.2.3',
),
).toJson(),
metadata: {
'releasePlatform': 'android',
'usedIgnoreAssetChangesFlag': false,
},
);
// Create a patch artifact.
@@ -905,13 +905,11 @@ void main() {
const releaseId = 0;
test('makes the correct request', () async {
codePushClient
.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
)
.ignore();
codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: {'foo': 'bar'},
).ignore();
final request = verify(() => httpClient.send(captureAny()))
.captured
.single as http.BaseRequest;
@@ -932,7 +930,7 @@ void main() {
codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
throwsA(
isA<CodePushException>().having(
@@ -956,7 +954,7 @@ void main() {
codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
throwsA(
isA<CodePushException>().having(
@@ -986,7 +984,7 @@ void main() {
codePushClient.createPatch(
appId: appId,
releaseId: releaseId,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
),
completion(
equals(
@@ -1,9 +1,7 @@
export 'app.dart';
export 'app_metadata.dart';
export 'auth_provider.dart';
export 'build_environment_metadata.dart';
export 'channel.dart';
export 'create_patch_metadata.dart';
export 'error_response.dart';
export 'patch.dart';
export 'patch_artifact.dart';
@@ -13,5 +11,4 @@ export 'release_artifact.dart';
export 'release_patch.dart';
export 'release_platform.dart';
export 'release_status.dart';
export 'update_release_metadata.dart';
export 'user.dart';
@@ -4,22 +4,9 @@ import 'package:test/test.dart';
void main() {
group(CreatePatchRequest, () {
test('can be (de)serialized', () {
final request = CreatePatchRequest(
const request = CreatePatchRequest(
releaseId: 1234,
metadata: const CreatePatchMetadata(
releasePlatform: ReleasePlatform.android,
usedIgnoreAssetChangesFlag: true,
usedIgnoreNativeChangesFlag: false,
hasAssetChanges: true,
hasNativeChanges: false,
linkPercentage: 99.9,
environment: BuildEnvironmentMetadata(
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
operatingSystem: 'linux',
operatingSystemVersion: '1.0.0',
shorebirdVersion: '1.2.3',
),
).toJson(),
metadata: {'foo': 'bar'},
);
expect(
CreatePatchRequest.fromJson(request.toJson()).toJson(),
@@ -28,9 +15,9 @@ void main() {
});
test('can be (de)serialized without metadata', () {
final request = CreatePatchRequest(
const request = CreatePatchRequest(
releaseId: 1234,
metadata: CreatePatchMetadata.forTest().toJson(),
metadata: {'foo': 'bar'},
);
expect(
CreatePatchRequest.fromJson(request.toJson()).toJson(),
@@ -4,20 +4,10 @@ import 'package:test/test.dart';
void main() {
group(UpdateReleaseRequest, () {
test('can be (de)serialized', () {
final request = UpdateReleaseRequest(
const request = UpdateReleaseRequest(
platform: ReleasePlatform.android,
status: ReleaseStatus.active,
metadata: const UpdateReleaseMetadata(
releasePlatform: ReleasePlatform.ios,
flutterVersionOverride: null,
environment: BuildEnvironmentMetadata(
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
operatingSystem: 'macos',
operatingSystemVersion: '11.1',
shorebirdVersion: '1.2.3',
xcodeVersion: '15.3',
),
).toJson(),
metadata: {'foo': 'bar'},
);
expect(
UpdateReleaseRequest.fromJson(request.toJson()).toJson(),