opentelemetry-cpp icon indicating copy to clipboard operation
opentelemetry-cpp copied to clipboard

Rapidyaml (ryaml) and it's own dependencies

Open malkia opened this issue 6 months ago • 5 comments

I saw that some preliminary code for configuration got in, and it relies on the https://github.com/biojppm/rapidyaml library. I also so no bazel related BUILD files (I guess these would end up eventually), but while digging through the deps of the library I saw that it needs some other library by the author - https://github.com/biojppm/c4core (e.g. looking at https://github.com/biojppm/rapidyaml/blob/master/.gitmodules) - and then following the graph, a few more.

There is some option for header-only compilation of the lib, maybe this is what the project is going to end up using?

Asking, seems like it seems a bit too many dependencies for configuration.

malkia avatar Jul 11 '25 21:07 malkia

The code is being added part by part, and is unused yet, as there are no CMakeLists.txt or BUILD files added at this point, in the main branch.

The entire code is located in PR #2518.

CMake is available there, but bazel is not done yet.

In CI on github, and locally, I am using rapidyaml installed from https://github.com/biojppm/rapidyaml using CMake, and it takes care of its own dependency on c4core, the installation was simple.

There is some option for header-only compilation of the lib

Could you share details here, I did not find this.

The entire file configuration projects needs to read a yaml file, so at some point a yaml parser is required, which brings some dependencies, this is hard to avoid.

marcalff avatar Jul 11 '25 23:07 marcalff

Still digging through it, but saw that c4core may need these https://github.com/biojppm/c4core/blob/master/.gitmodules

https://github.com/biojppm/cmake
https://github.com/biojppm/debugbreak
https://github.com/fastfloat/fast_float

First one seems "dev" dependency, e.g. just to build the software, not when using it. DebugBreak is small (and neat) "DebugBreak()"-like macro over multiple OS-s - and for fast_float there is already bazel module

so I guess not so much after all

malkia avatar Jul 12 '25 00:07 malkia

Sorry, just I hope the dependencies do not turn out in nodejs fashiion - that's all :)

malkia avatar Jul 12 '25 20:07 malkia

The bazel build is now done in #2518, with c4core and rapidyaml now added in BCR. The merge to opentelemetry-cpp still needs to be done, but the underlying bazel code is ready.

marcalff avatar Sep 10 '25 19:09 marcalff

This issue was marked as stale due to lack of activity.

github-actions[bot] avatar Nov 10 '25 02:11 github-actions[bot]