mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-23 02:57:09 +01:00
[--overlay-ports] Show location of overriden ports during install plan (#7002)
* [--overlay-ports] Show source location of overlayed ports during install plan * Code cleanup * Code cleanup
This commit is contained in:
parent
4f675eafb6
commit
9e565e9867
@ -199,5 +199,7 @@ namespace vcpkg::Dependencies
|
|||||||
const StatusParagraphs& status_db,
|
const StatusParagraphs& status_db,
|
||||||
const CreateInstallPlanOptions& options = {});
|
const CreateInstallPlanOptions& options = {});
|
||||||
|
|
||||||
void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive = true);
|
void print_plan(const std::vector<AnyAction>& action_plan,
|
||||||
|
const bool is_recursive = true,
|
||||||
|
const fs::path& default_ports_dir = "");
|
||||||
}
|
}
|
||||||
|
@ -451,7 +451,7 @@ namespace vcpkg::Commands::CI
|
|||||||
|
|
||||||
if (is_dry_run)
|
if (is_dry_run)
|
||||||
{
|
{
|
||||||
Dependencies::print_plan(action_plan);
|
Dependencies::print_plan(action_plan, true, paths.ports);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -171,7 +171,7 @@ namespace vcpkg::Commands::Upgrade
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Dependencies::print_plan(plan, true);
|
Dependencies::print_plan(plan, true, paths.ports);
|
||||||
|
|
||||||
if (!no_dry_run)
|
if (!no_dry_run)
|
||||||
{
|
{
|
||||||
|
@ -123,6 +123,27 @@ namespace vcpkg::Dependencies
|
|||||||
const PortFileProvider& m_provider;
|
const PortFileProvider& m_provider;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
std::string to_output_string(RequestType request_type,
|
||||||
|
const CStringView s,
|
||||||
|
const Build::BuildPackageOptions& options,
|
||||||
|
const fs::path& install_port_path,
|
||||||
|
const fs::path& default_port_path)
|
||||||
|
{
|
||||||
|
if (!default_port_path.empty()
|
||||||
|
&& !Strings::case_insensitive_ascii_starts_with(install_port_path.u8string(),
|
||||||
|
default_port_path.u8string()))
|
||||||
|
{
|
||||||
|
const char* const from_head = options.use_head_version == Build::UseHeadVersion::YES ? " (from HEAD)" : "";
|
||||||
|
switch (request_type)
|
||||||
|
{
|
||||||
|
case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s -- %s", s, from_head, install_port_path.u8string());
|
||||||
|
case RequestType::USER_REQUESTED: return Strings::format(" %s%s -- %s", s, from_head, install_port_path.u8string());
|
||||||
|
default: Checks::unreachable(VCPKG_LINE_INFO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return to_output_string(request_type, s, options);
|
||||||
|
}
|
||||||
|
|
||||||
std::string to_output_string(RequestType request_type,
|
std::string to_output_string(RequestType request_type,
|
||||||
const CStringView s,
|
const CStringView s,
|
||||||
const Build::BuildPackageOptions& options)
|
const Build::BuildPackageOptions& options)
|
||||||
@ -131,7 +152,7 @@ namespace vcpkg::Dependencies
|
|||||||
|
|
||||||
switch (request_type)
|
switch (request_type)
|
||||||
{
|
{
|
||||||
case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s", s, from_head);
|
case RequestType::AUTO_SELECTED: return Strings::format(" * %s%s", s, from_head);
|
||||||
case RequestType::USER_REQUESTED: return Strings::format(" %s%s", s, from_head);
|
case RequestType::USER_REQUESTED: return Strings::format(" %s%s", s, from_head);
|
||||||
default: Checks::unreachable(VCPKG_LINE_INFO);
|
default: Checks::unreachable(VCPKG_LINE_INFO);
|
||||||
}
|
}
|
||||||
@ -141,7 +162,7 @@ namespace vcpkg::Dependencies
|
|||||||
{
|
{
|
||||||
switch (request_type)
|
switch (request_type)
|
||||||
{
|
{
|
||||||
case RequestType::AUTO_SELECTED: return Strings::format(" * %s", s);
|
case RequestType::AUTO_SELECTED: return Strings::format(" * %s", s);
|
||||||
case RequestType::USER_REQUESTED: return Strings::format(" %s", s);
|
case RequestType::USER_REQUESTED: return Strings::format(" %s", s);
|
||||||
default: Checks::unreachable(VCPKG_LINE_INFO);
|
default: Checks::unreachable(VCPKG_LINE_INFO);
|
||||||
}
|
}
|
||||||
@ -893,7 +914,7 @@ namespace vcpkg::Dependencies
|
|||||||
|
|
||||||
PackageGraph::~PackageGraph() = default;
|
PackageGraph::~PackageGraph() = default;
|
||||||
|
|
||||||
void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive)
|
void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive, const fs::path& default_ports_dir)
|
||||||
{
|
{
|
||||||
std::vector<const RemovePlanAction*> remove_plans;
|
std::vector<const RemovePlanAction*> remove_plans;
|
||||||
std::vector<const InstallPlanAction*> rebuilt_plans;
|
std::vector<const InstallPlanAction*> rebuilt_plans;
|
||||||
@ -948,8 +969,17 @@ namespace vcpkg::Dependencies
|
|||||||
std::sort(already_installed_plans.begin(), already_installed_plans.end(), &InstallPlanAction::compare_by_name);
|
std::sort(already_installed_plans.begin(), already_installed_plans.end(), &InstallPlanAction::compare_by_name);
|
||||||
std::sort(excluded.begin(), excluded.end(), &InstallPlanAction::compare_by_name);
|
std::sort(excluded.begin(), excluded.end(), &InstallPlanAction::compare_by_name);
|
||||||
|
|
||||||
static auto actions_to_output_string = [](const std::vector<const InstallPlanAction*>& v) {
|
static auto actions_to_output_string = [&](const std::vector<const InstallPlanAction*>& v) {
|
||||||
return Strings::join("\n", v, [](const InstallPlanAction* p) {
|
return Strings::join("\n", v, [&](const InstallPlanAction* p) {
|
||||||
|
if (auto * pscfl = p->source_control_file_location.get())
|
||||||
|
{
|
||||||
|
return to_output_string(p->request_type,
|
||||||
|
p->displayname(),
|
||||||
|
p->build_options,
|
||||||
|
pscfl->source_location,
|
||||||
|
default_ports_dir);
|
||||||
|
}
|
||||||
|
|
||||||
return to_output_string(p->request_type, p->displayname(), p->build_options);
|
return to_output_string(p->request_type, p->displayname(), p->build_options);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -684,7 +684,7 @@ namespace vcpkg::Install
|
|||||||
|
|
||||||
Metrics::g_metrics.lock()->track_property("installplan", specs_string);
|
Metrics::g_metrics.lock()->track_property("installplan", specs_string);
|
||||||
|
|
||||||
Dependencies::print_plan(action_plan, is_recursive);
|
Dependencies::print_plan(action_plan, is_recursive, paths.ports);
|
||||||
|
|
||||||
if (dry_run)
|
if (dry_run)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user