diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-07-11 13:22:16 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-07-12 15:43:37 +0200 |
commit | 1e1758e8c30d30df0ebeefbada1e5a8f74d8a350 (patch) | |
tree | b5b87ab3d7b61a0dc0e89e14e28af78293c4a423 /src/buildtool/build_engine/target_map/target_map.cpp | |
parent | 9362f6c426a6e10d0f77282364a0061ebf192375 (diff) | |
download | justbuild-1e1758e8c30d30df0ebeefbada1e5a8f74d8a350.tar.gz |
Use static Create functions to construct ArtifactDescription
...instead of unobvious ctors relying on overload resolution.
Diffstat (limited to 'src/buildtool/build_engine/target_map/target_map.cpp')
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 7bc74800..1c8d3743 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -37,6 +37,7 @@ #include "src/buildtool/build_engine/expression/function_map.hpp" #include "src/buildtool/build_engine/target_map/built_in_rules.hpp" #include "src/buildtool/build_engine/target_map/utils.hpp" +#include "src/buildtool/common/artifact_description.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" #include "src/buildtool/logging/log_level.hpp" @@ -706,14 +707,16 @@ void withDependencies( auto action_id = action->Id(); actions.emplace_back(std::move(action)); for (auto const& out : outputs) { - result.emplace(out, - ExpressionPtr{ArtifactDescription{ - action_id, std::filesystem::path{out}}}); + result.emplace( + out, + ExpressionPtr{ArtifactDescription::CreateAction( + action_id, std::filesystem::path{out})}); } for (auto const& out : output_dirs) { - result.emplace(out, - ExpressionPtr{ArtifactDescription{ - action_id, std::filesystem::path{out}}}); + result.emplace( + out, + ExpressionPtr{ArtifactDescription::CreateAction( + action_id, std::filesystem::path{out})}); } return ExpressionPtr{Expression::map_t{result}}; @@ -727,9 +730,9 @@ void withDependencies( data->ToString())}; } blobs.emplace_back(data->String()); - return ExpressionPtr{ArtifactDescription{ + return ExpressionPtr{ArtifactDescription::CreateKnown( ArtifactDigest::Create<ObjectType::File>(data->String()), - ObjectType::File}}; + ObjectType::File)}; }}, {"SYMLINK", @@ -747,9 +750,9 @@ void withDependencies( } blobs.emplace_back(data->String()); - return ExpressionPtr{ArtifactDescription{ + return ExpressionPtr{ArtifactDescription::CreateKnown( ArtifactDigest::Create<ObjectType::Symlink>(data->String()), - ObjectType::Symlink}}; + ObjectType::Symlink)}; }}, {"TREE", @@ -783,7 +786,7 @@ void withDependencies( auto tree = std::make_shared<Tree>(std::move(artifacts)); auto tree_id = tree->Id(); trees.emplace_back(std::move(tree)); - return ExpressionPtr{ArtifactDescription{tree_id}}; + return ExpressionPtr{ArtifactDescription::CreateTree(tree_id)}; }}, {"VALUE_NODE", [](auto&& eval, auto const& expr, auto const& env) { @@ -1693,7 +1696,9 @@ void TreeTarget( auto tree = std::make_shared<Tree>(std::move(artifacts)); auto tree_id = tree->Id(); auto tree_map = ExpressionPtr{Expression::map_t{ - name, ExpressionPtr{ArtifactDescription{tree_id}}}}; + name, + ExpressionPtr{ + ArtifactDescription::CreateTree(tree_id)}}}; auto analysis_result = std::make_shared<AnalysedTarget const>( TargetResult{.artifact_stage = tree_map, |