-
Notifications
You must be signed in to change notification settings - Fork 2k
Add reduct-cpp #27398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add reduct-cpp #27398
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @victor1234 thanks a lot for taking the time to create this PR.
The current changes do not align with some of the CCI conventions expressed in the package templates at https://github.com/conan-io/conan-center-index/tree/master/docs/package_templates/cmake_package
I've tried to push some changes directly to your branch to clean it up, but I have no permissions to do so from this PR.
Also:
- A test_package needs to be provided for testing
- The LICENSE file in this PR can be removed, it's fetched from the sources
- A patch needs to be added to remove the Conan lookup from the cmake scripts, and added to the conandata.yml
Let me know if you need help with this - I can push the necessary changes if you provide push access to maintainers to this PR
@AbrilRBS Thanks, I’ve granted editing access. I’ll add test_package |
@AbrilRBS explain your changes, pls |
Sure @victor1234!
Let me know if this helps :) |
@AbrilRBS ok, thanks, let's merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Successful compilation logs in Macos as this recipe won't generate binaries in CCI due to the httplib restrictions:
conan create . --version=1.15.0 -b=missing -s="compiler.cppstd=20" -o="cpp-httplib/*:with_openssl=True" -o="cpp-httplib/*:with_zlib=True" -o="*:shared=True" -b="&"
^[[3~
======== Exporting recipe to the cache ========
reduct-cpp/1.15.0: Exporting package recipe: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/conanfile.py
reduct-cpp/1.15.0: exports: File 'conandata.yml' found. Exporting it...
reduct-cpp/1.15.0: Calling export_sources()
reduct-cpp/1.15.0: Copied 1 '.py' file: conanfile.py
reduct-cpp/1.15.0: Copied 1 '.yml' file: conandata.yml
reduct-cpp/1.15.0: Copied 1 '.patch' file: 0001-1.15.0-disable-conan-lookup.patch
reduct-cpp/1.15.0: Exported to cache folder: /Users/abril/.conan2/p/reduc7545bbd439826/e
reduct-cpp/1.15.0: Exported: reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e (2025-06-06 10:20:02 UTC)
======== Input profiles ========
Profile host:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=20
compiler.libcxx=libc++
compiler.version=16
os=Macos
[options]
*:shared=True
cpp-httplib/*:with_openssl=True
cpp-httplib/*:with_zlib=True
[tool_requires]
*: ccache/4.10.2
[platform_tool_requires]
cmake/4.0.0
meson/1.7.1
ninja/1.12.1
[replace_tool_requires]
meson/*: meson/[*]
pkgconf/*: pkgconf/[*]
ninja/*: ninja/[*]
cmake/*: cmake/[*]
[conf]
core.download:download_cache=/opt/conan_backups
core.download:parallel=6
core.sources:download_cache=/opt/conan_backups
core.sources:download_urls=['https://c3i.jfrog.io/artifactory/conan-center-backup-sources/', 'origin']
Profile build:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=16
os=Macos
[tool_requires]
*: ccache/4.10.2
[platform_tool_requires]
cmake/4.0.0
meson/1.7.1
ninja/1.12.1
[replace_tool_requires]
meson/*: meson/[*]
pkgconf/*: pkgconf/[*]
ninja/*: ninja/[*]
cmake/*: cmake/[*]
[conf]
core.download:download_cache=/opt/conan_backups
core.download:parallel=6
core.sources:download_cache=/opt/conan_backups
core.sources:download_urls=['https://c3i.jfrog.io/artifactory/conan-center-backup-sources/', 'origin']
======== Computing dependency graph ========
Graph root
cli
Requirements
concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502 - Cache
cpp-httplib/0.14.1#c56f0a6210f9a8c3e793e109e4826383 - Cache
date/3.0.1#d41f3965e7ef977e948cb57a31165545 - Cache
fmt/11.0.2#b4a24d70b93466b9b508ddb7b014643b - Cache
libcurl/8.12.1#5bb1e5168ab52aaee0df5d556e092f47 - Cache
nlohmann_json/3.11.3#45828be26eb619a2e04ca517bb7b828d - Cache
openssl/3.4.1#afcaa66ae3020340af2d5641a475b5ae - Cache
reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e - Cache
zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76 - Cache
Build requirements
autoconf/2.71#51077f068e61700d65bb05541ea1e4b0 - Cache
automake/1.16.5#058bda3e21c36c9aa8425daf3c1faf50 - Cache
ccache/4.10.2#846894d0be2d48c603bcad2753e7980d - Cache
gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b - Cache
libtool/2.4.7#a182d7ce8d4c346a19dbd4a5d532ef68 - Cache
m4/1.4.19#b38ced39a01e31fef5435bc634461fd2 - Cache
meson/1.7.1 - Platform
pkgconf/2.2.0#6462942a22803086372db44689ba825f - Cache
Replaced requires
pkgconf/[>=2.2 <3]: pkgconf/[*]
meson/1.2.2: meson/[*]
Resolved version ranges
libcurl/[>=7.78 <9]: libcurl/8.12.1
openssl/[>=1.1 <4]: openssl/3.4.1
pkgconf/[*]: pkgconf/2.2.0
zlib/[>=1.2.11 <2]: zlib/1.3.1
======== Computing necessary packages ========
Connecting to remote 'conancenter' anonymously
fmt/11.0.2: Main binary package '890805a5f7d48deba2963304cfbd0213055486a8' missing
fmt/11.0.2: Checking 23 compatible configurations
fmt/11.0.2: Found compatible package '600455a95e8ddf01698e762547ef57b9ff7c839f': compiler.cppstd=17, compiler.version=13
zlib/1.3.1: Main binary package '781374d5dd38b2ba35db36d81faade3c47ad18bc' missing
zlib/1.3.1: Checking 1 compatible configurations
zlib/1.3.1: Found compatible package 'a3c9d80d887539fac38b81ff8cd4585fe42027e0': compiler.version=13
openssl/3.4.1: Main binary package '1f209bf6ecd82dca9cbb5d1a67f7437c3ae5f55f' missing
openssl/3.4.1: Checking 1 compatible configurations
openssl/3.4.1: Found compatible package '617020fba6555a69f763951cb9d0728eeeb67745': compiler.version=13
libtool/2.4.7: Main binary package '405e382fa7fb6368c140a7f5c5cd71c32b009653' missing
libtool/2.4.7: Checking 1 compatible configurations
libtool/2.4.7: Found compatible package 'dbb40f41e6e9a5c4a9a1fd8d9e6ccf6d92676c92': compiler.version=13
libcurl/8.12.1: Main binary package '9bf0e63aebf3ed710cd16b32fc21a9d0538f8cd5' missing
libcurl/8.12.1: Checking 1 compatible configurations
libcurl/8.12.1: Found compatible package 'ece4d5efb7fccd09034879acc5a4cb97eca8c531': compiler.version=13
date/3.0.1: Main binary package 'c87f1dfb05f9b0539c8966e5261ea6348314c40a' missing
date/3.0.1: Checking 23 compatible configurations
date/3.0.1: Found compatible package 'ad62c88be0ea98c2984f6f02046a907e226ffaac': compiler.cppstd=17, compiler.version=13
reduct-cpp/1.15.0: Forced build from source
Requirements
concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502:da39a3ee5e6b4b0d3255bfef95601890afd80709#d76553f653b5b8bdf7b424d83820fea4 - Cache
cpp-httplib/0.14.1#c56f0a6210f9a8c3e793e109e4826383:da39a3ee5e6b4b0d3255bfef95601890afd80709#965fd1d651d5edf86bb88328dc5abc76 - Cache
date/3.0.1#d41f3965e7ef977e948cb57a31165545:ad62c88be0ea98c2984f6f02046a907e226ffaac#f39ef56ca522fe415ab8d6755777bc62 - Cache
fmt/11.0.2#b4a24d70b93466b9b508ddb7b014643b:600455a95e8ddf01698e762547ef57b9ff7c839f#c3990917092af8a43dc6d70ba58fd863 - Cache
libcurl/8.12.1#5bb1e5168ab52aaee0df5d556e092f47:ece4d5efb7fccd09034879acc5a4cb97eca8c531#547a3709b16a53c63debc6cbd60c59ce - Cache
nlohmann_json/3.11.3#45828be26eb619a2e04ca517bb7b828d:da39a3ee5e6b4b0d3255bfef95601890afd80709#552828a2560333bcbeff9d087ce0af0f - Cache
openssl/3.4.1#afcaa66ae3020340af2d5641a475b5ae:617020fba6555a69f763951cb9d0728eeeb67745#e2b1ce0e49952581f6c8dadb97fd5a74 - Cache
reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e:a454f4a453b812a8e22d1f313aedae76fd00b36b - Build
zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76:a3c9d80d887539fac38b81ff8cd4585fe42027e0#90fbe2f6650c4c6d668b3c8ebeddfd66 - Cache
Build requirements
ccache/4.10.2#846894d0be2d48c603bcad2753e7980d:9e5323c65b94ae38c3c733fe12637776db0119a5#91a23a70e21cbe629f9b7acb3bb83d42 - Cache
Skipped binaries
autoconf/2.71, automake/1.16.5, gnu-config/cci.20210814, libtool/2.4.7, m4/1.4.19, meson/1.7.1, pkgconf/2.2.0
======== Installing packages ========
ccache/4.10.2: Already installed! (1 of 10)
ccache/4.10.2: Finalized folder /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f
ccache/4.10.2: Finalized folder /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f
concurrentqueue/1.0.4: Already installed! (2 of 10)
fmt/11.0.2: Already installed! (3 of 10)
nlohmann_json/3.11.3: Already installed! (4 of 10)
zlib/1.3.1: Already installed! (5 of 10)
openssl/3.4.1: Already installed! (6 of 10)
libcurl/8.12.1: Already installed! (7 of 10)
cpp-httplib/0.14.1: Already installed! (8 of 10)
date/3.0.1: Already installed! (9 of 10)
-------- Installing package reduct-cpp/1.15.0 (10 of 10) --------
reduct-cpp/1.15.0: Building from source
reduct-cpp/1.15.0: Package reduct-cpp/1.15.0:a454f4a453b812a8e22d1f313aedae76fd00b36b
reduct-cpp/1.15.0: settings: os=Macos arch=armv8 compiler=apple-clang compiler.cppstd=20 compiler.libcxx=libc++ compiler.version=16 build_type=Release
reduct-cpp/1.15.0: options: shared=True with_chrono=False
reduct-cpp/1.15.0: requires: fmt/11.0.Z cpp-httplib/0.14.1#c56f0a6210f9a8c3e793e109e4826383:da39a3ee5e6b4b0d3255bfef95601890afd80709 nlohmann_json/3.11.3#45828be26eb619a2e04ca517bb7b828d:da39a3ee5e6b4b0d3255bfef95601890afd80709 openssl/3.4.Z concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502:da39a3ee5e6b4b0d3255bfef95601890afd80709 date/3.0.Z zlib/1.3.Z
reduct-cpp/1.15.0: Copying sources to build folder
reduct-cpp/1.15.0: Building your package in /Users/abril/.conan2/p/b/reduc22686a9a46a35/b
reduct-cpp/1.15.0: Calling generate()
reduct-cpp/1.15.0: Generators folder: /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release/generators
reduct-cpp/1.15.0: CMakeToolchain generated: conan_toolchain.cmake
reduct-cpp/1.15.0: CMakeToolchain generated: /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release/generators/CMakePresets.json
reduct-cpp/1.15.0: CMakeToolchain generated: /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/src/CMakeUserPresets.json
reduct-cpp/1.15.0: CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(fmt)
find_package(httplib)
find_package(nlohmann_json)
find_package(OpenSSL)
find_package(concurrentqueue)
find_package(date)
target_link_libraries(... fmt::fmt httplib::httplib nlohmann_json::nlohmann_json openssl::openssl concurrentqueue::concurrentqueue date::date)
reduct-cpp/1.15.0: Generating aggregated env files
reduct-cpp/1.15.0: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
reduct-cpp/1.15.0: Calling build()
reduct-cpp/1.15.0: Running CMake.configure()
reduct-cpp/1.15.0: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/abril/.conan2/p/b/reduc22686a9a46a35/p" -DREDUCT_CPP_USE_CONAN="ON" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/abril/.conan2/p/b/reduc22686a9a46a35/b/src"
-- Using Conan toolchain: /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release/generators/conan_toolchain.cmake
-- Conan toolchain: Including user_toolchain: /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f/ccache-autoinject.cmake
-- /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f/bin/ccache found and enabled
-- Conan toolchain: Defining libcxx as C++ flags: -stdlib=libc++
-- Conan toolchain: C++ Standard 20 with extensions OFF
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The C compiler identification is AppleClang 17.0.0.17000013
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Version 1.15.0
-- Conan: Component target declared 'fmt::fmt'
-- Conan: Target declared 'nlohmann_json::nlohmann_json'
-- Conan: Target declared 'httplib::httplib'
-- Conan: Component target declared 'OpenSSL::Crypto'
-- Conan: Component target declared 'OpenSSL::SSL'
-- Conan: Target declared 'openssl::openssl'
-- Conan: Target declared 'ZLIB::ZLIB'
-- Conan: Including build module from '/Users/abril/.conan2/p/opens9334a41a196fb/p/lib/cmake/conan-official-openssl-variables.cmake'
-- Conan: Target declared 'concurrentqueue::concurrentqueue'
-- Using date library
-- Conan: Component target declared 'date::date-tz'
-- Conan: Target declared 'date::date'
-- Conan: Component target declared 'CURL::libcurl'
-- Configuring done (0.9s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release
reduct-cpp/1.15.0: Running CMake.build()
reduct-cpp/1.15.0: RUN: cmake --build "/Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release" -- -j12
[ 16%] Building CXX object src/CMakeFiles/reductcpp.dir/reduct/internal/http_client.cc.o
[ 33%] Building CXX object src/CMakeFiles/reductcpp.dir/reduct/internal/serialisation.cc.o
[ 50%] Building CXX object src/CMakeFiles/reductcpp.dir/reduct/bucket.cc.o
[ 66%] Building CXX object src/CMakeFiles/reductcpp.dir/reduct/client.cc.o
[ 83%] Building CXX object src/CMakeFiles/reductcpp.dir/reduct/error.cc.o
In file included from ../../../src/src/reduct/client.cc:3:
../../../src/src/reduct/client.h:192:10: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.cc:253:64: note: in implicit move constructor for 'reduct::IClient::ReplicationSettings' first required here
253 | auto json_data = internal::ReplicationSettingsToJsonString(std::move(settings));
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/client.h:192:10: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
In file included from ../../../src/src/reduct/client.cc:3:
In file included from ../../../src/src/reduct/client.h:6:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:969:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/formatter.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/convert_to_tm.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/statically_widen.h:17:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view:941:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:1842:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/movable_box.h:21:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1294:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:944:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/inout_ptr.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h:32:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:81:5: warning: delete called on 'reduct::internal::IHttpClient' that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor]
81 | delete __ptr;
| ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:293:7: note: in instantiation of member function 'std::default_delete<reduct::internal::IHttpClient>::operator()' requested here
293 | __ptr_.second()(__tmp);
| ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:262:71: note: in instantiation of member function 'std::unique_ptr<reduct::internal::IHttpClient>::reset' requested here
262 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
| ^
../../../src/src/reduct/client.cc:25:12: note: in instantiation of member function 'std::unique_ptr<reduct::internal::IHttpClient>::~unique_ptr' requested here
25 | explicit Client(std::string_view url, HttpOptions options) : url_(url), options_(std::move(options)) {
| ^
3 warnings generated.
../../../src/src/reduct/internal/serialisation.cc:120:35: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
120 | json_data["include"] = settings.include;
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/internal/serialisation.cc:121:35: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
121 | json_data["exclude"] = settings.exclude;
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
../../../src/src/reduct/internal/serialisation.cc:158:10: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
158 | .include = settings.at("include"),
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/internal/serialisation.cc:159:10: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
159 | .exclude = settings.at("exclude"),
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
../../../src/src/reduct/client.h:192:10: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/internal/serialisation.cc:152:19: note: in implicit move assignment operator for 'reduct::IClient::ReplicationSettings' first required here
152 | info.settings = IClient::ReplicationSettings{
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/client.h:192:10: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/client.h:192:10: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
../../../src/src/reduct/client.h:192:10: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
../../../src/src/reduct/client.h:192:10: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:211:10: note: in implicit copy constructor for 'reduct::IClient::ReplicationSettings' first required here
211 | struct FullReplicationInfo {
| ^
../../../src/src/reduct/internal/serialisation.cc:191:11: note: in implicit copy constructor for 'reduct::IClient::FullReplicationInfo' first required here
191 | return {info, Error::kOk};
| ^
../../../src/src/reduct/client.h:199:7: note: 'include' has been explicitly marked deprecated here
199 | [[deprecated("Use when instead")]] IBucket::LabelMap include; // Labels to include
| ^
../../../src/src/reduct/client.h:192:10: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
192 | struct ReplicationSettings {
| ^
../../../src/src/reduct/client.h:200:7: note: 'exclude' has been explicitly marked deprecated here
200 | [[deprecated("Use when instead")]] IBucket::LabelMap exclude; // Labels to exclude
| ^
../../../src/src/reduct/internal/serialisation.cc:208:43: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
208 | for (const auto& [key, value] : options.include) {
| ^
../../../src/src/reduct/bucket.h:320:7: note: 'include' has been explicitly marked deprecated here
320 | [[deprecated("Use when instead")]] LabelMap include; ///< include labels
| ^
../../../src/src/reduct/internal/serialisation.cc:212:43: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
212 | for (const auto& [key, value] : options.exclude) {
| ^
../../../src/src/reduct/bucket.h:321:7: note: 'exclude' has been explicitly marked deprecated here
321 | [[deprecated("Use when instead")]] LabelMap exclude; ///< exclude labels
| ^
12 warnings generated.
../../../src/src/reduct/bucket.cc:311:45: warning: 'include' is deprecated: Use when instead [-Wdeprecated-declarations]
311 | for (const auto& [key, value] : options.include) {
| ^
../../../src/src/reduct/bucket.h:320:7: note: 'include' has been explicitly marked deprecated here
320 | [[deprecated("Use when instead")]] LabelMap include; ///< include labels
| ^
../../../src/src/reduct/bucket.cc:315:45: warning: 'exclude' is deprecated: Use when instead [-Wdeprecated-declarations]
315 | for (const auto& [key, value] : options.exclude) {
| ^
../../../src/src/reduct/bucket.h:321:7: note: 'exclude' has been explicitly marked deprecated here
321 | [[deprecated("Use when instead")]] LabelMap exclude; ///< exclude labels
| ^
In file included from ../../../src/src/reduct/bucket.cc:3:
In file included from ../../../src/src/reduct/bucket.h:5:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/chrono:969:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/formatter.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/convert_to_tm.h:23:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__chrono/statically_widen.h:17:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/concepts.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/format_parse_context.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/string_view:941:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/algorithm:1842:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__algorithm/for_each.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__ranges/movable_box.h:21:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/optional:1294:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/memory:944:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/inout_ptr.h:16:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h:32:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:81:5: warning: delete called on 'reduct::internal::IHttpClient' that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor]
81 | delete __ptr;
| ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:293:7: note: in instantiation of member function 'std::default_delete<reduct::internal::IHttpClient>::operator()' requested here
293 | __ptr_.second()(__tmp);
| ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:262:71: note: in instantiation of member function 'std::unique_ptr<reduct::internal::IHttpClient>::reset' requested here
262 | _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
| ^
../../../src/src/reduct/bucket.cc:30:3: note: in instantiation of member function 'std::unique_ptr<reduct::internal::IHttpClient>::~unique_ptr' requested here
30 | Bucket(std::string_view url, std::string_view name, const HttpOptions& options)
| ^
3 warnings generated.
[100%] Linking CXX static library libreductcpp.a
[100%] Built target reductcpp
reduct-cpp/1.15.0: Package 'a454f4a453b812a8e22d1f313aedae76fd00b36b' built
reduct-cpp/1.15.0: Build folder /Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release
reduct-cpp/1.15.0: Generating the package
reduct-cpp/1.15.0: Packaging in folder /Users/abril/.conan2/p/b/reduc22686a9a46a35/p
reduct-cpp/1.15.0: Calling package()
reduct-cpp/1.15.0: Running CMake.install()
reduct-cpp/1.15.0: RUN: cmake --install "/Users/abril/.conan2/p/b/reduc22686a9a46a35/b/build/Release" --prefix "/Users/abril/.conan2/p/b/reduc22686a9a46a35/p"
-- Install configuration: "Release"
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/lib/libreductcpp.a
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/bucket.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/client.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/error.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/http_options.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/result.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/include/reduct/diagnostics.h
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/lib/cmake/reductcpp/ReductCppConfig.cmake
-- Installing: /Users/abril/.conan2/p/b/reduc22686a9a46a35/p/lib/cmake/reductcpp/ReductCppConfigVersion.cmake
reduct-cpp/1.15.0: package(): Packaged 1 file: LICENSE
reduct-cpp/1.15.0: package(): Packaged 6 '.h' files
reduct-cpp/1.15.0: package(): Packaged 1 '.a' file: libreductcpp.a
reduct-cpp/1.15.0: Created package revision e2cc6962aeaabbf05bd50f92149d0379
reduct-cpp/1.15.0: Package 'a454f4a453b812a8e22d1f313aedae76fd00b36b' created
reduct-cpp/1.15.0: Full package reference: reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e:a454f4a453b812a8e22d1f313aedae76fd00b36b#e2cc6962aeaabbf05bd50f92149d0379
reduct-cpp/1.15.0: Package folder /Users/abril/.conan2/p/b/reduc22686a9a46a35/p
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'cpp_info.names' used in: zlib/1.3.1
======== Launching test_package ========
======== Computing dependency graph ========
Graph root
reduct-cpp/1.15.0 (test package): /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/conanfile.py
Requirements
concurrentqueue/1.0.4#1e48e1c712bcfd892087c9c622a51502 - Cache
cpp-httplib/0.14.1#c56f0a6210f9a8c3e793e109e4826383 - Cache
date/3.0.1#d41f3965e7ef977e948cb57a31165545 - Cache
fmt/11.0.2#b4a24d70b93466b9b508ddb7b014643b - Cache
libcurl/8.12.1#5bb1e5168ab52aaee0df5d556e092f47 - Cache
nlohmann_json/3.11.3#45828be26eb619a2e04ca517bb7b828d - Cache
openssl/3.4.1#afcaa66ae3020340af2d5641a475b5ae - Cache
reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e - Cache
zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76 - Cache
Build requirements
autoconf/2.71#51077f068e61700d65bb05541ea1e4b0 - Cache
automake/1.16.5#058bda3e21c36c9aa8425daf3c1faf50 - Cache
ccache/4.10.2#846894d0be2d48c603bcad2753e7980d - Cache
gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b - Cache
libtool/2.4.7#a182d7ce8d4c346a19dbd4a5d532ef68 - Cache
m4/1.4.19#b38ced39a01e31fef5435bc634461fd2 - Cache
meson/1.7.1 - Platform
pkgconf/2.2.0#6462942a22803086372db44689ba825f - Cache
Replaced requires
pkgconf/[>=2.2 <3]: pkgconf/[*]
meson/1.2.2: meson/[*]
======== Computing necessary packages ========
fmt/11.0.2: Main binary package '890805a5f7d48deba2963304cfbd0213055486a8' missing
fmt/11.0.2: Checking 23 compatible configurations
fmt/11.0.2: Found compatible package '600455a95e8ddf01698e762547ef57b9ff7c839f': compiler.cppstd=17, compiler.version=13
zlib/1.3.1: Main binary package '781374d5dd38b2ba35db36d81faade3c47ad18bc' missing
zlib/1.3.1: Checking 1 compatible configurations
zlib/1.3.1: Found compatible package 'a3c9d80d887539fac38b81ff8cd4585fe42027e0': compiler.version=13
openssl/3.4.1: Main binary package '1f209bf6ecd82dca9cbb5d1a67f7437c3ae5f55f' missing
openssl/3.4.1: Checking 1 compatible configurations
openssl/3.4.1: Found compatible package '617020fba6555a69f763951cb9d0728eeeb67745': compiler.version=13
libtool/2.4.7: Main binary package '405e382fa7fb6368c140a7f5c5cd71c32b009653' missing
libtool/2.4.7: Checking 1 compatible configurations
libtool/2.4.7: Found compatible package 'dbb40f41e6e9a5c4a9a1fd8d9e6ccf6d92676c92': compiler.version=13
libcurl/8.12.1: Main binary package '9bf0e63aebf3ed710cd16b32fc21a9d0538f8cd5' missing
libcurl/8.12.1: Checking 1 compatible configurations
libcurl/8.12.1: Found compatible package 'ece4d5efb7fccd09034879acc5a4cb97eca8c531': compiler.version=13
date/3.0.1: Main binary package 'c87f1dfb05f9b0539c8966e5261ea6348314c40a' missing
date/3.0.1: Checking 23 compatible configurations
date/3.0.1: Found compatible package 'ad62c88be0ea98c2984f6f02046a907e226ffaac': compiler.cppstd=17, compiler.version=13
Requirements
cpp-httplib/0.14.1#c56f0a6210f9a8c3e793e109e4826383:da39a3ee5e6b4b0d3255bfef95601890afd80709#965fd1d651d5edf86bb88328dc5abc76 - Cache
date/3.0.1#d41f3965e7ef977e948cb57a31165545:ad62c88be0ea98c2984f6f02046a907e226ffaac#f39ef56ca522fe415ab8d6755777bc62 - Cache
fmt/11.0.2#b4a24d70b93466b9b508ddb7b014643b:600455a95e8ddf01698e762547ef57b9ff7c839f#c3990917092af8a43dc6d70ba58fd863 - Cache
libcurl/8.12.1#5bb1e5168ab52aaee0df5d556e092f47:ece4d5efb7fccd09034879acc5a4cb97eca8c531#547a3709b16a53c63debc6cbd60c59ce - Cache
openssl/3.4.1#afcaa66ae3020340af2d5641a475b5ae:617020fba6555a69f763951cb9d0728eeeb67745#e2b1ce0e49952581f6c8dadb97fd5a74 - Cache
reduct-cpp/1.15.0#9f339fe39cd2f07f686563341fc9148e:a454f4a453b812a8e22d1f313aedae76fd00b36b#e2cc6962aeaabbf05bd50f92149d0379 - Cache
zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76:a3c9d80d887539fac38b81ff8cd4585fe42027e0#90fbe2f6650c4c6d668b3c8ebeddfd66 - Cache
Build requirements
ccache/4.10.2#846894d0be2d48c603bcad2753e7980d:9e5323c65b94ae38c3c733fe12637776db0119a5#91a23a70e21cbe629f9b7acb3bb83d42 - Cache
Skipped binaries
concurrentqueue/1.0.4, nlohmann_json/3.11.3, autoconf/2.71, automake/1.16.5, gnu-config/cci.20210814, libtool/2.4.7, m4/1.4.19, meson/1.7.1, pkgconf/2.2.0
======== Installing packages ========
ccache/4.10.2: Already installed! (1 of 8)
ccache/4.10.2: Finalized folder /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f
fmt/11.0.2: Already installed! (2 of 8)
zlib/1.3.1: Already installed! (3 of 8)
openssl/3.4.1: Already installed! (4 of 8)
libcurl/8.12.1: Already installed! (5 of 8)
cpp-httplib/0.14.1: Already installed! (6 of 8)
date/3.0.1: Already installed! (7 of 8)
reduct-cpp/1.15.0: Already installed! (8 of 8)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'cpp_info.names' used in: zlib/1.3.1
======== Testing the package ========
Removing previously existing 'test_package' build folder: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release
reduct-cpp/1.15.0 (test package): Test package build: build/apple-clang-16-armv8-20-release
reduct-cpp/1.15.0 (test package): Test package build folder: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release
reduct-cpp/1.15.0 (test package): Writing generators to /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release/generators
reduct-cpp/1.15.0 (test package): Generator 'CMakeDeps' calling 'generate()'
reduct-cpp/1.15.0 (test package): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(ReductCpp)
target_link_libraries(... reductcpp)
reduct-cpp/1.15.0 (test package): Generator 'CMakeToolchain' calling 'generate()'
reduct-cpp/1.15.0 (test package): CMakeToolchain generated: conan_toolchain.cmake
reduct-cpp/1.15.0 (test package): CMakeToolchain generated: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release/generators/CMakePresets.json
reduct-cpp/1.15.0 (test package): CMakeToolchain generated: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/CMakeUserPresets.json
reduct-cpp/1.15.0 (test package): Generating aggregated env files
reduct-cpp/1.15.0 (test package): Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
======== Testing the package: Building ========
reduct-cpp/1.15.0 (test package): Calling build()
reduct-cpp/1.15.0 (test package): Running CMake.configure()
reduct-cpp/1.15.0 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package"
-- Using Conan toolchain: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release/generators/conan_toolchain.cmake
-- Conan toolchain: Including user_toolchain: /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f/ccache-autoinject.cmake
-- /Users/abril/.conan2/p/b/ccach1e6bed495b8dd/f/bin/ccache found and enabled
-- Conan toolchain: Defining libcxx as C++ flags: -stdlib=libc++
-- Conan toolchain: C++ Standard 20 with extensions OFF
-- The CXX compiler identification is AppleClang 17.0.0.17000013
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'reductcpp'
-- Conan: Component target declared 'fmt::fmt'
-- Conan: Target declared 'httplib::httplib'
-- Conan: Component target declared 'OpenSSL::Crypto'
-- Conan: Component target declared 'OpenSSL::SSL'
-- Conan: Target declared 'openssl::openssl'
-- Conan: Target declared 'ZLIB::ZLIB'
-- Conan: Including build module from '/Users/abril/.conan2/p/opens9334a41a196fb/p/lib/cmake/conan-official-openssl-variables.cmake'
-- Conan: Component target declared 'date::date-tz'
-- Conan: Target declared 'date::date'
-- Conan: Component target declared 'CURL::libcurl'
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release
reduct-cpp/1.15.0 (test package): Running CMake.build()
reduct-cpp/1.15.0 (test package): RUN: cmake --build "/Users/abril/coding/conan-center-index/recipes/reduct-cpp/all/test_package/build/apple-clang-16-armv8-20-release" -- -j12
[ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
[100%] Linking CXX executable test_package
[100%] Built target test_package
======== Testing the package: Executing test ========
reduct-cpp/1.15.0 (test package): Running test()
reduct-cpp/1.15.0 (test package): RUN: ./test_package
Summary
Changes to recipe: reduct-cpp/[1.15.0]
Motivation
This PR adds a new recipe for the Reduct C++ SDK, a lightweight HTTP client library for interacting with ReductStore.
Details
A previous attempt to contribute this recipe was made in #23524, but it was not completed and eventually closed.