summaryrefslogtreecommitdiff
path: root/baserockimport/mainloop.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-12-18 10:43:37 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2014-12-18 10:43:37 +0000
commit764531201f99bf1d9c6dd451a212b741bfb6715e (patch)
treeb9a839ff8cb8000792382805d9027e4891835763 /baserockimport/mainloop.py
parenteb1a6a511c85163fe3e7ede56a348206075d9af9 (diff)
parent65278fdf1ec80a784f9ada8d390ad063a459c97a (diff)
downloadimport-764531201f99bf1d9c6dd451a212b741bfb6715e.tar.gz
Merge branch 'baserock/richardipsum/python_v3'
There is work still to be done on this importer, but it is usable for some Python projects and may as well be merged to 'master' now.
Diffstat (limited to 'baserockimport/mainloop.py')
-rw-r--r--baserockimport/mainloop.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/baserockimport/mainloop.py b/baserockimport/mainloop.py
index b400695..057ab98 100644
--- a/baserockimport/mainloop.py
+++ b/baserockimport/mainloop.py
@@ -58,6 +58,7 @@ def run_extension(filename, args):
output.append(line)
def report_extension_stderr(line):
+ logging.debug('Received "%s" on stderr' % line)
errors.append(line)
def report_extension_logger(line):
@@ -115,7 +116,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 +130,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 +591,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,
}