Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a build result type for removed. #500

Merged
merged 2 commits into from
Apr 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion include/vcpkg/build.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ namespace vcpkg::Build
CASCADED_DUE_TO_MISSING_DEPENDENCIES,
EXCLUDED,
CACHE_MISSING,
DOWNLOADED
DOWNLOADED,
REMOVED
};

struct IBuildLogsRecorder
Expand Down Expand Up @@ -204,6 +205,7 @@ namespace vcpkg::Build
int excluded = 0;
int cache_missing = 0;
int downloaded = 0;
int removed = 0;

void increment(const BuildResult build_result);
void println(const Triplet& triplet) const;
Expand Down
1 change: 1 addition & 0 deletions locales/messages.en.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"BuildResultExcluded": "EXCLUDED",
"BuildResultFileConflicts": "FILE_CONFLICTS",
"BuildResultPostBuildChecksFailed": "POST_BUILD_CHECKS_FAILED",
"BuildResultRemoved": "REMOVED",
"BuildResultSucceeded": "SUCCEEDED",
"BuildResultSummaryHeader": "SUMMARY FOR {triplet}",
"BuildResultSummaryLine": " {build_result}: {count}",
Expand Down
2 changes: 2 additions & 0 deletions locales/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
"_BuildResultFileConflicts.comment": "Printed after the name of an installed entity to indicate that it conflicts with something already installed\n",
"BuildResultPostBuildChecksFailed": "POST_BUILD_CHECKS_FAILED",
"_BuildResultPostBuildChecksFailed.comment": "Printed after the name of an installed entity to indicate that it built successfully, but that it failed post build checks.\n",
"BuildResultRemoved": "REMOVED",
"_BuildResultRemoved.comment": "Printed after the name of an uninstalled entity to indicate that it was successfully uninstalled.\n",
"BuildResultSucceeded": "SUCCEEDED",
"_BuildResultSucceeded.comment": "Printed after the name of an installed entity to indicate that it was built and installed successfully.\n",
"BuildResultSummaryHeader": "SUMMARY FOR {triplet}",
Expand Down
53 changes: 29 additions & 24 deletions src/vcpkg/build.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,12 @@ namespace
"downloaded but no build or install was requested.",
"DOWNLOADED");

DECLARE_AND_REGISTER_MESSAGE(
BuildResultRemoved,
(),
"Printed after the name of an uninstalled entity to indicate that it was successfully uninstalled.",
"REMOVED");

DECLARE_AND_REGISTER_MESSAGE(BuildingPackageFailed,
(msg::spec, msg::build_result),
"",
Expand Down Expand Up @@ -1463,37 +1469,34 @@ namespace vcpkg::Build
case BuildResult::EXCLUDED: ++excluded; return;
case BuildResult::CACHE_MISSING: ++cache_missing; return;
case BuildResult::DOWNLOADED: ++downloaded; return;
case BuildResult::REMOVED: ++removed; return;
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}

template<class Message>
static void print_build_result_summary_line(Message build_result_message, int count)
{
if (count != 0)
{
msg::println(
msgBuildResultSummaryLine, msg::build_result = msg::format(build_result_message), msg::count = count);
}
}

void BuildResultCounts::println(const Triplet& triplet) const
{
msg::println(msgBuildResultSummaryHeader, msg::triplet = triplet);
// NULLVALUE intentionally not printed
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultSucceeded),
msg::count = succeeded);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultBuildFailed),
msg::count = build_failed);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultPostBuildChecksFailed),
msg::count = post_build_checks_failed);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultFileConflicts),
msg::count = file_conflicts);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultCascadeDueToMissingDependencies),
msg::count = cascaded_due_to_missing_dependencies);
msg::println(
msgBuildResultSummaryLine, msg::build_result = msg::format(msgBuildResultExcluded), msg::count = excluded);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultCacheMissing),
msg::count = cache_missing);
msg::println(msgBuildResultSummaryLine,
msg::build_result = msg::format(msgBuildResultDownloaded),
msg::count = downloaded);
print_build_result_summary_line(msgBuildResultSucceeded, succeeded);
print_build_result_summary_line(msgBuildResultBuildFailed, build_failed);
print_build_result_summary_line(msgBuildResultPostBuildChecksFailed, post_build_checks_failed);
print_build_result_summary_line(msgBuildResultFileConflicts, file_conflicts);
print_build_result_summary_line(msgBuildResultCascadeDueToMissingDependencies,
cascaded_due_to_missing_dependencies);
print_build_result_summary_line(msgBuildResultExcluded, excluded);
print_build_result_summary_line(msgBuildResultCacheMissing, cache_missing);
print_build_result_summary_line(msgBuildResultDownloaded, downloaded);
print_build_result_summary_line(msgBuildResultRemoved, removed);
}

StringLiteral to_string_locale_invariant(const BuildResult build_result)
Expand All @@ -1508,6 +1511,7 @@ namespace vcpkg::Build
case BuildResult::EXCLUDED: return "EXCLUDED";
case BuildResult::CACHE_MISSING: return "CACHE_MISSING";
case BuildResult::DOWNLOADED: return "DOWNLOADED";
case BuildResult::REMOVED: return "REMOVED";
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}
Expand All @@ -1525,6 +1529,7 @@ namespace vcpkg::Build
case BuildResult::EXCLUDED: return msg::format(msgBuildResultExcluded);
case BuildResult::CACHE_MISSING: return msg::format(msgBuildResultCacheMissing);
case BuildResult::DOWNLOADED: return msg::format(msgBuildResultDownloaded);
case BuildResult::REMOVED: return msg::format(msgBuildResultRemoved);
default: Checks::unreachable(VCPKG_LINE_INFO);
}
}
Expand Down
1 change: 1 addition & 0 deletions src/vcpkg/install.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -528,6 +528,7 @@ namespace vcpkg::Install
{
TrackedPackageInstallGuard this_install(action_index++, action_count, results, action);
Remove::perform_remove_plan_action(paths, action, Remove::Purge::YES, &status_db);
results.back().build_result.emplace(BuildResult::REMOVED);
}

for (auto&& action : action_plan.already_installed)
Expand Down