summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/target_map/export.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/build_engine/target_map/export.cpp')
-rw-r--r--src/buildtool/build_engine/target_map/export.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/export.cpp b/src/buildtool/build_engine/target_map/export.cpp
index 50238b26..a2215411 100644
--- a/src/buildtool/build_engine/target_map/export.cpp
+++ b/src/buildtool/build_engine/target_map/export.cpp
@@ -65,6 +65,13 @@ void FinalizeExport(
std::unordered_set<std::string> vars_set{};
vars_set.insert(vars.begin(), vars.end());
+ std::set<std::string> implied{};
+ if (target_cache_key) {
+ implied.insert((*value)->ImpliedExport().begin(),
+ (*value)->ImpliedExport().end());
+ implied.insert(target_cache_key->Id().digest.hash());
+ }
+
auto analysis_result = std::make_shared<AnalysedTarget const>(
TargetResult{.artifact_stage = (*value)->Artifacts(),
.provides = provides,
@@ -74,6 +81,7 @@ void FinalizeExport(
std::vector<Tree::Ptr>{},
std::move(vars_set),
std::set<std::string>{},
+ std::move(implied),
std::move(deps_info));
analysis_result = result_map->Add(target,
effective_config,
@@ -151,6 +159,7 @@ void ExportRule(
std::unordered_set<std::string>{flexible_vars->begin(),
flexible_vars->end()},
std::set<std::string>{},
+ entry.ToImplied(),
deps_info);
analysis_result = result_map->Add(key.target,