modules : explicit module file load from configuration files

This commit is contained in:
alalazo 2016-05-23 10:54:48 +02:00
parent 3ab56a188e
commit 0890ac4507
2 changed files with 9 additions and 2 deletions

View File

@ -286,6 +286,7 @@
'autoload': {'$ref': '#/definitions/dependency_selection'}, 'autoload': {'$ref': '#/definitions/dependency_selection'},
'prerequisites': {'$ref': '#/definitions/dependency_selection'}, 'prerequisites': {'$ref': '#/definitions/dependency_selection'},
'conflict': {'$ref': '#/definitions/array_of_strings'}, 'conflict': {'$ref': '#/definitions/array_of_strings'},
'load': {'$ref': '#/definitions/array_of_strings'},
'environment': { 'environment': {
'type': 'object', 'type': 'object',
'default': {}, 'default': {},

View File

@ -381,6 +381,8 @@ def write(self):
for x in filter_blacklisted( for x in filter_blacklisted(
module_configuration.pop('autoload', []), self.name): module_configuration.pop('autoload', []), self.name):
module_file_content += self.autoload(x) module_file_content += self.autoload(x)
for x in module_configuration.pop('load', []):
module_file_content += self.autoload(x)
for x in filter_blacklisted( for x in filter_blacklisted(
module_configuration.pop('prerequisites', []), self.name): module_configuration.pop('prerequisites', []), self.name):
module_file_content += self.prerequisite(x) module_file_content += self.prerequisite(x)
@ -402,8 +404,12 @@ def module_specific_content(self, configuration):
return tuple() return tuple()
def autoload(self, spec): def autoload(self, spec):
if not isinstance(spec, str):
m = type(self)(spec) m = type(self)(spec)
return self.autoload_format.format(module_file=m.use_name) module_file = m.use_name
else:
module_file = spec
return self.autoload_format.format(module_file=module_file)
def prerequisite(self, spec): def prerequisite(self, spec):
m = type(self)(spec) m = type(self)(spec)