Commit Graph

101 Commits

Author SHA1 Message Date
5119b7550f Adding missing header to toml.hpp
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-09-08 00:54:22 -04:00
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
302810fd49 Add specifcity and ignored names to .clang-tidy rules 2024-08-18 10:15:50 -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
391ff616be [clang-tidy] Simplify constexpr naming convention so it matches STL 2024-08-13 19:20:46 -04:00
745730c3f4 Improve worker function names in toml.hpp 2024-08-13 18:14:44 -04:00
16f9fb3f70 Prevent a recursive call to to_toml_table and from_toml_table by adding _impl at the end of the non-templated variants
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 15:01:13 -04:00
c096918e78 Simplify to_toml_table function code
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-08-13 14:40:51 -04:00
3d8bc6c96a Try to use templating to deduct types when dealing with complex structs
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:35:54 -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
054a5cd59b [Linux|GCC][Build] Fix: move template specializations out of class scope
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 12:22:24 -04:00
d611229a03 [FreeBSD][Build]Fix tomlplusplus headers not found
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-13 12:15:31 -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
3eba83e7a8 [CMakeTools] Use latest; no longer calls git submodule update on every configure call
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 15:59:18 -04:00
0e90586f33 change the _class_name const string in IOCORE_TOML_SERIALIZABLE to a constexpr method 2024-08-03 09:14:38 -04:00
a025c34d6b [CMakeTools] Use latest version that uses symlinks instead of dir copies
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 08:58:55 -04:00
1928b128ce Separate JSON serialization and TOML serialization macros
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 08:37:23 -04:00
ec988598d3 Fix local include path for consuming libraries
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 07:35:02 -04:00
d49ef1ab77 [serialization.hpp] Add IOCORE_TOML support
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-03 07:32:23 -04:00
18aa2daf0b [CMakeTools] Update to latest version, using get_cpm.cmake
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-08-02 19:50:29 -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
14bf605b06 Mark the enum serialization functions inline to prevent duplicate symbols
Some checks failed
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-linux-builder Build done.
2024-07-29 08:33:10 -04:00
80931bf66e Add standardized support for ccache and modl linker
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-07-29 01:21:00 -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
fea83e3add Update reference to CMake util scripts 2024-07-27 23:25:43 -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
a6ed27cd0d Build unit tests by default
Some checks failed
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-linux-builder Build done.
2024-06-16 23:12:42 -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
98e672042d Fix namespace for JsonConfigFile; Add missing dependencies (how was this working?)
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-06-06 08:09:31 -04:00
b43198753a Add fixed CMakeTools with BUILD_TESTING option
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-18 10:58:48 -04:00
9ea3c1aaa8 Update CMakeTools - fixed macro that used PARENT_SCOPE
Some checks failed
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build started.
2024-05-18 10:37:59 -04:00
c348806df1 Update CMakeTools revision
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-18 10:10:43 -04:00
1a6e8679d8 Modernize the cmake scripts directory by replacing it with my CMakeTools repo full of common CMake options
Some checks failed
buildbot/IOCore-linux-builder Build started.
buildbot/IOCore-freebsd-builder Build done.
buildbot/IOCore-macos-builder Build done.
2024-05-18 09:24:16 -04:00
05a40aa41a Delete old. static cmake tools folder 2024-05-18 09:17:53 -04:00
f2d68bd225 Make fmt::fmt-header-only a public dependency instead of private
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-16 22:50:55 -04:00
740d52b54a Fix cmake macro that disables unit tests when invoked as subproject.
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-11 16:33:01 -04:00
2a2cfb5904 Version bump
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-11 09:41:17 -04:00
6e5045278b Improve the ASSERT macro so that it works with std::unique_ptr::operator(bool)
Fix path determination in Exception class
2024-05-11 01:20:54 -04:00
356173ef09 Bump version to 0.2.20
All checks were successful
buildbot/IOCore-linux-builder Build done.
buildbot/IOCore-macos-builder Build done.
buildbot/IOCore-freebsd-builder Build done.
2024-05-02 22:43:00 -04:00
106fba628b Fix include file dependency 2024-05-02 21:58:33 -04:00