fpm
fpm copied to clipboard
fpm_model_t serialization
Description
As discussed here, it is desirable to have fpm be able to fully serialize/deserialize fpm_model_tvariables to/from TOML or JSON.
Relevant discussion at 40:25 and 42:55 mins
Possible Solution
- [ ] create an abstract
serializable_tclass which implements the serialization APIs - [ ] enforce all relevant classes inside
fpm_model_tto extendserializable_t - [ ] write implementation routines for each of them
Additional Information
-
If the fpm model is serializable, it's JSON can be sent via REST API so the registry can validate a package without having to download all dependencies and build the model in the backend. https://github.com/fortran-lang/registry/pull/9
-
serialization/deserialization should change none of the contents of the
fpm_model_t(i.e.,pathvariables should not change) but just provide an automated way to load it back/forth