Skip to content

Use Boost::json in olp-cpp-sdk-dataservice-read#1684

Merged
rustam-gamidov-here merged 2 commits intofeature_boost_jsonfrom
rga/ocmam-444-boost-to-read-copy-includes
Mar 17, 2026
Merged

Use Boost::json in olp-cpp-sdk-dataservice-read#1684
rustam-gamidov-here merged 2 commits intofeature_boost_jsonfrom
rga/ocmam-444-boost-to-read-copy-includes

Conversation

@rustam-gamidov-here
Copy link
Copy Markdown
Collaborator

@rustam-gamidov-here rustam-gamidov-here commented Mar 16, 2026

Use Boost::json in olp-cpp-sdk-dataservice-read
Migrating from RapidJSON

Copy json implementation wrappers to read lib
This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:

  • add boost json wrappers to the same files in the core but to
    additional namespace - changes in core, json still exposed
  • move boost json wrappers from core to internal for the repository
    include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444

Migrating from RapidJSON

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
@rustam-gamidov-here rustam-gamidov-here force-pushed the rga/ocmam-444-boost-to-read-copy-includes branch from 57cd050 to 5615b9a Compare March 16, 2026 11:22
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 95.78947% with 12 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (feature_boost_json@2b8f6c6). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...ataservice-read/src/repositories/QuadTreeIndex.cpp 84.62% 2 Missing and 4 partials ⚠️
...dataservice-read/src/generated/parser/JsonParser.h 91.30% 0 Missing and 2 partials ⚠️
...-read/src/generated/serializer/SerializerWrapper.h 93.75% 0 Missing and 2 partials ⚠️
...aservice-read/src/generated/parser/ParserWrapper.h 96.55% 0 Missing and 1 partial ⚠️
...enerated/serializer/ConsumerPropertiesSerializer.h 80.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@                  Coverage Diff                  @@
##             feature_boost_json    #1684   +/-   ##
=====================================================
  Coverage                      ?   80.51%           
=====================================================
  Files                         ?      355           
  Lines                         ?    14071           
  Branches                      ?     1527           
=====================================================
  Hits                          ?    11329           
  Misses                        ?     2128           
  Partials                      ?      614           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
@rustam-gamidov-here rustam-gamidov-here merged commit 41997b2 into feature_boost_json Mar 17, 2026
24 checks passed
@rustam-gamidov-here rustam-gamidov-here deleted the rga/ocmam-444-boost-to-read-copy-includes branch March 17, 2026 14:46
rustam-gamidov-here added a commit that referenced this pull request Mar 30, 2026
Migrating from RapidJSON
Copy json implementation wrappers to read lib

This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
rustam-gamidov-here added a commit that referenced this pull request Mar 31, 2026
Migrating from RapidJSON
Copy json implementation wrappers to read lib

This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
rustam-gamidov-here added a commit that referenced this pull request Apr 1, 2026
Migrating from RapidJSON
Copy json implementation wrappers to read lib

This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
rustam-gamidov-here added a commit that referenced this pull request Apr 14, 2026
* CI: Add build with OLP_SDK_NO_EXCEPTION=ON (#1661)

To catch issues in this kind of build earlier

Relates-To: OCMAM-442

Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Integrate Boost.Json patching 1.82 for no exception (#1662)

Patch boost::json 1.82 with BOOST_NO_EXCEPTIONS
Is is solved in boost::json 1.83 but we preferred to stay at 1.82

Relates-To: OCMAM-442

Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Refactor PartitionsSaxHandler to use boost::json (#1670)

Previously it was based on rapidjson
The tests are adjusted accordingly.

Relates-To: OCMAM-448
Signed-off-by: Alexander Sopov <ext-alexander.sopov@here.com>
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* CI: build with hidden symbols using Clang (#1675)

Good to be able to do this. No tests as not exposed classes are
accessed in tests.
Examples: export functions from libs to utilize in the common binary

Make boost::json header only in the read lib
Otherwise there are unresolved external symbols when built with
visibility=hidden

Relates-To: MINOR
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Use Boost::json in olp-cpp-sdk-authentication (#1674)

Migrating from RapidJSON

Relates-To: OCMAM-443
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Build with OLP_SDK_NO_EXCEPTION=ON using clang (#1676)

It appeared that Clang and GCC complains on different lines
at least in case of Boost  codebase

Relates-To: MINOR

Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Boost includes to private section of auth lib (#1678)

Migrating from RapidJSON

Relates-To: OCMAM-443

Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Use Boost::json in olp-cpp-sdk-dataservice-write (#1681)

Migrating from RapidJSON
Copy json implementation wrappers to write lib

This allows to keep other libs untouched until fully migrated to the
boost::json and remove write lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-445
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Use Boost::json in olp-cpp-sdk-dataservice-read (#1684)

Migrating from RapidJSON
Copy json implementation wrappers to read lib

This allows to keep other libs untouched until fully migrated to the
boost::json and remove read lib dependency from public json wrappers.
Alternative solutions tried are:
 - add boost json wrappers to the same files in the core but to
   additional namespace - changes in core, json still exposed
 - move boost json wrappers from core to internal for the repository
   include location and add it to all DataSDK projects - huge change

Relates-To: OCMAM-444
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Use Boost::json in olp-cpp-sdk-core (#1685)

Migrating from RapidJSON
Json wrappers has been moved and not exposed anymore
Use Boost::json in mock-server-client
Use boost::json in HarCaptureAdapter

Relates-To: OCMAM-446
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Exclude RapidJSON from build

Migrating to boost::json

Relates-To: OCMAM-447
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

* Skip clang no exception build

Boost date_time has no 'no_exception' setup and clang is compiling
that code even if it's not used. GCC is OK

Relates-To: OCMAM-447
Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>

---------

Signed-off-by: Rustam Gamidov <ext-rustam.gamidov@here.com>
Signed-off-by: Alexander Sopov <ext-alexander.sopov@here.com>
Co-authored-by: asopov-here <ext-alexander.sopov@here.com>
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