diff options
author | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-12-05 18:15:10 +0000 |
---|---|---|
committer | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-12-05 22:47:52 +0000 |
commit | f0d49bcfeaccca30943c7fcccb5e3e8c196ac096 (patch) | |
tree | ab5fe57620a5e2d3fe22f0f610dfe866f66b3716 | |
parent | eb1a6a511c85163fe3e7ede56a348206075d9af9 (diff) | |
download | import-f0d49bcfeaccca30943c7fcccb5e3e8c196ac096.tar.gz |
Make stratum build-depends be set by importer
-rw-r--r-- | baserockimport/mainloop.py | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/baserockimport/mainloop.py b/baserockimport/mainloop.py index b400695..8d0d563 100644 --- a/baserockimport/mainloop.py +++ b/baserockimport/mainloop.py @@ -115,7 +115,7 @@ class ImportLoop(object): self.importers = {} - def enable_importer(self, kind, extra_args=[]): + def enable_importer(self, kind, extra_args=[], **kwargs): '''Enable an importer extension in this ImportLoop instance. At least one importer extension must be enabled for the loop to do @@ -129,7 +129,8 @@ class ImportLoop(object): ''' assert kind not in self.importers self.importers[kind] = { - 'extra_args': extra_args + 'extra_args': extra_args, + 'kwargs': kwargs } def run(self): @@ -589,18 +590,22 @@ class ImportLoop(object): 'ref': m.ref, 'unpetrify-ref': m.named_ref, 'morph': m.filename, - 'build-depends': build_depends, + 'build-depends': build_depends } chunk_entries.append(entry) + kwargs = self.importers[kind]['kwargs'] + + stratum_build_depends = ( + [{'morph': stratum} for stratum in kwargs['strata']] + if 'strata' in kwargs else []) + stratum_name = goal_name stratum = { 'name': stratum_name, 'kind': 'stratum', 'description': 'Autogenerated by Baserock import tool', - 'build-depends': [ - {'morph': 'strata/ruby.morph'} - ], + 'build-depends': stratum_build_depends, 'chunks': chunk_entries, } |