Skip to content

(core): dataReg modules are boring

Flavien BRIDAULT requested to merge 591-core-datareg-modules-are-boring into dev

Description

This deprecates the usage of dataReg and arDataReg modules, which were so far mandatory as REQUIREMENTS for any XML configuration using data. This was done in several steps:

  1. a function was added in fwRuntime to allow the loading of any regular shared library (we could only load libraries from modules before).
  2. AppConfigManager was modified to guess the library name when parsing configuration, and load the library accordingly
  3. dataReg and arDataReg were emptied from the hacky symbols, and deprecated
  4. the only real useful code, i.e. the XML data parsers from dataReg were moved to fwServices, so that we can remove the whole module later.
  5. dataReg and arDataReg were replaced by fwData, fwMedData and arData in Properties.cmake files
  6. dataReg and arDataReg were removed from all plugin.xml requirements.
  7. all *DataCamp libraries were deprecated and most of their content imported in the corresponding *Data libraries. They were linked in an application thanks to the dataReg modules and hacky symbols. I could have loaded the modules manually like data libraries but I think it is simpler to gather everything related to a data into a single library. There is no real use case in my mind where we want only the data without any introspection. And we do not need to plan for a coexisting alternative to perform the introspection, we are anyway too tight with Camp.

Note that this is not a breaking change and it is still possible to keep the deprecated modules. So we can modify other repositories later.

Closes #591 (closed)

How to test it?

Compile and run some applications

Edited by Flavien BRIDAULT

Merge request reports