From 54341f745c134d740ddc6a6538483070ad5877ef Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 21 Sep 2016 21:43:59 -0700 Subject: MOve recursive upwards search to Files --- toolsrc/src/main.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index d3fb855d1..e9ce4702c 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -23,21 +23,6 @@ void invalid_command(const std::string& cmd) exit(EXIT_FAILURE); } -static fs::path find_file_recursively_up(const fs::path& starting_dir, const std::string& filename) -{ - fs::path current_dir = starting_dir; - for (; !current_dir.empty(); current_dir = current_dir.parent_path()) - { - const fs::path candidate = current_dir / filename; - if (fs::exists(candidate)) - { - break; - } - } - - return current_dir; -} - static void inner(const vcpkg_cmd_arguments& args) { TrackProperty("command", args.command); @@ -67,7 +52,7 @@ static void inner(const vcpkg_cmd_arguments& args) } else { - vcpkg_root_dir = find_file_recursively_up(fs::absolute(System::get_exe_path_of_current_process()), ".vcpkg-root"); + vcpkg_root_dir = Files::find_file_recursively_up(fs::absolute(System::get_exe_path_of_current_process()), ".vcpkg-root"); } } -- cgit v1.2.3 From eba6126d15c393561969870aae7b89bba22163c6 Mon Sep 17 00:00:00 2001 From: Albert Ziegenhagel Date: Thu, 22 Sep 2016 12:00:27 +0200 Subject: Introduced environment variable "VCPKG_DEFAULT_TRIPLET" --- toolsrc/src/main.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index e9ce4702c..65d3738ec 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -69,7 +69,16 @@ static void inner(const vcpkg_cmd_arguments& args) return command_function(args, paths); } - triplet default_target_triplet = triplet::X86_WINDOWS; + triplet default_target_triplet; + const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); + if(!vcpkg_default_triplet_env.empty()) + { + default_target_triplet = {std::string(vcpkg_default_triplet_env.begin(), vcpkg_default_triplet_env.end())}; + } + else + { + default_target_triplet = triplet::X86_WINDOWS; + } if (args.target_triplet != nullptr) { -- cgit v1.2.3 From 4a818b6a3e86514af27381fe16dcf311a5c28ffb Mon Sep 17 00:00:00 2001 From: Albert Ziegenhagel Date: Thu, 22 Sep 2016 13:17:00 +0200 Subject: Fixed encoding of default triplet name --- toolsrc/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index 65d3738ec..2ec2c8fba 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -73,7 +73,7 @@ static void inner(const vcpkg_cmd_arguments& args) const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); if(!vcpkg_default_triplet_env.empty()) { - default_target_triplet = {std::string(vcpkg_default_triplet_env.begin(), vcpkg_default_triplet_env.end())}; + default_target_triplet = {Strings::utf16_to_utf8(vcpkg_default_triplet_env)}; } else { -- cgit v1.2.3 From 31935aa0fd142cbb4e0db1a62ba1483294b740f8 Mon Sep 17 00:00:00 2001 From: Albert Ziegenhagel Date: Fri, 23 Sep 2016 09:44:30 +0200 Subject: Improved error reporting when user provides invalid triplets --- toolsrc/src/main.cpp | 39 +++++++++++++++------------------------ 1 file changed, 15 insertions(+), 24 deletions(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index 2ec2c8fba..a2f6fa10f 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -70,40 +70,31 @@ static void inner(const vcpkg_cmd_arguments& args) } triplet default_target_triplet; - const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); - if(!vcpkg_default_triplet_env.empty()) + if(args.target_triplet != nullptr) { - default_target_triplet = {Strings::utf16_to_utf8(vcpkg_default_triplet_env)}; + default_target_triplet = {*args.target_triplet}; } else { - default_target_triplet = triplet::X86_WINDOWS; - } - - if (args.target_triplet != nullptr) - { - const std::string& target_triplet = *args.target_triplet; - - auto it = fs::directory_iterator(paths.triplets); - for (; it != fs::directory_iterator(); ++it) + const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); + if(!vcpkg_default_triplet_env.empty()) { - std::string triplet_file_name = it->path().stem().generic_u8string(); - if (target_triplet == triplet_file_name) // TODO: fuzzy compare - { - default_target_triplet = {triplet_file_name}; - break; - } + default_target_triplet = {Strings::utf16_to_utf8(vcpkg_default_triplet_env)}; } - - if (it == fs::directory_iterator()) + else { - System::println(System::color::error, "Error: invalid triplet: %s", target_triplet); - TrackProperty("error", "invalid triplet: " + target_triplet); - help_topic_valid_triplet(paths); - exit(EXIT_FAILURE); + default_target_triplet = triplet::X86_WINDOWS; } } + if(!default_target_triplet.validate(paths)) + { + System::println(System::color::error, "Error: invalid triplet: %s", default_target_triplet.value); + TrackProperty("error", "invalid triplet: " + default_target_triplet.value); + help_topic_valid_triplet(paths); + exit(EXIT_FAILURE); + } + if (auto command_function = find_command(args.command, get_available_commands_type_a())) { return command_function(args, paths, default_target_triplet); -- cgit v1.2.3 From fb1130876f228464254e3e818fae42445405f6ed Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 28 Sep 2016 12:39:05 -0700 Subject: Valiting triplets is now the responsibility of vcpkg_paths --- toolsrc/src/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index a2f6fa10f..c7162dce0 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -70,14 +70,14 @@ static void inner(const vcpkg_cmd_arguments& args) } triplet default_target_triplet; - if(args.target_triplet != nullptr) + if (args.target_triplet != nullptr) { default_target_triplet = {*args.target_triplet}; } else { const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); - if(!vcpkg_default_triplet_env.empty()) + if (!vcpkg_default_triplet_env.empty()) { default_target_triplet = {Strings::utf16_to_utf8(vcpkg_default_triplet_env)}; } @@ -87,7 +87,7 @@ static void inner(const vcpkg_cmd_arguments& args) } } - if(!default_target_triplet.validate(paths)) + if (!paths.validate_triplet(default_target_triplet)) { System::println(System::color::error, "Error: invalid triplet: %s", default_target_triplet.value); TrackProperty("error", "invalid triplet: " + default_target_triplet.value); -- cgit v1.2.3 From 8e3ee0523072c9330474a13507782cccb2b2be06 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Thu, 29 Sep 2016 12:35:27 -0700 Subject: Rename validate_triplet to is_valid_triplet --- toolsrc/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index c7162dce0..a317330ff 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -87,7 +87,7 @@ static void inner(const vcpkg_cmd_arguments& args) } } - if (!paths.validate_triplet(default_target_triplet)) + if (!paths.is_valid_triplet(default_target_triplet)) { System::println(System::color::error, "Error: invalid triplet: %s", default_target_triplet.value); TrackProperty("error", "invalid triplet: " + default_target_triplet.value); -- cgit v1.2.3 From 4b0f3d87befb84c819afbf664614281491a784b9 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Fri, 30 Sep 2016 16:54:07 -0700 Subject: Introduce Input::check_triplet() --- toolsrc/src/main.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index a317330ff..b49f2bdef 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -11,6 +11,7 @@ #include #include "vcpkg_Files.h" #include "vcpkg_System.h" +#include "vcpkg_Input.h" using namespace vcpkg; @@ -87,13 +88,7 @@ static void inner(const vcpkg_cmd_arguments& args) } } - if (!paths.is_valid_triplet(default_target_triplet)) - { - System::println(System::color::error, "Error: invalid triplet: %s", default_target_triplet.value); - TrackProperty("error", "invalid triplet: " + default_target_triplet.value); - help_topic_valid_triplet(paths); - exit(EXIT_FAILURE); - } + Input::check_triplet(default_target_triplet, paths); if (auto command_function = find_command(args.command, get_available_commands_type_a())) { -- cgit v1.2.3 From 330b411cd2f4aa25632b2ae5ea2fef396fb13d12 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Mon, 3 Oct 2016 17:20:52 -0700 Subject: [triplet] Force using the factory that does sanity checks --- toolsrc/src/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'toolsrc/src/main.cpp') diff --git a/toolsrc/src/main.cpp b/toolsrc/src/main.cpp index b49f2bdef..f3d68f5dd 100644 --- a/toolsrc/src/main.cpp +++ b/toolsrc/src/main.cpp @@ -73,14 +73,14 @@ static void inner(const vcpkg_cmd_arguments& args) triplet default_target_triplet; if (args.target_triplet != nullptr) { - default_target_triplet = {*args.target_triplet}; + default_target_triplet = triplet::from_canonical_name(*args.target_triplet); } else { const auto vcpkg_default_triplet_env = System::wdupenv_str(L"VCPKG_DEFAULT_TRIPLET"); if (!vcpkg_default_triplet_env.empty()) { - default_target_triplet = {Strings::utf16_to_utf8(vcpkg_default_triplet_env)}; + default_target_triplet = triplet::from_canonical_name(Strings::utf16_to_utf8(vcpkg_default_triplet_env)); } else { -- cgit v1.2.3