aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2016-09-23 14:25:17 -0700
committerRobert Schumacher <roschuma@microsoft.com>2016-09-23 14:25:17 -0700
commitf4196f1638ad41cd640f4a57cefbcdb422724133 (patch)
tree919afd25e7fc49255701cb7889b5a051306ecfce /toolsrc/src
parent8a8180503d8217959d96a9f2b9fc6366d67c1354 (diff)
downloadvcpkg-f4196f1638ad41cd640f4a57cefbcdb422724133.tar.gz
vcpkg-f4196f1638ad41cd640f4a57cefbcdb422724133.zip
[vcpkg] Move find_available_package, find_available_port_file into vcpkg_paths.
`vcpkg_paths` is responsible for binding the concrete filesystem representation to the abstract `package_spec`.
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/commands_installation.cpp2
-rw-r--r--toolsrc/src/lib.cpp21
-rw-r--r--toolsrc/src/vcpkg_paths.cpp11
3 files changed, 15 insertions, 19 deletions
diff --git a/toolsrc/src/commands_installation.cpp b/toolsrc/src/commands_installation.cpp
index 35e1ba28c..f0e963bb6 100644
--- a/toolsrc/src/commands_installation.cpp
+++ b/toolsrc/src/commands_installation.cpp
@@ -80,7 +80,7 @@ namespace vcpkg
continue;
}
- fs::path package_path = find_available_package(paths, spec);
+ fs::path package_path = paths.find_available_package(spec);
expected<std::string> file_contents = Files::get_contents(package_path / "CONTROL");
diff --git a/toolsrc/src/lib.cpp b/toolsrc/src/lib.cpp
index 2a3b95182..780067870 100644
--- a/toolsrc/src/lib.cpp
+++ b/toolsrc/src/lib.cpp
@@ -133,24 +133,9 @@ static std::string get_fullpkgname_from_listfile(const fs::path& path)
return ret;
}
-fs::path vcpkg::control_file_for_package(const fs::path& package)
-{
- return package / "CONTROL";
-}
-
-fs::path vcpkg::find_available_package(const vcpkg_paths& paths, const package_spec& spec)
-{
- return paths.packages / Strings::format("%s_%s", spec.name, spec.target_triplet);
-}
-
-fs::path vcpkg::find_available_port_file(const vcpkg_paths& paths, const package_spec& spec)
-{
- return paths.ports / spec.name;
-}
-
static fs::path prefix_path_for_package(const vcpkg_paths& paths, const BinaryParagraph& pgh)
{
- return find_available_package(paths, {pgh.name, pgh.target_triplet});
+ return paths.find_available_package({pgh.name, pgh.target_triplet});
}
static void write_update(const vcpkg_paths& paths, const StatusParagraph& p)
@@ -228,7 +213,7 @@ static void install_and_write_listfile(const vcpkg_paths& paths, const BinaryPar
std::vector<std::string> vcpkg::get_unmet_package_dependencies(const vcpkg_paths& paths, const package_spec& spec, const StatusParagraphs& status_db)
{
std::vector<std::unordered_map<std::string, std::string>> pghs;
- const fs::path packages_dir_control_file_path = find_available_package(paths, spec) / "CONTROL";
+ const fs::path packages_dir_control_file_path = paths.find_available_package(spec) / "CONTROL";
if (fs::exists(packages_dir_control_file_path))
{
@@ -245,7 +230,7 @@ std::vector<std::string> vcpkg::get_unmet_package_dependencies(const vcpkg_paths
return BinaryParagraph(pghs[0]).depends;
}
- const fs::path ports_dir_control_file_path = find_available_port_file(paths, spec) / "CONTROL";
+ const fs::path ports_dir_control_file_path = paths.find_available_port_file(spec) / "CONTROL";
try
{
pghs = get_paragraphs(ports_dir_control_file_path);
diff --git a/toolsrc/src/vcpkg_paths.cpp b/toolsrc/src/vcpkg_paths.cpp
index 10b6d992a..dfcfd5eca 100644
--- a/toolsrc/src/vcpkg_paths.cpp
+++ b/toolsrc/src/vcpkg_paths.cpp
@@ -3,6 +3,7 @@
#include "vcpkg_paths.h"
#include "metrics.h"
#include "vcpkg_System.h"
+#include "package_spec.h"
namespace fs = std::tr2::sys;
@@ -45,4 +46,14 @@ namespace vcpkg
paths.ports_cmake = paths.root / "scripts" / "ports.cmake";
return paths;
}
+
+ fs::path vcpkg_paths::find_available_package(const package_spec& spec) const
+ {
+ return this->packages / Strings::format("%s_%s", spec.name, spec.target_triplet);
+ }
+
+ fs::path vcpkg_paths::find_available_port_file(const package_spec& spec) const
+ {
+ return this->ports / spec.name;
+ }
}