argumentBuilder property

  1. @override
List<String> get argumentBuilder
override

Builds the Xcrun altool command arguments list.

Constructs the complete command-line arguments for the Xcrun altool command. Formats all parameters according to altool expectations and includes conditional arguments based on configuration.

Key behavior:

  • Uses altool --upload-app command
  • Includes file path as primary target
  • Adds authentication parameters (username/password or JWT)
  • Includes validation and upload options
  • Handles platform-specific parameters

Returns list of formatted Xcrun altool command arguments.

Example output:

["altool", "--upload-app", "-f", "/path/to/app.ipa",
 "--apiKey", "ABC123DEF4", "--apiIssuer", "12345678..."]

Implementation

@override
List<String> get argumentBuilder {
  return [
    "altool",
    '--upload-app',
    '-f',
    filePath,
    if (username != null) ...['-u', username!],
    if (password != null) ...['-p', password!],
    if (apiKey != null) ...['--apiKey', apiKey!],
    if (apiIssuer != null) ...['--apiIssuer', apiIssuer!],
    if (appleId != null) ...['--apple-id', appleId!],
    if (bundleVersion != null) ...['--bundle-version', bundleVersion!],
    if (bundleShortVersionString != null) ...[
      '--bundle-short-version-string',
      bundleShortVersionString!,
    ],
    if (ascPublicId != null) ...['--asc-public-id', ascPublicId!],
    if (type != null) ...['-t', type!] else ...['--type', "iphoneos"],
    if (validateApp) '-v',
    if (bundleId != null) ...['--bundle-id', bundleId!],
    if (productId != null) ...['--product-id', productId!],
    if (sku != null) ...['--sku', sku!],
    if (outputFormat != null) ...['--output-format', outputFormat!],
  ];
}
set argumentBuilder (List<String> value)
inherited

Raw list of command-line arguments before variable processing.

Subclasses should populate this list with the appropriate arguments for their specific job type.

Implementation

List<String> argumentBuilder = [];