From 6350eddd4689568ff8dcfe431e1bf81579fb0556 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 18 Apr 2017 15:31:10 -0700 Subject: [PATCH] Find group_by_plan_type outside of print_plan() --- toolsrc/src/commands_export.cpp | 11 +++++------ toolsrc/src/commands_install.cpp | 9 ++++----- toolsrc/src/commands_remove.cpp | 9 ++++----- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/toolsrc/src/commands_export.cpp b/toolsrc/src/commands_export.cpp index efd12b836f9..018c6d636bb 100644 --- a/toolsrc/src/commands_export.cpp +++ b/toolsrc/src/commands_export.cpp @@ -14,13 +14,10 @@ namespace vcpkg::Commands::Export using Dependencies::RequestType; using Dependencies::ExportPlanType; - static void print_plan(const std::vector& plan) + static void print_plan(const std::map>& group_by_plan_type) { static constexpr std::array order = { ExportPlanType::ALREADY_BUILT, ExportPlanType::PORT_AVAILABLE_BUT_NOT_BUILT }; - std::map> group_by_plan_type; - Util::group_by(plan, &group_by_plan_type, [](const ExportPlanAction& p) { return p.plan_type; }); - for (const ExportPlanType plan_type : order) { auto it = group_by_plan_type.find(plan_type); @@ -72,7 +69,9 @@ namespace vcpkg::Commands::Export std::vector export_plan = Dependencies::create_export_plan(paths, specs, status_db); Checks::check_exit(VCPKG_LINE_INFO, !export_plan.empty(), "Export plan cannot be empty"); - print_plan(export_plan); + std::map> group_by_plan_type; + Util::group_by(export_plan, &group_by_plan_type, [](const ExportPlanAction& p) { return p.plan_type; }); + print_plan(group_by_plan_type); const bool has_non_user_requested_packages = std::find_if(export_plan.cbegin(), export_plan.cend(), [](const ExportPlanAction& package)-> bool { @@ -93,7 +92,7 @@ namespace vcpkg::Commands::Export const fs::path output = paths.root / "exported"; std::error_code ec; fs.remove_all(output, ec); - paths.get_filesystem().create_directory(output, ec); + fs.create_directory(output, ec); // execute the plan for (const ExportPlanAction& action : export_plan) diff --git a/toolsrc/src/commands_install.cpp b/toolsrc/src/commands_install.cpp index cb9a8f61b8b..dc1a691671b 100644 --- a/toolsrc/src/commands_install.cpp +++ b/toolsrc/src/commands_install.cpp @@ -169,13 +169,10 @@ namespace vcpkg::Commands::Install return SortedVector(std::move(installed_files)); } - static void print_plan(const std::vector& plan) + static void print_plan(const std::map>& group_by_plan_type) { static constexpr std::array order = { InstallPlanType::ALREADY_INSTALLED, InstallPlanType::BUILD_AND_INSTALL, InstallPlanType::INSTALL }; - std::map> group_by_plan_type; - Util::group_by(plan, &group_by_plan_type, [](const InstallPlanAction& p) { return p.plan_type; }); - for (const InstallPlanType plan_type : order) { auto it = group_by_plan_type.find(plan_type); @@ -286,7 +283,9 @@ namespace vcpkg::Commands::Install const std::string specs_string = Strings::join(",", install_plan, [](const InstallPlanAction& plan) { return plan.spec.to_string(); }); Metrics::track_property("installplan", specs_string); - print_plan(install_plan); + std::map> group_by_plan_type; + Util::group_by(install_plan, &group_by_plan_type, [](const InstallPlanAction& p) { return p.plan_type; }); + print_plan(group_by_plan_type); const bool has_non_user_requested_packages = Util::find_if(install_plan, [](const InstallPlanAction& package)-> bool { diff --git a/toolsrc/src/commands_remove.cpp b/toolsrc/src/commands_remove.cpp index f26cf5dbfa9..225241bdffe 100644 --- a/toolsrc/src/commands_remove.cpp +++ b/toolsrc/src/commands_remove.cpp @@ -87,13 +87,10 @@ namespace vcpkg::Commands::Remove write_update(paths, pkg); } - static void print_plan(const std::vector& plan) + static void print_plan(const std::map>& group_by_plan_type) { static constexpr std::array order = { RemovePlanType::NOT_INSTALLED, RemovePlanType::REMOVE }; - std::map> group_by_plan_type; - Util::group_by(plan, &group_by_plan_type, [](const RemovePlanAction& p) { return p.plan_type; }); - for (const RemovePlanType plan_type : order) { auto it = group_by_plan_type.find(plan_type); @@ -162,7 +159,9 @@ namespace vcpkg::Commands::Remove const std::vector remove_plan = Dependencies::create_remove_plan(specs, status_db); Checks::check_exit(VCPKG_LINE_INFO, !remove_plan.empty(), "Remove plan cannot be empty"); - print_plan(remove_plan); + std::map> group_by_plan_type; + Util::group_by(remove_plan, &group_by_plan_type, [](const RemovePlanAction& p) { return p.plan_type; }); + print_plan(group_by_plan_type); const bool has_non_user_requested_packages = Util::find_if(remove_plan, [](const RemovePlanAction& package)-> bool {