aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include
diff options
context:
space:
mode:
Diffstat (limited to 'toolsrc/include')
-rw-r--r--toolsrc/include/vcpkg/base/files.h2
-rw-r--r--toolsrc/include/vcpkg/binarycaching.h2
-rw-r--r--toolsrc/include/vcpkg/build.h51
-rw-r--r--toolsrc/include/vcpkg/install.h1
-rw-r--r--toolsrc/include/vcpkg/vcpkgpaths.h2
5 files changed, 38 insertions, 20 deletions
diff --git a/toolsrc/include/vcpkg/base/files.h b/toolsrc/include/vcpkg/base/files.h
index 7676b49a0..68ef2dbcd 100644
--- a/toolsrc/include/vcpkg/base/files.h
+++ b/toolsrc/include/vcpkg/base/files.h
@@ -163,8 +163,10 @@ namespace vcpkg::Files
virtual bool is_empty(const fs::path& path) const = 0;
virtual bool create_directory(const fs::path& path, std::error_code& ec) = 0;
bool create_directory(const fs::path& path, ignore_errors_t);
+ bool create_directory(const fs::path& path, LineInfo li);
virtual bool create_directories(const fs::path& path, std::error_code& ec) = 0;
bool create_directories(const fs::path& path, ignore_errors_t);
+ bool create_directories(const fs::path& path, LineInfo);
virtual void copy(const fs::path& oldpath, const fs::path& newpath, fs::copy_options opts) = 0;
virtual bool copy_file(const fs::path& oldpath,
const fs::path& newpath,
diff --git a/toolsrc/include/vcpkg/binarycaching.h b/toolsrc/include/vcpkg/binarycaching.h
index c1db1f169..24c81b905 100644
--- a/toolsrc/include/vcpkg/binarycaching.h
+++ b/toolsrc/include/vcpkg/binarycaching.h
@@ -35,8 +35,6 @@ namespace vcpkg
virtual RestoreResult try_restore(const VcpkgPaths& paths, const Dependencies::InstallPlanAction& action) = 0;
/// Called upon a successful build of `action`
virtual void push_success(const VcpkgPaths& paths, const Dependencies::InstallPlanAction& action) = 0;
- /// Called upon a failure during the build of `action`
- virtual void push_failure(const VcpkgPaths& paths, const std::string& abi_tag, const PackageSpec& spec) = 0;
/// Requests the result of `try_restore()` without actually downloading the package. Used by CI to determine
/// missing packages.
virtual RestoreResult precheck(const VcpkgPaths& paths, const Dependencies::InstallPlanAction& action) = 0;
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index 804cb6673..ea9f86fef 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -35,17 +35,40 @@ namespace vcpkg::System
namespace vcpkg::Build
{
+ enum class BuildResult
+ {
+ NULLVALUE = 0,
+ SUCCEEDED,
+ BUILD_FAILED,
+ POST_BUILD_CHECKS_FAILED,
+ FILE_CONFLICTS,
+ CASCADED_DUE_TO_MISSING_DEPENDENCIES,
+ EXCLUDED,
+ DOWNLOADED
+ };
+
+ struct IBuildLogsRecorder
+ {
+ virtual void record_build_result(const VcpkgPaths& paths,
+ const PackageSpec& spec,
+ BuildResult result) const = 0;
+ };
+
+ const IBuildLogsRecorder& null_build_logs_recorder() noexcept;
+
namespace Command
{
int perform_ex(const FullPackageSpec& full_spec,
const SourceControlFileLocation& scfl,
const PortFileProvider::PathsPortFileProvider& provider,
IBinaryProvider& binaryprovider,
+ const IBuildLogsRecorder& build_logs_recorder,
const VcpkgPaths& paths);
void perform_and_exit_ex(const FullPackageSpec& full_spec,
const SourceControlFileLocation& scfl,
const PortFileProvider::PathsPortFileProvider& provider,
IBinaryProvider& binaryprovider,
+ const IBuildLogsRecorder& build_logs_recorder,
const VcpkgPaths& paths);
int perform(const VcpkgCmdArguments& args, const VcpkgPaths& paths, Triplet default_triplet);
@@ -100,13 +123,6 @@ namespace vcpkg::Build
ARIA2,
};
const std::string& to_string(DownloadTool tool);
-
- enum class FailOnTombstone
- {
- NO = 0,
- YES
- };
-
enum class PurgeDecompressFailure
{
NO = 0,
@@ -122,20 +138,18 @@ namespace vcpkg::Build
CleanPackages clean_packages;
CleanDownloads clean_downloads;
DownloadTool download_tool;
- FailOnTombstone fail_on_tombstone;
PurgeDecompressFailure purge_decompress_failure;
};
- enum class BuildResult
- {
- NULLVALUE = 0,
- SUCCEEDED,
- BUILD_FAILED,
- POST_BUILD_CHECKS_FAILED,
- FILE_CONFLICTS,
- CASCADED_DUE_TO_MISSING_DEPENDENCIES,
- EXCLUDED,
- DOWNLOADED
+ static constexpr BuildPackageOptions default_build_package_options{
+ Build::UseHeadVersion::NO,
+ Build::AllowDownloads::YES,
+ Build::OnlyDownloads::NO,
+ Build::CleanBuildtrees::YES,
+ Build::CleanPackages::YES,
+ Build::CleanDownloads::NO,
+ Build::DownloadTool::BUILT_IN,
+ Build::PurgeDecompressFailure::YES,
};
static constexpr std::array<BuildResult, 6> BUILD_RESULT_VALUES = {
@@ -194,6 +208,7 @@ namespace vcpkg::Build
ExtendedBuildResult build_package(const VcpkgPaths& paths,
const Dependencies::InstallPlanAction& config,
IBinaryProvider& binaries_provider,
+ const IBuildLogsRecorder& build_logs_recorder,
const StatusParagraphs& status_db);
enum class BuildPolicy
diff --git a/toolsrc/include/vcpkg/install.h b/toolsrc/include/vcpkg/install.h
index 9a438b039..2700ac3a8 100644
--- a/toolsrc/include/vcpkg/install.h
+++ b/toolsrc/include/vcpkg/install.h
@@ -86,6 +86,7 @@ namespace vcpkg::Install
const VcpkgPaths& paths,
StatusParagraphs& status_db,
IBinaryProvider& binaryprovider,
+ const Build::IBuildLogsRecorder& build_logs_recorder,
const CMakeVars::CMakeVarProvider& var_provider);
extern const CommandStructure COMMAND_STRUCTURE;
diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h
index 08efc9541..296b6a314 100644
--- a/toolsrc/include/vcpkg/vcpkgpaths.h
+++ b/toolsrc/include/vcpkg/vcpkgpaths.h
@@ -75,6 +75,8 @@ namespace vcpkg
~VcpkgPaths();
fs::path package_dir(const PackageSpec& spec) const;
+ fs::path build_dir(const PackageSpec& spec) const;
+ fs::path build_dir(const std::string& package_name) const;
fs::path build_info_file_path(const PackageSpec& spec) const;
fs::path listfile_path(const BinaryParagraph& pgh) const;