Commit Graph

30 Commits

Author SHA1 Message Date
f4f6ea7c81 Revamp of the TOML serialization code.
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
This is a combination of 4 commits.
---
This is the 1st commit message:

Final attempt to revamp this cursed API

This is the commit message #2:
---
Simplify util/macros.hpp and rewrite util/toml from scratch

This is the commit message #3:
---
Very nearly done refactoring TOML serializer; still failing 2-3 unit tests

This is the commit message #4:
---
Finalize the toml serialization API refactor.

Additionally: Standardize the data structures used in Toml unit tests
2024-09-03 22:53:20 -04:00
ec369bdb89 Add convenience macros for defining serialization overrides for types you can't modify, like std::map
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-18 10:24:51 -04:00
fcdc7624e1 Restructued Toml serialization code; breaking changes to c::string in types.hpp
ctypes.hpp: Added a string_constant alias for const char* char and preparing to deprecate some older names
include/*Toml*:  Restructured code so that serialization visitors are in their own class, which can be friended by classes.
   Still using templates to specialize uknown types.
2024-08-18 10:18:42 -04:00
254dc5ee74 [Toml]Fix type deduction by using toml++'s built-in type_traits
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 19:27:42 -04:00
47a681e369 Add missing TomlConfigFile unit tests and adjust Toml code to make it work
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 14:25:41 -04:00
439752de27 Repair the TomlConfigFile unit tests by implementing missing toml extraction methods
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-08-13 11:59:24 -04:00
ff4afed813 (wip) Add TomlConfigFile unit tests and fix missing operator=<toml::table> function
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 08:59:44 -04:00
50bf579c79 Add missing JsonConfigFile unit tests 2024-08-10 23:15:15 -04:00
e7985c55b5 Import JsonConfig file from another project.
All checks were successful
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-linux-builder Build done.
2024-08-05 00:39:30 -04:00
33f80af4ce [TomlTable] Improve unit test thoroughness to match Util.toml.test.cpp
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-04 19:42:57 -04:00
ca4048c038 Fix bug when serializing class types
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-04 19:28:17 -04:00
5217f97acb [Toml,TomlTable] Replace macro implementations with template functions
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
for better debugging, error messages, and development.

Templates provide better type deduction and safety anyway.
2024-08-04 18:07:50 -04:00
999b58d632 [CMakeLists] Fix linking error on FreeBSD; clarify IOCore dependency scopes
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-07-29 13:29:33 -04:00
3fa87439d5 Rename internal macros; Move TomlTable to its own file 2024-07-29 01:20:48 -04:00
1346b33c74 Add a templated .as() operator to Table class, for better deserialization 2024-07-28 07:25:57 -04:00
4801d29f8d Complete new C++ macros to generate toml serialization code for classes and enums 2024-07-27 23:21:47 -04:00
378792421b [CMake] fix depenency management & integration for toml++
Some checks failed
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-linux-builder Build done.
2024-07-11 15:36:50 -04:00
a0a0df6f19 Add Toml support using toml++ and custom preprocessor macros
Some checks failed
buildbot/IOCore-macos-builder Build done.
2024-06-16 22:39:15 -04:00
722118bd92 Move editorconfig files to .vim folder; move headers under IOCore/ subdir 2024-04-18 23:27:17 -04:00
da2249e6c0 Add missing FileResources implementation.
All checks were successful
buildbot/linux-podman-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
Improve naming of private method in Exception class.
2024-04-15 22:15:26 -04:00
0ad0c54deb Add fmt string interpolation library; Prevent duplicate Application::ctor calls
Some checks failed
buildbot/linux-podman-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
2024-04-14 14:02:22 -04:00
0a0eeee5ec Add aggregate build target for test binaries
All checks were successful
buildbot/linux-podman-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
2024-04-13 17:30:51 -04:00
b93a2e7717 Remove unnecessary copy_asset custom target 2024-03-30 15:43:53 -04:00
a84bb47e53 Move Application::init() code to constructor 2024-03-30 15:33:45 -04:00
7a9f76eb56 Adding necessary linux link BOOST flags and dependencies
All checks were successful
buildbot/linux-podman-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
2024-03-27 14:06:17 -04:00
4b0f719796 CMake fix module case. macOS insensitivity leads to errors in other *NIX OSes
Some checks failed
buildbot/linux-podman-cmake-builder Build done.
buildbot/freebsd-jail-cmake-builder Build done.
buildbot/darwin-macos-cmake-builder Build done.
2024-03-27 13:48:09 -04:00
8b53f6d0e8 Rename namespace to IOCore 2024-03-24 14:38:41 -04:00
47fe07ba37 Import code from existing projects. 2024-03-24 14:35:15 -04:00
5f85ed3ab8 Fix ctest relative root directory 2023-12-09 16:46:27 -05:00
173f6b3740 Fix typo in test directory name 2023-12-09 16:43:07 -05:00