This commit adds the option --all to 'software delete' command.
Usage:
software delete --all component-MM.mm
When using this option, all releases (patch or major) from
component-MM.mm will be deleted if all of them are in available
or unavailable state.
TestCase:
PASS: 'software delete --all'
> usage: software delete [--all] release [release ...]
PASS: 'software delete --all starlingx-24.09.1'
> The release ID must have the pattern: component-MM.mm
PASS: 'software delete --all starlingx-24.09 wrcp-24.09'
> --all require only one release ID
PASS: 'software delete --all starlingx-25.03'
with no starlingx-25.03 release.
> There are no starlingx-25.03 releases to delete.
PASS: 'software delete --all wrcp-24.09'
with at least one release not available or unavailable,
return a list of releases that are not ready to be deleted.
> Releases wrcp-24.09.0,wrcp-24.09.1 not ready to delete
PASS: 'software delete --all starlingx-24.09'
with all releases available or unavailable
> starlingx-24.09.0 has been deleted
> starlingx-24.09.1 has been deleted
> starlingx-24.09.2 has been deleted
Story: 2010676
Task: 50732
Change-Id: I37e9df297cdaa22653e8ad431a88a3c2dc18a643
Signed-off-by: Lindley Vieira <lindley.vieira@windriver.com>