From d717d4119e51d24787ee21a0ae4d8873e0889c93 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Thu, 7 Jan 2021 17:44:45 -0800 Subject: [vcpkg] Add support for --overlay-ports to versioning (#15013) Co-authored-by: Robert Schumacher --- toolsrc/include/vcpkg/dependencies.h | 1 + toolsrc/include/vcpkg/fwd/portfileprovider.h | 1 + toolsrc/include/vcpkg/portfileprovider.h | 12 ++++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) (limited to 'toolsrc/include') diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index f4e061b03..4736bc02c 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -178,6 +178,7 @@ namespace vcpkg::Dependencies /// Status of installed packages in the current environment. ExpectedS create_versioned_install_plan(const PortFileProvider::IVersionedPortfileProvider& vprovider, const PortFileProvider::IBaselineProvider& bprovider, + const PortFileProvider::IOverlayProvider& oprovider, const CMakeVars::CMakeVarProvider& var_provider, const std::vector& deps, const std::vector& overrides, diff --git a/toolsrc/include/vcpkg/fwd/portfileprovider.h b/toolsrc/include/vcpkg/fwd/portfileprovider.h index dc381eb92..a75cfc137 100644 --- a/toolsrc/include/vcpkg/fwd/portfileprovider.h +++ b/toolsrc/include/vcpkg/fwd/portfileprovider.h @@ -6,4 +6,5 @@ namespace vcpkg::PortFileProvider struct PathsPortFileProvider; struct IVersionedPortfileProvider; struct IBaselineProvider; + struct IOverlayProvider; } diff --git a/toolsrc/include/vcpkg/portfileprovider.h b/toolsrc/include/vcpkg/portfileprovider.h index fde28b0df..d297af739 100644 --- a/toolsrc/include/vcpkg/portfileprovider.h +++ b/toolsrc/include/vcpkg/portfileprovider.h @@ -55,6 +55,14 @@ namespace vcpkg::PortFileProvider virtual ~IBaselineProvider() = default; }; - std::unique_ptr make_baseline_provider(const VcpkgPaths&); - std::unique_ptr make_versioned_portfile_provider(const VcpkgPaths&); + struct IOverlayProvider + { + virtual ~IOverlayProvider() = default; + virtual Optional get_control_file(StringView port_name) const = 0; + }; + + std::unique_ptr make_baseline_provider(const vcpkg::VcpkgPaths& paths); + std::unique_ptr make_versioned_portfile_provider(const vcpkg::VcpkgPaths& paths); + std::unique_ptr make_overlay_provider(const vcpkg::VcpkgPaths& paths, + View overlay_ports); } -- cgit v1.2.3