aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
authorras0219 <533828+ras0219@users.noreply.github.com>2021-01-07 17:44:45 -0800
committerGitHub <noreply@github.com>2021-01-07 17:44:45 -0800
commitd717d4119e51d24787ee21a0ae4d8873e0889c93 (patch)
tree0726765f5fe0d654f671e6fc3d9744fa7594496b /toolsrc/include
parentd1ef42c0fd7b9d5ac90be74df62b12e1184d02a1 (diff)
downloadvcpkg-d717d4119e51d24787ee21a0ae4d8873e0889c93.tar.gz
vcpkg-d717d4119e51d24787ee21a0ae4d8873e0889c93.zip
[vcpkg] Add support for --overlay-ports to versioning (#15013)
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/vcpkg/dependencies.h1
-rw-r--r--toolsrc/include/vcpkg/fwd/portfileprovider.h1
-rw-r--r--toolsrc/include/vcpkg/portfileprovider.h12
3 files changed, 12 insertions, 2 deletions
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
/// <param name="status_db">Status of installed packages in the current environment.</param>
ExpectedS<ActionPlan> create_versioned_install_plan(const PortFileProvider::IVersionedPortfileProvider& vprovider,
const PortFileProvider::IBaselineProvider& bprovider,
+ const PortFileProvider::IOverlayProvider& oprovider,
const CMakeVars::CMakeVarProvider& var_provider,
const std::vector<Dependency>& deps,
const std::vector<DependencyOverride>& 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<IBaselineProvider> make_baseline_provider(const VcpkgPaths&);
- std::unique_ptr<IVersionedPortfileProvider> make_versioned_portfile_provider(const VcpkgPaths&);
+ struct IOverlayProvider
+ {
+ virtual ~IOverlayProvider() = default;
+ virtual Optional<const SourceControlFileLocation&> get_control_file(StringView port_name) const = 0;
+ };
+
+ std::unique_ptr<IBaselineProvider> make_baseline_provider(const vcpkg::VcpkgPaths& paths);
+ std::unique_ptr<IVersionedPortfileProvider> make_versioned_portfile_provider(const vcpkg::VcpkgPaths& paths);
+ std::unique_ptr<IOverlayProvider> make_overlay_provider(const vcpkg::VcpkgPaths& paths,
+ View<std::string> overlay_ports);
}