Skip to content

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

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open

Conversation

victor1234
Copy link
Contributor

@victor1234 victor1234 commented May 11, 2025

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.


@CLAassistant
Copy link

CLAassistant commented May 11, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Member

@AbrilRBS AbrilRBS left a 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

@victor1234 victor1234 marked this pull request as draft May 12, 2025 22:30
@victor1234
Copy link
Contributor Author

@AbrilRBS Thanks, I’ve granted editing access. I’ll add test_package

@victor1234 victor1234 requested a review from AbrilRBS May 13, 2025 22:17
@victor1234 victor1234 marked this pull request as ready for review May 13, 2025 22:18
@victor1234 victor1234 marked this pull request as draft May 16, 2025 14:26
@victor1234 victor1234 marked this pull request as ready for review May 17, 2025 01:39
@victor1234 victor1234 marked this pull request as draft May 17, 2025 01:48
@victor1234 victor1234 marked this pull request as ready for review May 17, 2025 02:06
@victor1234
Copy link
Contributor Author

@AbrilRBS explain your changes, pls

@AbrilRBS
Copy link
Member

@AbrilRBS explain your changes, pls

Sure @victor1234!

Let me know if this helps :)

@victor1234
Copy link
Contributor Author

@AbrilRBS ok, thanks, let's merge

AbrilRBS
AbrilRBS previously approved these changes Jun 6, 2025
Copy link
Member

@AbrilRBS AbrilRBS left a 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants