diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-29 18:14:48 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-03-31 18:01:13 -0700 |
| commit | 8e30d0b420ea4883a27b514940ca54778f4f21aa (patch) | |
| tree | 9b97b6e0df5a11bf648bb1427b454754bb6b138a /toolsrc/src/commands_update.cpp | |
| parent | af0e652c484b9554bdce2457a73928682f505c24 (diff) | |
| download | vcpkg-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.cpp | 17 |
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>..."); } |
