diff --git a/eng/pipelines/templates/jobs/ci.tests.yml b/eng/pipelines/templates/jobs/ci.tests.yml index c190cfc2ec..3d5b2eb4a5 100644 --- a/eng/pipelines/templates/jobs/ci.tests.yml +++ b/eng/pipelines/templates/jobs/ci.tests.yml @@ -184,6 +184,10 @@ jobs: ServiceDirectory: ${{ parameters.ServiceDirectory }} TestPipeline: ${{ parameters.TestPipeline }} + - pwsh: | + Write-Host "##vso[task.setvariable variable=DOTNET_ROLL_FORWARD]Major" + displayName: Set DOTNET_ROLL_FORWARD to Major globally + - template: /eng/pipelines/templates/steps/cmake-build.yml parameters: ServiceDirectory: ${{ parameters.ServiceDirectory }} diff --git a/eng/pipelines/templates/stages/platform-matrix-live.json b/eng/pipelines/templates/stages/platform-matrix-live.json index 185a962706..be75738e67 100644 --- a/eng/pipelines/templates/stages/platform-matrix-live.json +++ b/eng/pipelines/templates/stages/platform-matrix-live.json @@ -5,7 +5,7 @@ "include": [ { "StaticConfigs": { - "macOS-11": { + "macOS-14": { "Pool": "env:MACPOOL", "OSVmImage": "env:MACVMIMAGE", "VCPKG_DEFAULT_TRIPLET": "x64-osx", diff --git a/eng/pipelines/templates/stages/platform-matrix.json b/eng/pipelines/templates/stages/platform-matrix.json index cdc5c3394f..84b4393dad 100644 --- a/eng/pipelines/templates/stages/platform-matrix.json +++ b/eng/pipelines/templates/stages/platform-matrix.json @@ -5,9 +5,9 @@ "include": [ { "OSConfiguration": { - "macOS-11": { + "macOS-14": { "OSVmImage": "env:MACVMIMAGE", - "XCODE_VERSION": "12.5.1" + "XCODE_VERSION": "15.0.1" } }, "StaticConfigs": { diff --git a/eng/pipelines/templates/variables/image.yml b/eng/pipelines/templates/variables/image.yml index cef2b9dfcd..bfbcd4c076 100644 --- a/eng/pipelines/templates/variables/image.yml +++ b/eng/pipelines/templates/variables/image.yml @@ -21,7 +21,7 @@ variables: - name: WINDOWSPREVIOUSVMIMAGE value: azsdk-pool-mms-win-2019-1espt - name: MACVMIMAGE - value: macos-11 + value: macOS-14 # Values required for pool.os field in 1es pipeline templates - name: LINUXOS diff --git a/sdk/core/azure-core-test/inc/azure/core/test/test_proxy_manager.hpp b/sdk/core/azure-core-test/inc/azure/core/test/test_proxy_manager.hpp index 6daf24725e..abc199c5c8 100644 --- a/sdk/core/azure-core-test/inc/azure/core/test/test_proxy_manager.hpp +++ b/sdk/core/azure-core-test/inc/azure/core/test/test_proxy_manager.hpp @@ -56,7 +56,7 @@ namespace Azure { namespace Core { namespace Test { // Using a reference because the context lives in the test_base class and we don't want to make // a copy. Azure::Core::Test::TestContextManager& m_testContext; - const std::string m_proxy = "https://localhost:5001"; + const std::string m_proxy = "http://localhost:5000"; bool m_isInsecureEnabled = true; TestMode m_currentMode = TestMode::LIVE; std::unique_ptr m_privatePipeline; diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index a3e5333fe1..456ca77c7e 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -10,6 +10,8 @@ ### Other Changes +- Updated JSON library to 3.11.3. + ## 1.13.0-beta.1 (2024-06-06) ### Bugs Fixed diff --git a/sdk/core/azure-core/README.md b/sdk/core/azure-core/README.md index e33d517e8a..8bf22c7f39 100644 --- a/sdk/core/azure-core/README.md +++ b/sdk/core/azure-core/README.md @@ -6,7 +6,7 @@ The library allows client libraries to expose common functionality in a consiste ## Getting started -Typically, you will not need to download `azure-core`; it will be downloaded for you as a dependency of the client libraries. In case you want to download it explicitly (to implement your own client library, for example), you can find the source in here, or use vcpkg to install the package `azure-core-cpp`. +Typically, you will not need to download `azure-core`; it will be downloaded for you as a dependency of the client libraries. In case you want to download it explicitly (to implement your own client library, for example), you can find the source in here, or use vcpkg to install the package `azure-core-cpp`. ### Include the package diff --git a/sdk/core/azure-core/cgmanifest.json b/sdk/core/azure-core/cgmanifest.json index 5573018d3e..ea1609d0bb 100644 --- a/sdk/core/azure-core/cgmanifest.json +++ b/sdk/core/azure-core/cgmanifest.json @@ -36,7 +36,7 @@ "Type": "git", "git": { "RepositoryUrl": "https://github.com/nlohmann/json", - "CommitHash": "db78ac1d7716f56fc9f1b030b715f872f93964e4" + "CommitHash": "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03" } }, "DevelopmentDependency": false diff --git a/sdk/core/azure-core/inc/azure/core/internal/json/json.hpp b/sdk/core/azure-core/inc/azure/core/internal/json/json.hpp index 391c300771..c1374fb290 100644 --- a/sdk/core/azure-core/inc/azure/core/internal/json/json.hpp +++ b/sdk/core/azure-core/inc/azure/core/internal/json/json.hpp @@ -1,56 +1,101 @@ -/* - __ _____ _____ _____ - __| | __| | | | JSON for Modern C++ -| | |__ | | | | | | version 3.8.0 -|_____|_____|_____|_|___| https://github.com/nlohmann/json - -Licensed under the MIT License . -SPDX-License-Identifier: MIT -Copyright (c) 2013-2019 Niels Lohmann . - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +/****************************************************************************\ + * Note on documentation: The source files contain links to the online * + * documentation of the public API at https://json.nlohmann.me. This URL * + * contains the most recent documentation and should also be applicable to * + * previous versions; documentation for deprecated functions is not * + * removed, but marked deprecated. See "Generate documentation" section in * + * file docs/README.md. * +\****************************************************************************/ #pragma once -// #define NLOHMANN_JSON_VERSION_MAJOR 3 -// #define NLOHMANN_JSON_VERSION_MINOR 8 -// #define NLOHMANN_JSON_VERSION_PATCH 0 - #include // all_of, find, for_each -#include // assert #include // nullptr_t, ptrdiff_t, size_t #include // hash, less #include // initializer_list +#ifndef _azure_JSON_NO_IO #include // istream, ostream +#endif // _azure_JSON_NO_IO #include // random_access_iterator_tag #include // unique_ptr -#include // accumulate #include // string, stoi, to_string #include // declval, forward, move, pair, swap #include // vector // #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT #include +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +// This file contains all macro definitions affecting or depending on the ABI + +// #define _azure_NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum) +// #define _azure_NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum) +// #define _azure_NLOHMANN_JSON_VERSION_PATCH 3 // NOLINT(modernize-macro-to-enum) + +#ifndef _azure_JSON_DIAGNOSTICS +#define _azure_JSON_DIAGNOSTICS 0 +#endif + +#ifndef _azure_JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON +#define _azure_JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0 +#endif + +#if _azure_JSON_DIAGNOSTICS +#define _azure_NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag +#else +#define _azure_NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS +#endif + +#if _azure_JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON +#define _azure_NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp +#else +#define _azure_NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON +#endif + +#ifndef _azure_NLOHMANN_JSON_NAMESPACE_NO_VERSION +#define _azure_NLOHMANN_JSON_NAMESPACE_NO_VERSION 0 +#endif + +// Construct the namespace ABI tags component +#define _azure_NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi##a##b +#define _azure_NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) _azure_NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) + +#define _azure_NLOHMANN_JSON_ABI_TAGS \ + _azure_NLOHMANN_JSON_ABI_TAGS_CONCAT( \ + _azure_NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, _azure_NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON) + // #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT #include // transform #include // array @@ -64,1977 +109,2121 @@ SOFTWARE. #include // pair, declval #include // valarray -// #include - -// Header is removed in C++20. -// See for more information. - -#if __cplusplus <= 201703L -#include // and, not, or -#endif - // #include - +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +#include // nullptr_t #include // exception +#if _azure_JSON_DIAGNOSTICS +#include // accumulate +#endif #include // runtime_error #include // to_string +#include // vector -// #include +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT +#include // array #include // size_t +#include // uint8_t +#include // string + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +#include // declval, pair +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +#include + +// #include +// __ _____ _____ _____ +// __| | __| | | | JSON for Modern C++ +// | | |__ | | | | | | version 3.11.3 +// |_____|_____|_____|_|___| https://github.com/nlohmann/json +// +// SPDX-FileCopyrightText: 2013-2023 Niels Lohmann +// SPDX-License-Identifier: MIT + +// #include namespace Azure { namespace Core { namespace Json { namespace _internal { namespace detail { - /// struct to capture the start position of the current token - struct position_t - { - /// the total number of characters read - std::size_t chars_read_total = 0; - /// the number of characters read in the current line - std::size_t chars_read_current_line = 0; - /// the number of lines read - std::size_t lines_read = 0; - /// conversion to size_t to preserve SAX interface - constexpr operator size_t() const { return chars_read_total; } + template struct make_void + { + using type = void; }; + template using void_t = typename make_void::type; }}}}} // namespace Azure::Core::Json::_internal::detail -// #include +namespace Azure { namespace Core { namespace Json { namespace _internal { namespace detail { + + // https://en.cppreference.com/w/cpp/experimental/is_detected + struct nonesuch + { + nonesuch() = delete; + ~nonesuch() = delete; + nonesuch(nonesuch const&) = delete; + nonesuch(nonesuch const&&) = delete; + void operator=(nonesuch const&) = delete; + void operator=(nonesuch&&) = delete; + }; + + template class Op, class... Args> + struct detector + { + using value_t = std::false_type; + using type = Default; + }; + + template class Op, class... Args> + struct detector>, Op, Args...> + { + using value_t = std::true_type; + using type = Op; + }; + + template