populse / capsul

Collaborative Analysis Platform : Simple, Unifying, Lean
Other
7 stars 14 forks source link

[v3] Config check is incomplete and broken #243

Closed denisri closed 2 years ago

denisri commented 2 years ago

Config modules dependencies are not checked properly for execution: a config module can declare it depends on another, for instance spm depends on matlab, but the validity of this dependency is not checked and cannot be checked at execution time, and dependent modules are dropped from the execution context config.

The current API does not allow to configure things correctly, so it must be reworked.

denisri commented 2 years ago

ModuleConfiguration.is_valid_config() could return additional requirements instead of just True/False For instance SPMConfiguration.is_valid_config() could return {'matlab': {'mcr': True}} or {'matlab': {'mcr': False}} depending on the SPM standalone state, which would add both dependency and constraints on the matlab modules (in the same way/syntax as Process.requirements). Those added requirements would then be checked (again?) to see if they match.