Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Tools/build/stable_abi.py: Improve ergonomics
- Make the manifest file argument optional
- Output resolved paths with --list (getting rid of `../../`)
- Mention --all or --generate-all if no actions are specified
  • Loading branch information
encukou committed Jun 6, 2023
commit 5806303a18e7578c203bdc30c2121d8f88e84534
15 changes: 10 additions & 5 deletions Tools/build/stable_abi.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import csv

SCRIPT_NAME = 'Tools/build/stable_abi.py'
DEFAULT_MANIFEST_PATH = (
Path(__file__).parent / '../../Misc/stable_abi.toml').resolve()
Comment thread
AlexWaygood marked this conversation as resolved.
MISSING = object()

EXCLUDED_HEADERS = {
Expand Down Expand Up @@ -631,8 +633,9 @@ def main():
formatter_class=argparse.RawDescriptionHelpFormatter,
)
parser.add_argument(
"file", type=Path, metavar='FILE',
help="file with the stable abi manifest",
"file", type=Path, metavar='FILE', nargs='?',
default=DEFAULT_MANIFEST_PATH,
help=f"file with the stable abi manifest (default: {DEFAULT_MANIFEST_PATH})",
)
parser.add_argument(
"--generate", action='store_true',
Expand Down Expand Up @@ -674,7 +677,7 @@ def main():

if args.list:
for gen in generators:
print(f'{gen.arg_name}: {base_path / gen.default_path}')
print(f'{gen.arg_name}: {(base_path / gen.default_path).resolve()}')
sys.exit(0)

run_all_generators = args.generate_all
Expand Down Expand Up @@ -725,8 +728,10 @@ def main():

if not results:
if args.generate:
parser.error('No file specified. Use --help for usage.')
parser.error('No check specified. Use --help for usage.')
parser.error('No file specified. Use --generate-all to regenerate '
+ 'all files, or --help for usage.')
parser.error('No check specified. Use --all to check all files, '
+ 'or --help for usage.')

failed_results = [name for name, result in results.items() if not result]

Expand Down