aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2017-10-26 19:14:32 -0700
committerAlexander Karatarakis <alkarata@microsoft.com>2017-10-26 19:17:12 -0700
commit79ebd26605e0f621f848206000a5b1c7239d5f37 (patch)
tree1d8ea68c4ba6385608b70bba44573ec674f198b8
parent2c9536ce4fe0ac755e188617ce61076b26646100 (diff)
downloadvcpkg-79ebd26605e0f621f848206000a5b1c7239d5f37.tar.gz
vcpkg-79ebd26605e0f621f848206000a5b1c7239d5f37.zip
Remove VcpkgCmdArguments.check_and_get_optional_command_arguments() overload
Also, use Util::Sets::contains() where possible.
-rw-r--r--toolsrc/include/vcpkg/build.h2
-rw-r--r--toolsrc/include/vcpkg/vcpkgcmdarguments.h5
-rw-r--r--toolsrc/src/vcpkg/build.cpp7
-rw-r--r--toolsrc/src/vcpkg/commands.buildexternal.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.cache.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.contact.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.create.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.dependinfo.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.edit.cpp5
-rw-r--r--toolsrc/src/vcpkg/commands.env.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.hash.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.import.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.integrate.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.list.cpp7
-rw-r--r--toolsrc/src/vcpkg/commands.owns.cpp4
-rw-r--r--toolsrc/src/vcpkg/commands.portsdiff.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.search.cpp19
-rw-r--r--toolsrc/src/vcpkg/commands.version.cpp2
-rw-r--r--toolsrc/src/vcpkg/help.cpp2
-rw-r--r--toolsrc/src/vcpkg/install.cpp16
-rw-r--r--toolsrc/src/vcpkg/remove.cpp14
-rw-r--r--toolsrc/src/vcpkg/update.cpp2
22 files changed, 48 insertions, 57 deletions
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index bf52e54b2..94d9fddf5 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -20,7 +20,7 @@ namespace vcpkg::Build
{
void perform_and_exit(const FullPackageSpec& full_spec,
const fs::path& port_dir,
- const std::unordered_set<std::string>& options,
+ const ParsedArguments& options,
const VcpkgPaths& paths);
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet);
diff --git a/toolsrc/include/vcpkg/vcpkgcmdarguments.h b/toolsrc/include/vcpkg/vcpkgcmdarguments.h
index d9895f4b8..e59979ad1 100644
--- a/toolsrc/include/vcpkg/vcpkgcmdarguments.h
+++ b/toolsrc/include/vcpkg/vcpkgcmdarguments.h
@@ -34,11 +34,6 @@ namespace vcpkg
std::string command;
std::vector<std::string> command_arguments;
- std::unordered_set<std::string> check_and_get_optional_command_arguments(
- const std::vector<std::string>& valid_options) const
- {
- return std::move(check_and_get_optional_command_arguments(valid_options, {}).switches);
- }
ParsedArguments check_and_get_optional_command_arguments(const std::vector<std::string>& valid_switches,
const std::vector<std::string>& valid_settings) const;
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index c26dcc591..30a6a791c 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -30,11 +30,11 @@ namespace vcpkg::Build::Command
void perform_and_exit(const FullPackageSpec& full_spec,
const fs::path& port_dir,
- const std::unordered_set<std::string>& options,
+ const ParsedArguments& options,
const VcpkgPaths& paths)
{
const PackageSpec& spec = full_spec.package_spec;
- if (options.find(OPTION_CHECKS_ONLY) != options.end())
+ if (Util::Sets::contains(options.switches, OPTION_CHECKS_ONLY))
{
const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, spec.triplet());
const auto build_info = Build::read_build_info(paths.get_filesystem(), paths.build_info_file_path(spec));
@@ -107,8 +107,7 @@ namespace vcpkg::Build::Command
const std::string command_argument = args.command_arguments.at(0);
const FullPackageSpec spec = Input::check_and_get_full_package_spec(command_argument, default_triplet, EXAMPLE);
Input::check_triplet(spec.package_spec.triplet(), paths);
- const std::unordered_set<std::string> options =
- args.check_and_get_optional_command_arguments({OPTION_CHECKS_ONLY});
+ const ParsedArguments options = args.check_and_get_optional_command_arguments({OPTION_CHECKS_ONLY}, {});
perform_and_exit(spec, paths.port_dir(spec.package_spec), options, paths);
}
}
diff --git a/toolsrc/src/vcpkg/commands.buildexternal.cpp b/toolsrc/src/vcpkg/commands.buildexternal.cpp
index 3991beb62..2cc7aabde 100644
--- a/toolsrc/src/vcpkg/commands.buildexternal.cpp
+++ b/toolsrc/src/vcpkg/commands.buildexternal.cpp
@@ -15,7 +15,7 @@ namespace vcpkg::Commands::BuildExternal
const FullPackageSpec spec =
Input::check_and_get_full_package_spec(args.command_arguments.at(0), default_triplet, EXAMPLE);
Input::check_triplet(spec.package_spec.triplet(), paths);
- const std::unordered_set<std::string> options = args.check_and_get_optional_command_arguments({});
+ const ParsedArguments options = args.check_and_get_optional_command_arguments({}, {});
const fs::path port_dir = args.command_arguments.at(1);
Build::Command::perform_and_exit(spec, port_dir, options, paths);
diff --git a/toolsrc/src/vcpkg/commands.cache.cpp b/toolsrc/src/vcpkg/commands.cache.cpp
index 77f0a20f6..64a3169b1 100644
--- a/toolsrc/src/vcpkg/commands.cache.cpp
+++ b/toolsrc/src/vcpkg/commands.cache.cpp
@@ -32,7 +32,7 @@ namespace vcpkg::Commands::Cache
"The argument should be a substring to search for, or no argument to display all cached libraries.\n%s",
Help::create_example_string("cache png"));
args.check_max_arg_count(1, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
const std::vector<BinaryParagraph> binary_paragraphs = read_all_binary_paragraphs(paths);
if (binary_paragraphs.empty())
diff --git a/toolsrc/src/vcpkg/commands.contact.cpp b/toolsrc/src/vcpkg/commands.contact.cpp
index 421b8a230..5694c1fa6 100644
--- a/toolsrc/src/vcpkg/commands.contact.cpp
+++ b/toolsrc/src/vcpkg/commands.contact.cpp
@@ -14,7 +14,7 @@ namespace vcpkg::Commands::Contact
void perform_and_exit(const VcpkgCmdArguments& args)
{
args.check_exact_arg_count(0);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
System::println("Send an email to %s with any feedback.", email());
Checks::exit_success(VCPKG_LINE_INFO);
diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp
index 85763f25e..f1acacd14 100644
--- a/toolsrc/src/vcpkg/commands.create.cpp
+++ b/toolsrc/src/vcpkg/commands.create.cpp
@@ -14,7 +14,7 @@ namespace vcpkg::Commands::Create
R"###(create zlib2 http://zlib.net/zlib1211.zip "zlib1211-2.zip")###");
args.check_max_arg_count(3, EXAMPLE);
args.check_min_arg_count(2, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
const std::string port_name = args.command_arguments.at(0);
const std::string url = args.command_arguments.at(1);
diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp
index 89c7e0c7f..e5554f7e2 100644
--- a/toolsrc/src/vcpkg/commands.dependinfo.cpp
+++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp
@@ -13,7 +13,7 @@ namespace vcpkg::Commands::DependInfo
{
static const std::string EXAMPLE = Help::create_example_string(R"###(depend-info [pat])###");
args.check_max_arg_count(1, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
std::vector<std::unique_ptr<SourceControlFile>> source_control_files =
Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp
index 668ec9b1a..bf618e256 100644
--- a/toolsrc/src/vcpkg/commands.edit.cpp
+++ b/toolsrc/src/vcpkg/commands.edit.cpp
@@ -65,8 +65,7 @@ namespace vcpkg::Commands::Edit
static const std::string EXAMPLE = Help::create_example_string("edit zlib");
args.check_exact_arg_count(1, EXAMPLE);
- const std::unordered_set<std::string> options =
- args.check_and_get_optional_command_arguments({OPTION_BUILDTREES});
+ const ParsedArguments options = args.check_and_get_optional_command_arguments({OPTION_BUILDTREES}, {});
const std::string port_name = args.command_arguments.at(0);
const fs::path portpath = paths.ports / port_name;
@@ -95,7 +94,7 @@ namespace vcpkg::Commands::Edit
}
const fs::path env_editor = *it;
- if (options.find(OPTION_BUILDTREES) != options.cend())
+ if (Util::Sets::contains(options.switches, OPTION_BUILDTREES))
{
const auto buildtrees_current_dir = paths.buildtrees / port_name;
diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp
index 9f8ae5207..c0d26dac2 100644
--- a/toolsrc/src/vcpkg/commands.env.cpp
+++ b/toolsrc/src/vcpkg/commands.env.cpp
@@ -11,7 +11,7 @@ namespace vcpkg::Commands::Env
{
static const std::string EXAMPLE = Help::create_example_string(R"(env --triplet x64-windows)");
args.check_exact_arg_count(0, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, default_triplet);
const Toolset& toolset = paths.get_toolset(pre_build_info.platform_toolset, pre_build_info.visual_studio_path);
diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp
index 4bc58b509..51f6b9ad0 100644
--- a/toolsrc/src/vcpkg/commands.hash.cpp
+++ b/toolsrc/src/vcpkg/commands.hash.cpp
@@ -34,7 +34,7 @@ namespace vcpkg::Commands::Hash
Help::create_example_string("hash boost_1_62_0.tar.bz2"));
args.check_min_arg_count(1, EXAMPLE);
args.check_max_arg_count(2, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
if (args.command_arguments.size() == 1)
{
diff --git a/toolsrc/src/vcpkg/commands.import.cpp b/toolsrc/src/vcpkg/commands.import.cpp
index 119aee022..5e74b6d94 100644
--- a/toolsrc/src/vcpkg/commands.import.cpp
+++ b/toolsrc/src/vcpkg/commands.import.cpp
@@ -97,7 +97,7 @@ namespace vcpkg::Commands::Import
static const std::string EXAMPLE = Help::create_example_string(
R"(import C:\path\to\CONTROLfile C:\path\to\includedir C:\path\to\projectdir)");
args.check_exact_arg_count(3, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
const fs::path control_file_path(args.command_arguments[0]);
const fs::path include_directory(args.command_arguments[1]);
diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp
index 27e563cfa..604bd2c6e 100644
--- a/toolsrc/src/vcpkg/commands.integrate.cpp
+++ b/toolsrc/src/vcpkg/commands.integrate.cpp
@@ -359,7 +359,7 @@ With a project open, go to Tools->NuGet Package Manager->Package Manager Console
"%s",
INTEGRATE_COMMAND_HELPSTRING);
args.check_exact_arg_count(1, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
#if defined(_WIN32)
if (args.command_arguments[0] == Subcommand::INSTALL)
diff --git a/toolsrc/src/vcpkg/commands.list.cpp b/toolsrc/src/vcpkg/commands.list.cpp
index d0e8e00b4..145d4c931 100644
--- a/toolsrc/src/vcpkg/commands.list.cpp
+++ b/toolsrc/src/vcpkg/commands.list.cpp
@@ -30,8 +30,7 @@ namespace vcpkg::Commands::List
"The argument should be a substring to search for, or no argument to display all installed libraries.\n%s",
Help::create_example_string("list png"));
args.check_max_arg_count(1, EXAMPLE);
- const std::unordered_set<std::string> options =
- args.check_and_get_optional_command_arguments({OPTION_FULLDESC});
+ const ParsedArguments options = args.check_and_get_optional_command_arguments({OPTION_FULLDESC}, {});
const StatusParagraphs status_paragraphs = database_load_check(paths);
std::vector<StatusParagraph*> installed_packages = get_installed_ports(status_paragraphs);
@@ -52,7 +51,7 @@ namespace vcpkg::Commands::List
{
for (const StatusParagraph* status_paragraph : installed_packages)
{
- do_print(*status_paragraph, options.find(OPTION_FULLDESC) != options.cend());
+ do_print(*status_paragraph, Util::Sets::contains(options.switches, OPTION_FULLDESC));
}
}
else
@@ -66,7 +65,7 @@ namespace vcpkg::Commands::List
continue;
}
- do_print(*status_paragraph, options.find(OPTION_FULLDESC) != options.cend());
+ do_print(*status_paragraph, Util::Sets::contains(options.switches, OPTION_FULLDESC));
}
}
diff --git a/toolsrc/src/vcpkg/commands.owns.cpp b/toolsrc/src/vcpkg/commands.owns.cpp
index 69079e829..b2db966e1 100644
--- a/toolsrc/src/vcpkg/commands.owns.cpp
+++ b/toolsrc/src/vcpkg/commands.owns.cpp
@@ -29,9 +29,9 @@ namespace vcpkg::Commands::Owns
static const std::string EXAMPLE = Strings::format("The argument should be a pattern to search for. %s",
Help::create_example_string("owns zlib.dll"));
args.check_exact_arg_count(1, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
- StatusParagraphs status_db = database_load_check(paths);
+ const StatusParagraphs status_db = database_load_check(paths);
search_file(paths, args.command_arguments[0], status_db);
Checks::exit_success(VCPKG_LINE_INFO);
}
diff --git a/toolsrc/src/vcpkg/commands.portsdiff.cpp b/toolsrc/src/vcpkg/commands.portsdiff.cpp
index a8c043751..5008f3e8a 100644
--- a/toolsrc/src/vcpkg/commands.portsdiff.cpp
+++ b/toolsrc/src/vcpkg/commands.portsdiff.cpp
@@ -120,7 +120,7 @@ namespace vcpkg::Commands::PortsDiff
Help::create_example_string("portsdiff mybranchname"));
args.check_min_arg_count(1, EXAMPLE);
args.check_max_arg_count(2, EXAMPLE);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
const fs::path& git_exe = paths.get_git_exe();
diff --git a/toolsrc/src/vcpkg/commands.search.cpp b/toolsrc/src/vcpkg/commands.search.cpp
index 3ba8707de..ad3046e6d 100644
--- a/toolsrc/src/vcpkg/commands.search.cpp
+++ b/toolsrc/src/vcpkg/commands.search.cpp
@@ -85,12 +85,13 @@ namespace vcpkg::Commands::Search
"The argument should be a substring to search for, or no argument to display all libraries.\n%s",
Help::create_example_string("search png"));
args.check_max_arg_count(1, EXAMPLE);
- const std::unordered_set<std::string> options =
- args.check_and_get_optional_command_arguments({OPTION_GRAPH, OPTION_FULLDESC});
+ const ParsedArguments options =
+ args.check_and_get_optional_command_arguments({OPTION_GRAPH, OPTION_FULLDESC}, {});
+ const bool full_description = Util::Sets::contains(options.switches, OPTION_FULLDESC);
auto source_paragraphs = Paragraphs::load_all_ports(paths.get_filesystem(), paths.ports);
- if (options.find(OPTION_GRAPH) != options.cend())
+ if (Util::Sets::contains(options.switches, OPTION_GRAPH))
{
const std::string graph_as_string = create_graph_as_string(source_paragraphs);
System::println(graph_as_string);
@@ -101,12 +102,10 @@ namespace vcpkg::Commands::Search
{
for (const auto& source_control_file : source_paragraphs)
{
- do_print(*source_control_file->core_paragraph, options.find(OPTION_FULLDESC) != options.cend());
+ do_print(*source_control_file->core_paragraph, full_description);
for (auto&& feature_paragraph : source_control_file->feature_paragraphs)
{
- do_print(source_control_file->core_paragraph->name,
- *feature_paragraph,
- options.find(OPTION_FULLDESC) != options.cend());
+ do_print(source_control_file->core_paragraph->name, *feature_paragraph, full_description);
}
}
}
@@ -120,10 +119,10 @@ namespace vcpkg::Commands::Search
{
auto&& sp = *source_control_file->core_paragraph;
- bool contains_name = icontains(sp.name, args_zero);
+ const bool contains_name = icontains(sp.name, args_zero);
if (contains_name || icontains(sp.description, args_zero))
{
- do_print(sp, options.find(OPTION_FULLDESC) != options.cend());
+ do_print(sp, full_description);
}
for (auto&& feature_paragraph : source_control_file->feature_paragraphs)
@@ -131,7 +130,7 @@ namespace vcpkg::Commands::Search
if (contains_name || icontains(feature_paragraph->name, args_zero) ||
icontains(feature_paragraph->description, args_zero))
{
- do_print(sp.name, *feature_paragraph, options.find(OPTION_FULLDESC) != options.cend());
+ do_print(sp.name, *feature_paragraph, full_description);
}
}
}
diff --git a/toolsrc/src/vcpkg/commands.version.cpp b/toolsrc/src/vcpkg/commands.version.cpp
index 403c355b5..e8756a77d 100644
--- a/toolsrc/src/vcpkg/commands.version.cpp
+++ b/toolsrc/src/vcpkg/commands.version.cpp
@@ -65,7 +65,7 @@ namespace vcpkg::Commands::Version
void perform_and_exit(const VcpkgCmdArguments& args)
{
args.check_exact_arg_count(0);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
System::println("Vcpkg package management program version %s\n"
"\n"
diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp
index 2a0578211..8783833f2 100644
--- a/toolsrc/src/vcpkg/help.cpp
+++ b/toolsrc/src/vcpkg/help.cpp
@@ -94,7 +94,7 @@ namespace vcpkg::Help
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
args.check_max_arg_count(1);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
if (args.command_arguments.empty())
{
diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp
index 76e943e8c..7bab740be 100644
--- a/toolsrc/src/vcpkg/install.cpp
+++ b/toolsrc/src/vcpkg/install.cpp
@@ -351,7 +351,7 @@ namespace vcpkg::Install
Checks::unreachable(VCPKG_LINE_INFO);
}
- static void print_plan(const std::vector<AnyAction>& action_plan, bool is_recursive)
+ static void print_plan(const std::vector<AnyAction>& action_plan, const bool is_recursive)
{
std::vector<const RemovePlanAction*> remove_plans;
std::vector<const InstallPlanAction*> rebuilt_plans;
@@ -592,13 +592,13 @@ namespace vcpkg::Install
}
}
- const std::unordered_set<std::string> options = args.check_and_get_optional_command_arguments(
- {OPTION_DRY_RUN, OPTION_USE_HEAD_VERSION, OPTION_NO_DOWNLOADS, OPTION_RECURSE, OPTION_KEEP_GOING});
- const bool dry_run = options.find(OPTION_DRY_RUN) != options.cend();
- const bool use_head_version = options.find(OPTION_USE_HEAD_VERSION) != options.cend();
- const bool no_downloads = options.find(OPTION_NO_DOWNLOADS) != options.cend();
- const bool is_recursive = options.find(OPTION_RECURSE) != options.cend();
- const KeepGoing keep_going = to_keep_going(options.find(OPTION_KEEP_GOING) != options.cend());
+ const ParsedArguments options = args.check_and_get_optional_command_arguments(
+ {OPTION_DRY_RUN, OPTION_USE_HEAD_VERSION, OPTION_NO_DOWNLOADS, OPTION_RECURSE, OPTION_KEEP_GOING}, {});
+ const bool dry_run = Util::Sets::contains(options.switches, OPTION_DRY_RUN);
+ const bool use_head_version = Util::Sets::contains(options.switches, (OPTION_USE_HEAD_VERSION));
+ const bool no_downloads = Util::Sets::contains(options.switches, (OPTION_NO_DOWNLOADS));
+ const bool is_recursive = Util::Sets::contains(options.switches, (OPTION_RECURSE));
+ const KeepGoing keep_going = to_keep_going(Util::Sets::contains(options.switches, OPTION_KEEP_GOING));
// create the plan
StatusParagraphs status_db = database_load_check(paths);
diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp
index 6f555b9b8..156f23003 100644
--- a/toolsrc/src/vcpkg/remove.cpp
+++ b/toolsrc/src/vcpkg/remove.cpp
@@ -198,12 +198,12 @@ namespace vcpkg::Remove
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
{
static const std::string EXAMPLE = Help::create_example_string("remove zlib zlib:x64-windows curl boost");
- const std::unordered_set<std::string> options = args.check_and_get_optional_command_arguments(
- {OPTION_PURGE, OPTION_NO_PURGE, OPTION_RECURSE, OPTION_DRY_RUN, OPTION_OUTDATED});
+ const ParsedArguments options = args.check_and_get_optional_command_arguments(
+ {OPTION_PURGE, OPTION_NO_PURGE, OPTION_RECURSE, OPTION_DRY_RUN, OPTION_OUTDATED}, {});
StatusParagraphs status_db = database_load_check(paths);
std::vector<PackageSpec> specs;
- if (options.find(OPTION_OUTDATED) != options.cend())
+ if (Util::Sets::contains(options.switches, OPTION_OUTDATED))
{
args.check_exact_arg_count(0, EXAMPLE);
specs = Util::fmap(Update::find_outdated_packages(paths, status_db),
@@ -226,8 +226,8 @@ namespace vcpkg::Remove
Input::check_triplet(spec.triplet(), paths);
}
- const bool no_purge_was_passed = options.find(OPTION_NO_PURGE) != options.end();
- const bool purge_was_passed = options.find(OPTION_PURGE) != options.end();
+ const bool no_purge_was_passed = Util::Sets::contains(options.switches, OPTION_NO_PURGE);
+ const bool purge_was_passed = Util::Sets::contains(options.switches, OPTION_PURGE);
if (purge_was_passed && no_purge_was_passed)
{
System::println(System::Color::error, "Error: cannot specify both --no-purge and --purge.");
@@ -235,8 +235,8 @@ namespace vcpkg::Remove
Checks::exit_fail(VCPKG_LINE_INFO);
}
const Purge purge = to_purge(purge_was_passed || !no_purge_was_passed);
- const bool is_recursive = options.find(OPTION_RECURSE) != options.cend();
- const bool dry_run = options.find(OPTION_DRY_RUN) != options.cend();
+ const bool is_recursive = Util::Sets::contains(options.switches, OPTION_RECURSE);
+ const bool dry_run = Util::Sets::contains(options.switches, OPTION_DRY_RUN);
const std::vector<RemovePlanAction> remove_plan = Dependencies::create_remove_plan(specs, status_db);
Checks::check_exit(VCPKG_LINE_INFO, !remove_plan.empty(), "Remove plan cannot be empty");
diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp
index 168949bc1..7d565251e 100644
--- a/toolsrc/src/vcpkg/update.cpp
+++ b/toolsrc/src/vcpkg/update.cpp
@@ -41,7 +41,7 @@ namespace vcpkg::Update
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
args.check_exact_arg_count(0);
- args.check_and_get_optional_command_arguments({});
+ args.check_and_get_optional_command_arguments({}, {});
System::println("Using local portfile versions. To update the local portfiles, use `git pull`.");
const StatusParagraphs status_db = database_load_check(paths);