[CAS] swift dependency scanning using CAS for compiler caching (#66366)

Teach swift dependency scanner to use CAS to capture the full dependencies for a build and construct build commands with immutable inputs from CAS.

This allows swift compilation caching using CAS.
This commit is contained in:
Steven Wu
2023-06-12 10:55:53 -07:00
committed by GitHub
parent 2db4a038c3
commit b1f99b8e93
34 changed files with 2671 additions and 298 deletions

View File

@@ -54,6 +54,7 @@ namespace clang {
namespace tooling {
namespace dependencies {
struct ModuleDeps;
struct TranslationUnitDeps;
using ModuleDepsGraph = std::vector<ModuleDeps>;
}
}
@@ -431,6 +432,10 @@ public:
ModuleDependenciesCache &cache,
const clang::tooling::dependencies::ModuleDepsGraph &clangDependencies);
void recordBridgingHeaderOptions(
ModuleDependencyInfo &MDI,
const clang::tooling::dependencies::TranslationUnitDeps &deps);
Optional<const ModuleDependencyInfo*> getModuleDependencies(
StringRef moduleName, ModuleDependenciesCache &cache,
InterfaceSubContextDelegate &delegate,