From 8b0b2671ce67a2425c66c47fff8117737abbb055 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Fri, 4 Dec 2020 14:01:11 -0800 Subject: Fix failures when parsing the default options for binary caching not being emitted. (#14945) * Fix failures when parsing the default options for binary caching not beging emitted. Resolves #14922. --- toolsrc/src/vcpkg/base/parse.cpp | 2 ++ toolsrc/src/vcpkg/binarycaching.cpp | 1 + toolsrc/src/vcpkg/versiondeserializers.cpp | 13 +++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'toolsrc/src') diff --git a/toolsrc/src/vcpkg/base/parse.cpp b/toolsrc/src/vcpkg/base/parse.cpp index c6a7de83d..a082c4d9c 100644 --- a/toolsrc/src/vcpkg/base/parse.cpp +++ b/toolsrc/src/vcpkg/base/parse.cpp @@ -50,6 +50,8 @@ namespace vcpkg::Parse "^\n"); } + const std::string& ParseError::get_message() const { return this->message; } + ParserBase::ParserBase(StringView text, StringView origin, TextRowCol init_rowcol) : m_it(text.begin(), text.end()) , m_start_of_line(m_it) diff --git a/toolsrc/src/vcpkg/binarycaching.cpp b/toolsrc/src/vcpkg/binarycaching.cpp index 8624cb3d3..3c471bd13 100644 --- a/toolsrc/src/vcpkg/binarycaching.cpp +++ b/toolsrc/src/vcpkg/binarycaching.cpp @@ -1131,6 +1131,7 @@ ExpectedS> vcpkg::create_binary_provider_from_c BinaryConfigParser default_parser("default,readwrite", "", &s); default_parser.parse(); + if (auto err = default_parser.get_error()) return err->get_message(); BinaryConfigParser env_parser(env_string, "VCPKG_BINARY_SOURCES", &s); env_parser.parse(); diff --git a/toolsrc/src/vcpkg/versiondeserializers.cpp b/toolsrc/src/vcpkg/versiondeserializers.cpp index 1557f4be9..5c57a9922 100644 --- a/toolsrc/src/vcpkg/versiondeserializers.cpp +++ b/toolsrc/src/vcpkg/versiondeserializers.cpp @@ -5,14 +5,15 @@ using namespace vcpkg; using namespace vcpkg::Versions; -static constexpr StringLiteral VERSION_RELAXED = "version"; -static constexpr StringLiteral VERSION_SEMVER = "version-semver"; -static constexpr StringLiteral VERSION_STRING = "version-string"; -static constexpr StringLiteral VERSION_DATE = "version-date"; -static constexpr StringLiteral PORT_VERSION = "port-version"; - namespace { + constexpr StringLiteral VERSION_RELAXED = "version"; + constexpr StringLiteral VERSION_SEMVER = "version-semver"; + constexpr StringLiteral VERSION_STRING = "version-string"; + constexpr StringLiteral VERSION_DATE = "version-date"; + constexpr StringLiteral PORT_VERSION = "port-version"; + constexpr StringLiteral GIT_TREE = "git-tree"; + struct VersionDeserializer final : Json::IDeserializer { VersionDeserializer(StringLiteral type) : m_type(type) { } -- cgit v1.2.3