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.new()
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
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 instance for logging messages with color support.
no setterinherited
name String
Command identifier for CLI invocation.
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() Future?
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