Files
Jyrki Gadinger 5ca272cb49 fix(mac-crafter): use AsyncParsableCommand everywhere
For some reason using `ParsableCommand` structs as subcommands of an
`AsyncParsableCommand` does not correctly handle all passed CLI
arguments.

The behaviour before this commit was as follows:

```
% mac-crafter create-dmg
Error: Missing expected argument '<app-bundle-path>'
Help:  <app-bundle-path>  Path to the desktop client app bundle.
Usage: mac-crafter create-dmg <app-bundle-path> [--product-path <product-path>] [--build-path <build-path>] [--app-name <app-name>] [--apple-id <apple-id>] [--apple-password <apple-password>] [--apple-team-id <apple-team-id>] [--package-signing-id <package-signing-id>] [--sparkle-package-sign-key <sparkle-package-sign-key>]
  See 'mac-crafter create-dmg --help' for more information.

% mac-crafter create-dmg /tmp/Nextcloud.app
OVERVIEW: Create a DMG for the client.

USAGE: mac-crafter create-dmg <app-bundle-path> [--product-path <product-path>] [--build-path <build-path>] [--app-name <app-name>] [--apple-id <apple-id>] [--apple-password <apple-password>] [--apple-team-id <apple-team-id>] [--package-signing-id <package-signing-id>] [--sparkle-package-sign-key <sparkle-package-sign-key>]

ARGUMENTS:
  <app-bundle-path>       Path to the desktop client app bundle.
[...]
```

After changing every command struct to derive from
`AsyncParsableCommand`:

```
% mac-crafter create-dmg
Error: Missing expected argument '<app-bundle-path>'
Help:  <app-bundle-path>  Path to the desktop client app bundle.
Usage: mac-crafter create-dmg <app-bundle-path> [--product-path <product-path>] [--build-path <build-path>] [--app-name <app-name>] [--apple-id <apple-id>] [--apple-password <apple-password>] [--apple-team-id <apple-team-id>] [--package-signing-id <package-signing-id>] [--sparkle-package-sign-key <sparkle-package-sign-key>]
  See 'mac-crafter create-dmg --help' for more information.

% mac-crafter create-dmg /tmp/Nextcloud.app
Required command "create-dmg" is missing, installing...
[...]
```

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-07-22 09:49:22 +02:00
..