feat(shorebird_cli): add inferredReleaseVersion to CreatePatchMetadata (#2968)
This commit is contained in:
@@ -299,6 +299,7 @@ NOTE: this is ${styleBold.wrap('not')} recommended. Asset changes cannot be incl
|
||||
|
||||
final app = await codePushClientWrapper.getApp(appId: appId);
|
||||
|
||||
var inferredReleaseVersion = false;
|
||||
File? patchArtifactFile;
|
||||
final Release release;
|
||||
final releasePlatform = patcher.releaseType.releasePlatform;
|
||||
@@ -338,6 +339,7 @@ Building with Flutter $flutterVersionString to determine the release version...
|
||||
+-------------------------------------------------------------------------------+
|
||||
''');
|
||||
lastBuiltFlutterRevision = shorebirdEnv.flutterRevision;
|
||||
inferredReleaseVersion = true;
|
||||
patchArtifactFile = await patcher.buildPatchArtifact();
|
||||
final releaseVersion = await patcher.extractReleaseVersionFromArtifact(
|
||||
patchArtifactFile,
|
||||
@@ -439,6 +441,7 @@ Building patch with Flutter $flutterVersionString
|
||||
hasAssetChanges: diffStatus.hasAssetChanges,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: diffStatus.hasNativeChanges,
|
||||
inferredReleaseVersion: inferredReleaseVersion,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: shorebirdEnv.flutterRevision,
|
||||
operatingSystem: platform.operatingSystem,
|
||||
|
||||
@@ -24,6 +24,7 @@ class CreatePatchMetadata extends Equatable {
|
||||
required this.hasAssetChanges,
|
||||
required this.usedIgnoreNativeChangesFlag,
|
||||
required this.hasNativeChanges,
|
||||
required this.inferredReleaseVersion,
|
||||
required this.environment,
|
||||
this.linkPercentage,
|
||||
});
|
||||
@@ -37,6 +38,7 @@ class CreatePatchMetadata extends Equatable {
|
||||
bool hasAssetChanges = false,
|
||||
bool usedIgnoreNativeChangesFlag = false,
|
||||
bool hasNativeChanges = false,
|
||||
bool inferredReleaseVersion = false,
|
||||
double? linkPercentage,
|
||||
BuildEnvironmentMetadata? environment,
|
||||
}) => CreatePatchMetadata(
|
||||
@@ -45,6 +47,7 @@ class CreatePatchMetadata extends Equatable {
|
||||
hasAssetChanges: hasAssetChanges,
|
||||
usedIgnoreNativeChangesFlag: usedIgnoreNativeChangesFlag,
|
||||
hasNativeChanges: hasNativeChanges,
|
||||
inferredReleaseVersion: inferredReleaseVersion,
|
||||
linkPercentage: linkPercentage,
|
||||
environment: environment ?? BuildEnvironmentMetadata.forTest(),
|
||||
);
|
||||
@@ -65,6 +68,7 @@ class CreatePatchMetadata extends Equatable {
|
||||
bool? hasAssetChanges,
|
||||
bool? usedIgnoreNativeChangesFlag,
|
||||
bool? hasNativeChanges,
|
||||
bool? inferredReleaseVersion,
|
||||
double? linkPercentage,
|
||||
BuildEnvironmentMetadata? environment,
|
||||
}) => CreatePatchMetadata(
|
||||
@@ -75,6 +79,8 @@ class CreatePatchMetadata extends Equatable {
|
||||
usedIgnoreNativeChangesFlag:
|
||||
usedIgnoreNativeChangesFlag ?? this.usedIgnoreNativeChangesFlag,
|
||||
hasNativeChanges: hasNativeChanges ?? this.hasNativeChanges,
|
||||
inferredReleaseVersion:
|
||||
inferredReleaseVersion ?? this.inferredReleaseVersion,
|
||||
linkPercentage: linkPercentage ?? this.linkPercentage,
|
||||
environment: environment ?? this.environment,
|
||||
);
|
||||
@@ -108,6 +114,10 @@ class CreatePatchMetadata extends Equatable {
|
||||
/// behavior in a patch.
|
||||
final bool hasNativeChanges;
|
||||
|
||||
/// Whether the release version had to be inferred by Shorebird because
|
||||
/// it was not explicitly specified via the --release-version flag.
|
||||
final bool inferredReleaseVersion;
|
||||
|
||||
/// The percentage of code that was linked in the patch.
|
||||
/// Generally, the higher the percentage, the better the patch performance
|
||||
/// since more code will be run on the CPU as opposed to the simulator.
|
||||
@@ -127,6 +137,7 @@ class CreatePatchMetadata extends Equatable {
|
||||
usedIgnoreNativeChangesFlag,
|
||||
hasNativeChanges,
|
||||
linkPercentage,
|
||||
inferredReleaseVersion,
|
||||
environment,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -29,6 +29,10 @@ CreatePatchMetadata _$CreatePatchMetadataFromJson(
|
||||
(v) => v as bool,
|
||||
),
|
||||
hasNativeChanges: $checkedConvert('has_native_changes', (v) => v as bool),
|
||||
inferredReleaseVersion: $checkedConvert(
|
||||
'inferred_release_version',
|
||||
(v) => v as bool,
|
||||
),
|
||||
environment: $checkedConvert(
|
||||
'environment',
|
||||
(v) => BuildEnvironmentMetadata.fromJson(v as Map<String, dynamic>),
|
||||
@@ -46,6 +50,7 @@ CreatePatchMetadata _$CreatePatchMetadataFromJson(
|
||||
'hasAssetChanges': 'has_asset_changes',
|
||||
'usedIgnoreNativeChangesFlag': 'used_ignore_native_changes_flag',
|
||||
'hasNativeChanges': 'has_native_changes',
|
||||
'inferredReleaseVersion': 'inferred_release_version',
|
||||
'linkPercentage': 'link_percentage',
|
||||
},
|
||||
);
|
||||
@@ -58,6 +63,7 @@ Map<String, dynamic> _$CreatePatchMetadataToJson(
|
||||
'has_asset_changes': instance.hasAssetChanges,
|
||||
'used_ignore_native_changes_flag': instance.usedIgnoreNativeChangesFlag,
|
||||
'has_native_changes': instance.hasNativeChanges,
|
||||
'inferred_release_version': instance.inferredReleaseVersion,
|
||||
'link_percentage': instance.linkPercentage,
|
||||
'environment': instance.environment.toJson(),
|
||||
};
|
||||
|
||||
@@ -630,6 +630,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
|
||||
@@ -731,6 +731,7 @@ Looked in:
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
|
||||
@@ -1068,6 +1068,7 @@ void main() {
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: true,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1088,6 +1089,7 @@ void main() {
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: true,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1116,6 +1118,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1136,6 +1139,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: linkPercentage,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
|
||||
@@ -1524,6 +1524,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: true,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1544,6 +1545,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: true,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1572,6 +1574,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1592,6 +1595,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: linkPercentage,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
|
||||
@@ -1123,6 +1123,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
@@ -1141,6 +1142,7 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}'''),
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: allowNativeDiffs,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: flutterRevision,
|
||||
operatingSystem: operatingSystem,
|
||||
|
||||
@@ -813,7 +813,15 @@ void main() {
|
||||
releaseArtifact: any(named: 'releaseArtifact'),
|
||||
),
|
||||
() => logger.confirm('Would you like to continue?'),
|
||||
() => patcher.updatedCreatePatchMetadata(any()),
|
||||
() => patcher.updatedCreatePatchMetadata(
|
||||
any(
|
||||
that: isA<CreatePatchMetadata>().having(
|
||||
(m) => m.inferredReleaseVersion,
|
||||
'inferredReleaseVersion',
|
||||
isFalse,
|
||||
),
|
||||
),
|
||||
),
|
||||
() => patcher.uploadPatchArtifacts(
|
||||
appId: appId,
|
||||
releaseId: release.id,
|
||||
@@ -1104,6 +1112,15 @@ void main() {
|
||||
),
|
||||
() =>
|
||||
patcher.buildPatchArtifact(releaseVersion: releaseVersion),
|
||||
() => patcher.updatedCreatePatchMetadata(
|
||||
any(
|
||||
that: isA<CreatePatchMetadata>().having(
|
||||
(m) => m.inferredReleaseVersion,
|
||||
'inferredReleaseVersion',
|
||||
isTrue,
|
||||
),
|
||||
),
|
||||
),
|
||||
]);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -12,6 +12,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.9,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
@@ -36,6 +37,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.9,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
@@ -57,6 +59,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.9,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
@@ -94,6 +97,7 @@ void main() {
|
||||
hasAssetChanges: true,
|
||||
usedIgnoreNativeChangesFlag: true,
|
||||
hasNativeChanges: true,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.8,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: 'asdf',
|
||||
@@ -117,6 +121,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.9,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
@@ -133,6 +138,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
linkPercentage: 99.9,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
@@ -153,6 +159,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
operatingSystem: 'macos',
|
||||
@@ -168,6 +175,7 @@ void main() {
|
||||
hasAssetChanges: false,
|
||||
usedIgnoreNativeChangesFlag: false,
|
||||
hasNativeChanges: false,
|
||||
inferredReleaseVersion: false,
|
||||
environment: BuildEnvironmentMetadata(
|
||||
flutterRevision: '853d13d954df3b6e9c2f07b72062f33c52a9a64b',
|
||||
operatingSystem: 'macos',
|
||||
|
||||
Reference in New Issue
Block a user