@@ -61,6 +61,9 @@ def SwiftAPIExtractOption : OptionFlag;
61
61
// The option should be accepted by swift-symbolgraph-extract.
62
62
def SwiftSymbolGraphExtractOption : OptionFlag;
63
63
64
+ // The option should be accepted by swift-api-digester.
65
+ def SwiftAPIDigesterOption : OptionFlag;
66
+
64
67
/////////
65
68
// Options
66
69
@@ -177,15 +180,15 @@ def driver_mode : Joined<["--"], "driver-mode=">, Flags<[HelpHidden]>,
177
180
def help : Flag<["-", "--"], "help">,
178
181
Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
179
182
SwiftIndentOption, SwiftAPIExtractOption,
180
- SwiftSymbolGraphExtractOption]>,
183
+ SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption ]>,
181
184
HelpText<"Display available options">;
182
185
def h : Flag<["-"], "h">, Alias<help>;
183
186
def help_hidden : Flag<["-", "--"], "help-hidden">,
184
187
Flags<[HelpHidden, FrontendOption]>,
185
188
HelpText<"Display available options, including hidden options">;
186
189
187
190
def v : Flag<["-"], "v">,
188
- Flags<[DoesNotAffectIncrementalBuild, SwiftSymbolGraphExtractOption]>,
191
+ Flags<[DoesNotAffectIncrementalBuild, SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption ]>,
189
192
HelpText<"Show commands to run and use verbose output">;
190
193
def version : Flag<["-", "--"], "version">, Flags<[FrontendOption]>,
191
194
HelpText<"Print version information and exit">;
@@ -201,18 +204,20 @@ def _DASH_DASH : Option<["--"], "", KIND_REMAINING_ARGS>,
201
204
def o : JoinedOrSeparate<["-"], "o">,
202
205
Flags<[FrontendOption, AutolinkExtractOption, ModuleWrapOption,
203
206
NoInteractiveOption, SwiftIndentOption, ArgumentIsPath,
204
- SwiftAPIExtractOption]>,
207
+ SwiftAPIExtractOption, SwiftAPIDigesterOption ]>,
205
208
HelpText<"Write output to <file>">, MetaVarName<"<file>">;
206
209
207
210
def j : JoinedOrSeparate<["-"], "j">, Flags<[DoesNotAffectIncrementalBuild]>,
208
211
HelpText<"Number of commands to execute in parallel">, MetaVarName<"<n>">;
209
212
210
213
def sdk : Separate<["-"], "sdk">,
211
- Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption]>,
214
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption,
215
+ SwiftAPIDigesterOption]>,
212
216
HelpText<"Compile against <sdk>">, MetaVarName<"<sdk>">;
213
217
214
218
def swift_version : Separate<["-"], "swift-version">,
215
- Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption]>,
219
+ Flags<[FrontendOption, ModuleInterfaceOption, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption,
220
+ SwiftAPIDigesterOption]>,
216
221
HelpText<"Interpret input according to a specific Swift language version number">,
217
222
MetaVarName<"<vers>">;
218
223
@@ -230,7 +235,7 @@ def D : JoinedOrSeparate<["-"], "D">, Flags<[FrontendOption]>,
230
235
HelpText<"Marks a conditional compilation flag as true">;
231
236
232
237
def F : JoinedOrSeparate<["-"], "F">,
233
- Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption]>,
238
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption ]>,
234
239
HelpText<"Add directory to framework search path">;
235
240
def F_EQ : Joined<["-"], "F=">, Flags<[FrontendOption, ArgumentIsPath]>,
236
241
Alias<F>;
@@ -240,7 +245,7 @@ def Fsystem : Separate<["-"], "Fsystem">,
240
245
HelpText<"Add directory to system framework search path">;
241
246
242
247
def I : JoinedOrSeparate<["-"], "I">,
243
- Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption]>,
248
+ Flags<[FrontendOption, ArgumentIsPath, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption ]>,
244
249
HelpText<"Add directory to the import search path">;
245
250
def I_EQ : Joined<["-"], "I=">, Flags<[FrontendOption, ArgumentIsPath]>,
246
251
Alias<I>;
@@ -347,11 +352,13 @@ def serialize_diagnostics : Flag<["-"], "serialize-diagnostics">,
347
352
Flags<[FrontendOption, NoInteractiveOption, SupplementaryOutput]>,
348
353
HelpText<"Serialize diagnostics in a binary format">;
349
354
def serialize_diagnostics_path : Separate<["-"], "serialize-diagnostics-path">,
350
- Flags<[FrontendOption, NoBatchOption, ArgumentIsPath, SupplementaryOutput]>,
355
+ Flags<[FrontendOption, SwiftAPIDigesterOption, NoBatchOption,
356
+ ArgumentIsPath, SupplementaryOutput]>,
351
357
HelpText<"Emit a serialized diagnostics file to <path>">,
352
358
MetaVarName<"<path>">;
353
359
def serialize_diagnostics_path_EQ: Joined<["-"], "serialize-diagnostics-path=">,
354
- Flags<[FrontendOption, NoBatchOption, ArgumentIsPath, SupplementaryOutput]>,
360
+ Flags<[FrontendOption, SwiftAPIDigesterOption, NoBatchOption,
361
+ ArgumentIsPath, SupplementaryOutput]>,
355
362
Alias<serialize_diagnostics_path>;
356
363
def color_diagnostics : Flag<["-"], "color-diagnostics">,
357
364
Flags<[FrontendOption, DoesNotAffectIncrementalBuild]>,
@@ -383,7 +390,7 @@ def localization_path : Separate<["-"], "localization-path">,
383
390
384
391
def module_cache_path : Separate<["-"], "module-cache-path">,
385
392
Flags<[FrontendOption, DoesNotAffectIncrementalBuild, ArgumentIsPath, SwiftAPIExtractOption,
386
- SwiftSymbolGraphExtractOption]>,
393
+ SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption ]>,
387
394
HelpText<"Specifies the Clang module cache path">;
388
395
389
396
def enable_library_evolution : Flag<["-"], "enable-library-evolution">,
@@ -1045,12 +1052,13 @@ def Xllvm : Separate<["-"], "Xllvm">,
1045
1052
MetaVarName<"<arg>">, HelpText<"Pass <arg> to LLVM.">;
1046
1053
1047
1054
def resource_dir : Separate<["-"], "resource-dir">,
1048
- Flags<[FrontendOption, SwiftSymbolGraphExtractOption, HelpHidden, ArgumentIsPath]>,
1055
+ Flags<[FrontendOption, SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption, HelpHidden, ArgumentIsPath]>,
1049
1056
MetaVarName<"</usr/lib/swift>">,
1050
1057
HelpText<"The directory that holds the compiler resource files">;
1051
1058
1052
1059
def target : Separate<["-"], "target">,
1053
- Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption]>,
1060
+ Flags<[FrontendOption, ModuleWrapOption, ModuleInterfaceOption, SwiftAPIExtractOption, SwiftSymbolGraphExtractOption,
1061
+ SwiftAPIDigesterOption]>,
1054
1062
HelpText<"Generate code for the given target <triple>, such as x86_64-apple-macos10.9">, MetaVarName<"<triple>">;
1055
1063
def target_legacy_spelling : Joined<["--"], "target=">,
1056
1064
Flags<[FrontendOption]>, Alias<target>;
@@ -1216,8 +1224,9 @@ def pretty_print: Flag<["-"], "pretty-print">,
1216
1224
1217
1225
// swift-symbolgraph-extract-only options
1218
1226
def output_dir : Separate<["-"], "output-dir">,
1219
- Flags<[NoDriverOption, SwiftSymbolGraphExtractOption, ArgumentIsPath]>,
1220
- HelpText<"Symbol Graph JSON Output Directory (Required)">,
1227
+ Flags<[NoDriverOption, SwiftSymbolGraphExtractOption, SwiftAPIDigesterOption,
1228
+ ArgumentIsPath]>,
1229
+ HelpText<"Output directory">,
1221
1230
MetaVarName<"<dir>">;
1222
1231
1223
1232
def skip_synthesized_members: Flag<[ "-" ], "skip-synthesized-members">,
@@ -1235,4 +1244,151 @@ def skip_inherited_docs : Flag<["-"], "skip-inherited-docs">,
1235
1244
HelpText<"Skip emitting doc comments for members inherited through classes or "
1236
1245
"default implementations">;
1237
1246
1247
+ // swift-api-digester-only options
1248
+ def dump_sdk: Flag<["-", "--"], "dump-sdk">,
1249
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1250
+ HelpText<"Dump SDK content to JSON file">;
1251
+
1252
+ def generate_migration_script: Flag<["-", "--"], "generate-migration-script">,
1253
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1254
+ HelpText<"Compare SDK content in JSON file and generate migration script">;
1255
+
1256
+ def diagnose_sdk: Flag<["-", "--"], "diagnose-sdk">,
1257
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1258
+ HelpText<"Diagnose SDK content in JSON file">;
1259
+
1260
+ def deserialize_diff: Flag<["-", "--"], "deserialize-diff">,
1261
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1262
+ HelpText<"Deserialize diff items in a JSON file">;
1263
+
1264
+ def deserialize_sdk: Flag<["-", "--"], "deserialize-sdk">,
1265
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1266
+ HelpText<"Deserialize sdk digester in a JSON file">;
1267
+
1268
+ def find_usr: Flag<["-", "--"], "find-usr">,
1269
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1270
+ HelpText<"Find USR for decls by given condition">;
1271
+
1272
+ def generate_name_correction: Flag<["-", "--"], "generate-name-correction">,
1273
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1274
+ HelpText<"Generate name correction template">;
1275
+
1276
+ def generate_empty_baseline: Flag<["-", "--"], "generate-empty-baseline">,
1277
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1278
+ HelpText<"Generate an empty baseline">;
1279
+
1280
+ def empty_baseline: Flag<["-", "--"], "empty-baseline">,
1281
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1282
+ HelpText<"Use empty baseline for diagnostics">;
1283
+
1284
+ def ignored_usrs: Separate<["-", "--"], "ignored-usrs">,
1285
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1286
+ HelpText<"the file containing USRs of removed decls that the digester should ignore">,
1287
+ MetaVarName<"<path>">;
1288
+
1289
+ def protocol_requirement_allow_list: Separate<["-", "--"], "protocol-requirement-allow-list">,
1290
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1291
+ HelpText<"File containing a new-line separated list of protocol names">,
1292
+ MetaVarName<"<path>">;
1293
+
1294
+ def input_paths: Separate<["-", "--"], "input-paths">,
1295
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1296
+ HelpText<"The SDK contents under comparison">,
1297
+ MetaVarName<"<path>">;
1298
+
1299
+ def compiler_style_diags: Flag<["-", "--"], "compiler-style-diags">,
1300
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1301
+ HelpText<"Print compiler style diagnostics to stderr.">;
1302
+
1303
+ def json: Flag<["-", "--"], "json">,
1304
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1305
+ HelpText<"Print output in JSON format.">;
1306
+
1307
+ def avoid_location: Flag<["-", "--"], "avoid-location">,
1308
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1309
+ HelpText<"Avoid serializing the file paths of SDK nodes.">;
1310
+
1311
+ def location: Separate<["-", "--"], "location">,
1312
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1313
+ HelpText<"Filter nodes with the given location.">,
1314
+ MetaVarName<"<location>">;
1315
+
1316
+ def avoid_tool_args: Flag<["-", "--"], "avoid-tool-args">,
1317
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1318
+ HelpText<"Avoid serializing the arguments for invoking the tool.">;
1319
+
1320
+ def abi: Flag<["-", "--"], "abi">,
1321
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1322
+ HelpText<"Dumping ABI interface">;
1323
+
1324
+ def swift_only: Flag<["-", "--"], "swift-only">,
1325
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1326
+ HelpText<"Only include APIs defined from Swift source">;
1327
+
1328
+ def disable_os_checks: Flag<["-", "--"], "disable-os-checks">,
1329
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1330
+ HelpText<"Skip OS related diagnostics">;
1331
+
1332
+ def print_module: Flag<["-", "--"], "print-module">,
1333
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1334
+ HelpText<"Print module names in diagnostics">;
1335
+
1336
+ def migrator: Flag<["-", "--"], "migrator">,
1337
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1338
+ HelpText<"Dump Json suitable for generating migration script">;
1339
+
1340
+ def abort_on_module_fail: Flag<["-", "--"], "abort-on-module-fail">,
1341
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1342
+ HelpText<"Abort if a module failed to load">;
1343
+
1344
+ def debug_mapping: Flag<["-", "--"], "debug-mapping">,
1345
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1346
+ HelpText<"Dumping information for debug purposes">;
1347
+
1348
+ def BF : JoinedOrSeparate<["-"], "BF">,
1349
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1350
+ HelpText<"add a directory to the baseline framework search path">;
1351
+ def BF_EQ : Joined<["-"], "BF=">, Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1352
+ Alias<BF>;
1353
+
1354
+ def BI : JoinedOrSeparate<["-"], "BI">,
1355
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1356
+ HelpText<"add a module for baseline input">;
1357
+ def BI_EQ : Joined<["-"], "BI=">, Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1358
+ Alias<BI>;
1359
+
1360
+ def iframework : JoinedOrSeparate<["-"], "iframework">,
1361
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1362
+ HelpText<"add a directory to the clang importer system framework search path">;
1363
+
1364
+ def baseline_path : JoinedOrSeparate<["-"], "baseline-path">,
1365
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1366
+ HelpText<"The path to the Json file that we should use as the baseline">;
1367
+
1368
+ def baseline_dir : JoinedOrSeparate<["-"], "baseline-dir">,
1369
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1370
+ HelpText<"The path to a directory containing baseline files: macos.json, iphoneos.json, appletvos.json, watchos.json, and iosmac.json">;
1371
+
1372
+ def breakage_allowlist_path : JoinedOrSeparate<["-"], "breakage-allowlist-path">,
1373
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1374
+ HelpText<"An allowlist of breakages to not complain about">;
1375
+
1376
+ def bsdk : JoinedOrSeparate<["-"], "bsdk">,
1377
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1378
+ HelpText<"path to the baseline SDK to import frameworks">;
1379
+
1380
+ def module_list_file : JoinedOrSeparate<["-"], "module-list-file">,
1381
+ Flags<[NoDriverOption, SwiftAPIDigesterOption, ArgumentIsPath]>,
1382
+ HelpText<"File containing a new-line separated list of modules">;
1383
+
1384
+ def module: Separate<["-", "--"], "module">,
1385
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1386
+ HelpText<"Names of modules">,
1387
+ MetaVarName<"<name>">;
1388
+
1389
+ def use_interface_for_module: Separate<["-", "--"], "use-interface-for-module">,
1390
+ Flags<[NoDriverOption, SwiftAPIDigesterOption]>,
1391
+ HelpText<"Prefer loading these modules via interface">,
1392
+ MetaVarName<"<name>">;
1393
+
1238
1394
include "FrontendOptions.td"
0 commit comments