summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Ipsum <richard.ipsum@codethink.co.uk>2014-12-05 18:15:10 +0000
committerRichard Ipsum <richard.ipsum@codethink.co.uk>2014-12-05 18:15:10 +0000
commit100edd396bb73df9bb9d39e6050d4b1d0a5b2cf1 (patch)
tree6fc2c13fda1addd79df80a75346f8ea2c8fd8c41
parent611b0f4d831301f608677f10b756b0d47de59bab (diff)
downloadimport-100edd396bb73df9bb9d39e6050d4b1d0a5b2cf1.tar.gz
Make stratum build-depends be set by importer
-rw-r--r--baserockimport/mainloop.py17
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,
}