fpm icon indicating copy to clipboard operation
fpm copied to clipboard

fpm_model_t serialization

Open perazz opened this issue 2 years ago • 0 comments

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_t class which implements the serialization APIs
  • [ ] enforce all relevant classes inside fpm_model_t to extend serializable_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., path variables should not change) but just provide an automated way to load it back/forth

perazz avatar Apr 12 '23 07:04 perazz