Merge pull request #85375 from cachemeifyoucan/eng/PR-164208526

[CAS] Support legacy prefix map option
This commit is contained in:
Steven Wu
2025-11-10 10:52:28 -08:00
committed by GitHub
3 changed files with 14 additions and 1 deletions

View File

@@ -2343,7 +2343,7 @@ def scanner_prefix_map_paths : MultiArg<["-"], "scanner-prefix-map-paths", 2>,
HelpText<"Remap paths reported by dependency scanner">, MetaVarName<"<prefix> <replacement>">; HelpText<"Remap paths reported by dependency scanner">, MetaVarName<"<prefix> <replacement>">;
def scanner_prefix_map : Separate<["-"], "scanner-prefix-map">, def scanner_prefix_map : Separate<["-"], "scanner-prefix-map">,
Flags<[NewDriverOnlyOption]>, Flags<[FrontendOption, NewDriverOnlyOption]>,
HelpText<"Remap paths reported by dependency scanner">, MetaVarName<"<prefix=replacement>">; HelpText<"Remap paths reported by dependency scanner">, MetaVarName<"<prefix=replacement>">;
def scanner_prefix_map_sdk : Separate<["-"], "scanner-prefix-map-sdk">, def scanner_prefix_map_sdk : Separate<["-"], "scanner-prefix-map-sdk">,

View File

@@ -2519,6 +2519,12 @@ static bool ParseSearchPathArgs(SearchPathOptions &Opts, ArgList &Args,
Opts.ScannerPrefixMapper.push_back({A->getValue(0), A->getValue(1)}); Opts.ScannerPrefixMapper.push_back({A->getValue(0), A->getValue(1)});
} }
// Handle legacy prefix map option.
for (StringRef Opt : Args.getAllArgValues(OPT_scanner_prefix_map)) {
if (auto Mapping = llvm::MappedPrefix::getFromJoined(Opt))
Opts.ScannerPrefixMapper.push_back({Mapping->Old, Mapping->New});
}
Opts.ResolvedPluginVerification |= Opts.ResolvedPluginVerification |=
Args.hasArg(OPT_resolved_plugin_verification); Args.hasArg(OPT_resolved_plugin_verification);

View File

@@ -31,4 +31,11 @@
// RUN: %{python} %S/Inputs/SwiftDepsExtractor.py %t/deps.json clang:F commandLine | %FileCheck %s -check-prefix CLANG-CMD // RUN: %{python} %S/Inputs/SwiftDepsExtractor.py %t/deps.json clang:F commandLine | %FileCheck %s -check-prefix CLANG-CMD
// CLANG-CMD: /^src/test/ScanDependencies/Inputs/CHeaders/module.modulemap // CLANG-CMD: /^src/test/ScanDependencies/Inputs/CHeaders/module.modulemap
/// Check the legacy option.
// RUN: %target-swift-frontend -scan-dependencies -module-cache-path %t/clang-module-cache %s -o %t/deps2.json \
// RUN: -I %S/../ScanDependencies/Inputs/CHeaders -I %S/../ScanDependencies/Inputs/Swift -emit-dependencies \
// RUN: -import-objc-header %S/../ScanDependencies/Inputs/CHeaders/Bridging.h -swift-version 4 -cache-compile-job \
// RUN: -cas-path %t/cas -scanner-prefix-map %swift_src_root=/^src -scanner-prefix-map %t=/^tmp -scanner-output-dir %t -auto-bridging-header-chaining
// RUN: %{python} %S/Inputs/SwiftDepsExtractor.py %t/deps2.json deps2 casFSRootID > %t/deps2.fs.casid
// RUN: %cache-tool -cas-path %t/cas -cache-tool-action print-include-tree-list @%t/deps2.fs.casid | %FileCheck %s -check-prefix DEPS-FS