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"
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
-
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
'sCommandRunner.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(
) → Future? -
Executes the GitHub Releases publishing workflow.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
usageException(
String message) → Never -
Throws a
UsageException
withmessage
.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited