diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-10-04 16:25:17 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-04 16:25:17 -0700 |
| commit | 875a1269be98971d492f0761e0ed3502957b5673 (patch) | |
| tree | 5d6748c384cb46f0df59ced1f7f8dab4bd983bea /toolsrc/include | |
| parent | 40d531e911618c6e2517d9646c39ad538fd0d352 (diff) | |
| parent | c98db7541594eadccf6823d4fdde2ff8c53c5fe9 (diff) | |
| download | vcpkg-875a1269be98971d492f0761e0ed3502957b5673.tar.gz vcpkg-875a1269be98971d492f0761e0ed3502957b5673.zip | |
Merge pull request #1734 from podsvirov/export-ifw
WIP: Export IFW (Beta)
Diffstat (limited to 'toolsrc/include')
| -rw-r--r-- | toolsrc/include/Span.h | 2 | ||||
| -rw-r--r-- | toolsrc/include/VcpkgPaths.h | 6 | ||||
| -rw-r--r-- | toolsrc/include/vcpkg_Commands_Export.h | 8 | ||||
| -rw-r--r-- | toolsrc/include/vcpkg_Commands_Export_IFW.h | 25 |
4 files changed, 41 insertions, 0 deletions
diff --git a/toolsrc/include/Span.h b/toolsrc/include/Span.h index b2c9acdbc..a43e8f992 100644 --- a/toolsrc/include/Span.h +++ b/toolsrc/include/Span.h @@ -2,6 +2,7 @@ #include <array>
#include <cstddef>
+#include <initializer_list>
#include <vector>
template<class T>
@@ -17,6 +18,7 @@ public: constexpr Span(std::nullptr_t) noexcept : Span() {}
constexpr Span(T* ptr, size_t count) noexcept : m_ptr(ptr), m_count(count) {}
constexpr Span(T* ptr_begin, T* ptr_end) noexcept : m_ptr(ptr_begin), m_count(ptr_end - ptr_begin) {}
+ constexpr Span(std::initializer_list<T> l) noexcept : m_ptr(l.begin()), m_count(l.size()) {}
template<size_t N>
constexpr Span(T (&arr)[N]) noexcept : Span(arr, N)
diff --git a/toolsrc/include/VcpkgPaths.h b/toolsrc/include/VcpkgPaths.h index 3c1955204..4b4527434 100644 --- a/toolsrc/include/VcpkgPaths.h +++ b/toolsrc/include/VcpkgPaths.h @@ -58,6 +58,9 @@ namespace vcpkg const fs::path& get_cmake_exe() const; const fs::path& get_git_exe() const; const fs::path& get_nuget_exe() const; + const fs::path& get_ifw_installerbase_exe() const; + const fs::path& get_ifw_binarycreator_exe() const; + const fs::path& get_ifw_repogen_exe() const; /// <summary>Retrieve a toolset matching a VS version</summary> /// <remarks> @@ -71,6 +74,9 @@ namespace vcpkg Lazy<fs::path> cmake_exe; Lazy<fs::path> git_exe; Lazy<fs::path> nuget_exe; + Lazy<fs::path> ifw_installerbase_exe; + Lazy<fs::path> ifw_binarycreator_exe; + Lazy<fs::path> ifw_repogen_exe; Lazy<std::vector<Toolset>> toolsets; Lazy<std::vector<Toolset>> toolsets_vs2017_v140; }; diff --git a/toolsrc/include/vcpkg_Commands_Export.h b/toolsrc/include/vcpkg_Commands_Export.h new file mode 100644 index 000000000..6e698c1b4 --- /dev/null +++ b/toolsrc/include/vcpkg_Commands_Export.h @@ -0,0 +1,8 @@ +#pragma once + +#include "VcpkgPaths.h" + +namespace vcpkg::Commands::Export +{ + void export_integration_files(const fs::path& raw_exported_dir_path, const VcpkgPaths& paths); +} diff --git a/toolsrc/include/vcpkg_Commands_Export_IFW.h b/toolsrc/include/vcpkg_Commands_Export_IFW.h new file mode 100644 index 000000000..7bee45eaf --- /dev/null +++ b/toolsrc/include/vcpkg_Commands_Export_IFW.h @@ -0,0 +1,25 @@ +#pragma once + +#include "VcpkgPaths.h" +#include "vcpkg_Dependencies.h" +#include "vcpkg_Files.h" + +#include <string> +#include <vector> + +namespace vcpkg::Commands::Export::IFW +{ + struct Options + { + Optional<std::string> maybe_repository_url; + Optional<std::string> maybe_packages_dir_path; + Optional<std::string> maybe_repository_dir_path; + Optional<std::string> maybe_config_file_path; + Optional<std::string> maybe_installer_file_path; + }; + + void do_export(const std::vector<Dependencies::ExportPlanAction>& export_plan, + const std::string& export_id, + const Options& ifw_options, + const VcpkgPaths& paths); +} |
