aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_update.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-03-29 18:14:48 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-03-31 18:01:13 -0700
commit8e30d0b420ea4883a27b514940ca54778f4f21aa (patch)
tree9b97b6e0df5a11bf648bb1427b454754bb6b138a /toolsrc/src/commands_update.cpp
parentaf0e652c484b9554bdce2457a73928682f505c24 (diff)
downloadvcpkg-8e30d0b420ea4883a27b514940ca54778f4f21aa.tar.gz
vcpkg-8e30d0b420ea4883a27b514940ca54778f4f21aa.zip
`update` needs to use package_spec
Diffstat (limited to 'toolsrc/src/commands_update.cpp')
-rw-r--r--toolsrc/src/commands_update.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/toolsrc/src/commands_update.cpp b/toolsrc/src/commands_update.cpp
index ee2ec6496..701302dfc 100644
--- a/toolsrc/src/commands_update.cpp
+++ b/toolsrc/src/commands_update.cpp
@@ -7,13 +7,18 @@
namespace vcpkg::Commands::Update
{
- std::vector<name_and_version_diff_t> find_outdated_packages(const vcpkg_paths& paths, const StatusParagraphs& status_db)
+ bool outdated_package::compare_by_name(const outdated_package& left, const outdated_package& right)
+ {
+ return left.spec.name() < right.spec.name();
+ }
+
+ std::vector<outdated_package> find_outdated_packages(const vcpkg_paths& paths, const StatusParagraphs& status_db)
{
const std::vector<SourceParagraph> source_paragraphs = Paragraphs::load_all_ports(paths.ports);
const std::map<std::string, version_t> src_names_to_versions = Paragraphs::extract_port_names_and_versions(source_paragraphs);
const std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_db);
- std::vector<name_and_version_diff_t> output;
+ std::vector<outdated_package> output;
for (const StatusParagraph* pgh : installed_packages)
{
auto it = src_names_to_versions.find(pgh->package.spec.name());
@@ -24,7 +29,7 @@ namespace vcpkg::Commands::Update
}
if (it->second != pgh->package.version)
{
- output.push_back({ pgh->package.displayname(), version_diff_t(pgh->package.version, it->second) });
+ output.push_back({ pgh->package.spec, version_diff_t(pgh->package.version, it->second) });
}
}
@@ -39,8 +44,8 @@ namespace vcpkg::Commands::Update
const StatusParagraphs status_db = database_load_check(paths);
- const auto outdated_packages = ImmutableSortedVector<name_and_version_diff_t>::create(find_outdated_packages(paths, status_db),
- &name_and_version_diff_t::compare_by_name);
+ const auto outdated_packages = ImmutableSortedVector<outdated_package>::create(find_outdated_packages(paths, status_db),
+ &outdated_package::compare_by_name);
if (outdated_packages.empty())
{
@@ -51,7 +56,7 @@ namespace vcpkg::Commands::Update
System::println("The following packages differ from their port versions:");
for (auto&& package : outdated_packages)
{
- System::println(" %-27s %s", package.name, package.version_diff.toString());
+ System::println(" %-27s %s", package.spec.display_name(), package.version_diff.toString());
}
System::println("\nTo update these packages, run\n vcpkg remove --purge <pkgs>...\n vcpkg install <pkgs>...");
}