patch static method

Future<void> patch({
  1. required String buildName,
  2. required int buildNumber,
  3. required String platform,
  4. required String buildOptions,
  5. required String flutterVersion,
  6. required bool allowAssetDiffs,
})

Implementation

static Future<void> patch({
  required final String buildName,
  required final int buildNumber,
  required final String platform,
  required final String buildOptions,
  required final String flutterVersion,
  required final bool allowAssetDiffs,
}) async {
  stdout.writeln('Starting shorebird patch for $buildName+$buildNumber...');
  final shorebirdPatchProcess = await Process.run(
    'shorebird',
    [
      'patch',
      '--platforms=$platform',
      '--build-name=$buildName',
      '--build-number=$buildNumber',
      '--release-version=$buildName+$buildNumber',
      if (allowAssetDiffs) '--allow-asset-diffs',
      '--',
      if (platform.contains('ios'))
        '--export-options-plist=ios/exportOptions.plist',
      ...buildOptions.split(' '),
    ],
  );

  final shorebirdPatchProcessExitCode = shorebirdPatchProcess.exitCode;
  stdout.writeln(shorebirdPatchProcess.stdout);
  if (shorebirdPatchProcessExitCode != 0) {
    stderr.writeln("Couldn't patch shorebird build.");
    exit(1);
  }
}