ShorebirdReleaseCommand class
Main coordinator command for all Shorebird release operations.
This command serves as the parent command for all platform-specific release commands. It provides a unified entry point for creating Shorebird releases across different platforms and artifact types.
Subcommands
Android Release Commands
- apk: Release Android APK files
- appbundle: Release Android App Bundle (AAB) files
iOS Release Commands
- ios: Release iOS application bundles
- ipa: Release iOS IPA files
Usage
# Release Android APK
morpheme shorebird release apk --flavor prod
# Release Android App Bundle
morpheme shorebird release appbundle --flavor prod --obfuscate
# Release iOS application
morpheme shorebird release ios --flavor prod --codesign
# Release iOS IPA for App Store
morpheme shorebird release ipa --flavor prod --export-method app-store
Common Options
All release subcommands support these common options:
- --flavor: Build flavor (dev, staging, prod)
- --target: Main entry point file
- --morpheme-yaml: Path to morpheme.yaml configuration
- --build-number: Build number for versioning
- --build-name: Build name for versioning
- --split-debug-info: Path for split debug information
- --generate-l10n: Generate localization files
Platform-specific options are available for each subcommand.
Workflow
Each release command follows this workflow:
- Validate command arguments and configuration
- Setup environment (localization, Firebase, Shorebird)
- Build and execute the Shorebird release command
- Report success or handle errors
Examples
Create a development APK release:
morpheme shorebird release apk --flavor dev
Create a production App Bundle with obfuscation:
morpheme shorebird release appbundle --flavor prod --build-number 123 --build-name 1.2.3 --obfuscate
Create an iOS release for App Store distribution:
morpheme shorebird release ipa --flavor prod --export-method app-store --build-number 123
Constructors
- ShorebirdReleaseCommand()
- Creates a new release command with all platform-specific subcommands.
Properties
- 
  aliases
  → List<String> 
- 
  Alternate names for this command.
  no setterinherited
- argParser → ArgParser
- 
  The argument parser for this command.
  no setterinherited
- argResults → ArgResults?
- 
  The parsed argument results for this command.
  no setterinherited
- category → String
- 
  The command's category.
  no setterinherited
- description → String
- 
  A description of this command, included in usage.
  no setteroverride
- globalResults → ArgResults?
- 
  The parsed global argument results.
  no setterinherited
- hashCode → int
- 
  The hash code for this object.
  no setterinherited
- 
  Whether or not this command should be hidden from help listings.
  no setterinherited
- invocation → String
- 
  A single-line template for how to invoke this command (e.g. "pub getpackage").no setterinherited
- name → String
- 
  The name of this command.
  no setteroverride
- parent → Command?
- 
  The command's parent command, if this is a subcommand.
  no setterinherited
- runner → CommandRunner?
- 
  The command runner for this command.
  no setterinherited
- runtimeType → Type
- 
  A representation of the runtime type of the object.
  no setterinherited
- 
  subcommands
  → Map<String, Command> 
- 
  An unmodifiable view of all sublevel commands of this command.
  no setterinherited
- 
  suggestionAliases
  → List<String> 
- 
  Alternate non-functional names for this command.
  no setterinherited
- summary → String
- 
  A short description of this command, included in parent's
CommandRunner.usage.
  no setterinherited
- takesArguments → bool
- 
  Whether or not this command takes positional arguments in addition to
options.
  no setterinherited
- usage → String
- 
  Generates a string displaying usage information for this command.
  no setterinherited
- 
  An optional footer for usage.
  no setterinherited
Methods
- 
  addSubcommand(Command command) → void 
- 
  Adds Command as a subcommand of this.
  inherited
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  printUsage() → void 
- 
  Prints the usage information for this command.
  inherited
- 
  run() → FutureOr? 
- 
  Runs this command.
  inherited
- 
  toString() → String 
- 
  A string representation of this object.
  inherited
- 
  usageException(String message) → Never 
- 
  Throws a UsageException with message.inherited
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited