RunCommand class
Command to run Flutter applications with flavor support.
This command provides a streamlined way to run Flutter applications with environment-specific configurations defined in morpheme.yaml. It supports various build modes, device targeting, and integration with localization and Firebase services.
Usage Examples
# Run with default development flavor
morpheme run
# Run with staging flavor
morpheme run --flavor stag
# Run with specific target and release mode
morpheme run --target lib/main_prod.dart --release
# Generate localization before running
morpheme run --l10n
Parameters
--flavor: Environment flavor (dev, stag, prod) - defaults to dev--target: Main Dart file to run - defaults to lib/main.dart--debug: Run in debug mode (default)--profile: Run in profile mode--release: Run in release mode--device-id: Target specific device--l10n: Generate localization files before running--command-only: Print command without executing
Configuration
The command reads flavor configurations from morpheme.yaml:
flavor:
dev:
FLAVOR: dev
APP_NAME: MyApp Dev
BASE_URL: https://dev.api.example.com
prod:
FLAVOR: prod
APP_NAME: MyApp
BASE_URL: https://api.example.com
Dependencies
- Requires valid morpheme.yaml configuration
- Requires Flutter SDK to be installed and accessible
- Firebase integration requires firebase.json in project root
Exceptions
- Throws FileSystemException if morpheme.yaml is missing or invalid
- Throws ProcessException if Flutter command fails to execute
Constructors
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 setteroverride
- 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(
) → void -
Runs this command.
override
-
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