Command class

GitHub Releases publishing command implementation.

Extends Commander to provide GitHub-specific command-line interface for distributing applications through repository releases. Handles argument parsing, validation, and execution of GitHub API operations.

Key capabilities:

  • Command-line argument processing
  • GitHub API integration
  • Release management workflow
  • Asset upload coordination
  • Error handling and validation
  • Integration with publishing pipeline

Command structure:

distribute_cli publish github [options]

Example usage:

# Basic release upload
distribute_cli publish github \
  --file-path app.apk \
  --repo-owner myorg \
  --repo-name myapp \
  --token ghp_xxxxxxxxxxxxxxxxxxxx \
  --release-name v1.0.0

# Release with detailed information
distribute_cli publish github \
  --file-path build/outputs/ \
  --repo-owner flutter-team \
  --repo-name awesome-app \
  --token ghp_xxxxxxxxxxxxxxxxxxxx \
  --release-name v2.1.0-beta \
  --release-body "Beta release with new features and bug fixes"
Inheritance

Constructors

Command()
Creates a new GitHub Releases command instance.

Properties

aliases → List<String>
Alternate names for this command.
no setterinherited
argParser ↔ ArgParser
Command-line argument parser configuration.
getter/setter pairoverride-getter
argResults → ArgResults?
The parsed argument results for this command.
no setterinherited
category → String
The command's category.
no setterinherited
configPath → String
The configuration file this command should read.
no setterinherited
description → String
Human-readable description of the GitHub command.
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
logger → ColorizeLogger
The logger used by this command.
no setterinherited
name → String
Command identifier for CLI invocation.
no setteroverride
parent → Command<int>?
The command's parent command, if this is a subcommand.
no setterinherited
runner → CommandRunner<int>?
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<int>>
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<int> 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() → Future<int>
Executes the GitHub Releases publishing workflow.
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