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

Inheritance

Constructors

RunCommand()

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
hidden → bool
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 get package").
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
usageFooter → String?
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