Skip to content

Commit d11b824

Browse files
authored
Merge pull request #23477 from nkcsgexi/opts-swift-api-checker
swift-api-checker: allow the script to take additional flags to pass down to the executable
2 parents dcf7a10 + 246bfbc commit d11b824

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

utils/api_checker/swift-api-checker.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,14 @@ def __init__(self, tool_path, platform):
7878
self.sdk + '/System/Library/Frameworks/',
7979
os.path.realpath(self.sdk + '/../../Library/Frameworks/')]
8080

81-
def run(self, output, module, swift_ver, abi, verbose):
81+
def run(self, output, module, swift_ver, opts, verbose):
8282
cmd = [self.tool_path, '-o', output, '-sdk', self.sdk, '-target',
8383
self.target, '-dump-sdk', '-module-cache-path',
8484
'/tmp/ModuleCache', '-swift-version',
8585
swift_ver, '-abort-on-module-fail']
8686
for path in self.frameworks:
8787
cmd.extend(['-iframework', path])
88-
if abi:
89-
cmd.extend(['-abi'])
88+
cmd.extend(['-' + o for o in opts])
9089
if verbose:
9190
cmd.extend(['-v'])
9291
if module:
@@ -103,13 +102,12 @@ class DiagnoseConfig:
103102
def __init__(self, tool_path):
104103
self.tool_path = get_api_digester_path(tool_path)
105104

106-
def run(self, abi, before, after, output, verbose):
105+
def run(self, opts, before, after, output, verbose):
107106
cmd = [self.tool_path, '-diagnose-sdk', '-input-paths', before,
108107
'-input-paths', after]
109108
if output:
110109
cmd.extend(['-o', output])
111-
if abi:
112-
cmd.extend(['-abi'])
110+
cmd.extend(['-' + o for o in opts])
113111
if verbose:
114112
cmd.extend(['-v'])
115113
check_call(cmd, verbose=verbose)
@@ -149,9 +147,9 @@ def main():
149147
name of the module/framework to generate baseline, e.g. Foundation
150148
''')
151149

152-
basic_group.add_argument('--abi',
153-
action='store_true',
154-
help='Whether we are jsonizing for abi')
150+
basic_group.add_argument('--opts', nargs='+', default=[], help='''
151+
additional flags to pass to swift-api-digester
152+
''')
155153

156154
basic_group.add_argument('--v',
157155
action='store_true',
@@ -177,14 +175,15 @@ def main():
177175
fatal_error("Need to specify --output")
178176
runner = DumpConfig(tool_path=args.tool_path, platform=args.target)
179177
runner.run(output=args.output, module=args.module,
180-
swift_ver=args.swift_version, abi=args.abi, verbose=args.v)
178+
swift_ver=args.swift_version, opts=args.opts,
179+
verbose=args.v)
181180
elif args.action == 'diagnose':
182181
if not args.dump_before:
183182
fatal_error("Need to specify --dump-before")
184183
if not args.dump_after:
185184
fatal_error("Need to specify --dump-after")
186185
runner = DiagnoseConfig(tool_path=args.tool_path)
187-
runner.run(abi=args.abi, before=args.dump_before,
186+
runner.run(opts=args.opts, before=args.dump_before,
188187
after=args.dump_after, output=args.output, verbose=args.v)
189188
else:
190189
fatal_error('Cannot recognize action: ' + args.action)

0 commit comments

Comments
 (0)