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 filesappbundle: Release Android App Bundle (AAB) files
iOS Release Commands
ios: Release iOS application bundlesipa: 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