From 838e8783d659456037c0e8e89dcc689e626b6816 Mon Sep 17 00:00:00 2001 From: Daniel Shaw Date: Mon, 26 Jun 2017 13:48:04 -0700 Subject: adding tests for install plans --- toolsrc/include/vcpkg_Dependencies.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'toolsrc/include') diff --git a/toolsrc/include/vcpkg_Dependencies.h b/toolsrc/include/vcpkg_Dependencies.h index 018c4f5cf..da31aa4bf 100644 --- a/toolsrc/include/vcpkg_Dependencies.h +++ b/toolsrc/include/vcpkg_Dependencies.h @@ -97,7 +97,24 @@ namespace vcpkg::Dependencies RequestType request_type; }; - std::vector create_install_plan(const VcpkgPaths& paths, + __interface PortFileProvider { virtual const SourceControlFile* get_control_file(const PackageSpec& spec) const; }; + + struct MapPortFile : PortFileProvider + { + const std::unordered_map& ports; + explicit MapPortFile(const std::unordered_map& map); + const SourceControlFile* get_control_file(const PackageSpec& spec) const override; + }; + + struct PathsPortFile : PortFileProvider + { + const VcpkgPaths& ports; + mutable std::unordered_map cache; + explicit PathsPortFile(const VcpkgPaths& paths); + const SourceControlFile* get_control_file(const PackageSpec& spec) const override; + }; + + std::vector create_install_plan(const PortFileProvider& port_file_provider, const std::vector& specs, const StatusParagraphs& status_db); -- cgit v1.2.3