in include/poac/subcmd/graph.hpp [45:71]
core::resolver::Resolved create_resolved_deps() {
namespace lock = core::lock;
namespace resolver = core::resolver;
namespace exception = core::exception;
namespace yaml = io::file::yaml;
// FIXME: uninstall.hppに同じのがある
auto node = yaml::load_config();
std::map<std::string, YAML::Node> deps_node;
if (const auto deps_map = yaml::get<std::map<std::string, YAML::Node>>(node["deps"])) {
deps_node = *deps_map;
}
else {
throw exception::error("Could not read deps in poac.yml");
}
// create resolved deps
resolver::Resolved resolved_deps{};
if (const auto locked_deps = lock::load()) {
resolved_deps = *locked_deps;
}
else { // poac.lock does not exist
const resolver::Deps deps = _install::resolve_packages(deps_node);
resolved_deps = resolver::resolve(deps);
}
return resolved_deps;
}