From 0c12b78ae808804a7fc96446af684ebd6a2307c5 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Fri, 8 Apr 2022 00:28:11 +0100 Subject: [PATCH] Use named options for verify_overlaps Previously, verify_overlaps used positional arguments, the first was the monolithi flags and the rest were the module flag pairs (filtered flags file and signature patterns file). This change makes them use named options to make the purpose of the arguments clearer on the command line. Bug: 194063708 Test: atest --host verify_overlaps_test m out/soong/hiddenapi/hiddenapi-flags.csv Change-Id: Ife0af0016eb0f91416e8330d5d98cb53c97d68a4 --- java/hiddenapi_modular.go | 3 ++- scripts/hiddenapi/verify_overlaps.py | 16 ++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/java/hiddenapi_modular.go b/java/hiddenapi_modular.go index 95ded34bb..44cdfa5dd 100644 --- a/java/hiddenapi_modular.go +++ b/java/hiddenapi_modular.go @@ -994,10 +994,11 @@ func buildRuleValidateOverlappingCsvFiles(ctx android.BuilderContext, name strin rule := android.NewRuleBuilder(pctx, ctx) command := rule.Command(). BuiltTool("verify_overlaps"). - Input(monolithicFilePath) + FlagWithInput("--monolithic-flags ", monolithicFilePath) for _, subset := range csvSubsets { command. + Flag("--module-flags "). Textf("%s:%s", subset.CsvFile, subset.SignaturePatternsFile). Implicit(subset.CsvFile).Implicit(subset.SignaturePatternsFile) } diff --git a/scripts/hiddenapi/verify_overlaps.py b/scripts/hiddenapi/verify_overlaps.py index 0d4f66945..940532bc9 100755 --- a/scripts/hiddenapi/verify_overlaps.py +++ b/scripts/hiddenapi/verify_overlaps.py @@ -141,22 +141,26 @@ def main(argv): args_parser = argparse.ArgumentParser( description="Verify that sets of hidden API flags are each a subset of " "the monolithic flag file.") - args_parser.add_argument("monolithicFlags", help="The monolithic flag file") args_parser.add_argument( - "modularFlags", - nargs=argparse.REMAINDER, - help="Flags produced by individual bootclasspath_fragment modules") + "--monolithic-flags", help="The monolithic flag file") + args_parser.add_argument( + "--module-flags", + action="append", + help="A colon separated pair of paths. The first is a path to a " + "filtered set of flags, and the second is a path to a set of " + "signature patterns that identify the set of classes belonging to " + "a single bootclasspath_fragment module, ") args = args_parser.parse_args(argv[1:]) # Read in all the flags into the trie - monolithic_flags_path = args.monolithicFlags + monolithic_flags_path = args.monolithic_flags monolithic_trie = read_flag_trie_from_file(monolithic_flags_path) # For each subset specified on the command line, create dicts for the flags # provided by the subset and the corresponding flags from the complete set # of flags and compare them. failed = False - for modular_pair in args.modularFlags: + for modular_pair in args.module_flags: parts = modular_pair.split(":") modular_flags_path = parts[0] modular_patterns_path = parts[1]