F remove boost rdep
Summary
- Boost is being hidden behind an agnostic API and thus boost is a pure build-dependency now. (see #45 (closed))
- This MR also fixes a segfault (when calling “GetFileDescriptor().wrapped->path()” after Retrieval).
Focus
Boost is being used for the interaction with the (local) filesystem and for logging. So removing Boost as a runtime-dependency means moving code which mentions boost from our *.h
to our *.cpp
files. This affects mostly configuration and logging classes.
Most important changes are:
- we provide a wrapper for the boost logger class which hides the boosty stuff
- we hide all of boost's logging macros and replace them by our own. Since we already had those macros defined in our public API it shouldn't break anything.
Test Environment
Tests for the segfault bug are in caosdb-cppinttest!22 (merged)
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues -
Up-to-date CHANGELOG.md (or not necessary) -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Edited by Florian Spreckelsen