diff options
Diffstat (limited to 'morphlib/morphologyfactory.py')
-rw-r--r-- | morphlib/morphologyfactory.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/morphlib/morphologyfactory.py b/morphlib/morphologyfactory.py index d0d9ea04..394d186a 100644 --- a/morphlib/morphologyfactory.py +++ b/morphlib/morphologyfactory.py @@ -36,6 +36,17 @@ class NotcachedError(MorphologyFactoryError): "remote cache specified" % repo_name) +class StratumError(MorphologyFactoryError): + pass + + +class NoChunkBuildDependsError(StratumError): + def __init__(self, stratum, chunk): + StratumError.__init__( + self, 'No build dependencies in stratum %s for chunk %s ' + '(build-depends is a mandatory field)' % (stratum, chunk)) + + class MorphologyFactory(object): '''An way of creating morphologies which will provide a default''' @@ -136,14 +147,10 @@ class MorphologyFactory(object): def _check_and_tweak_stratum(self, morphology, reponame, sha1, filename): '''Check and tweak a stratum morphology.''' - for source in morphology['chunks']: # pragma: no cover + for source in morphology['chunks']: if source.get('build-depends', None) is None: name = source.get('name', source.get('repo', 'unknown')) - raise morphlib.Error('No build dependencies ' - 'stratum %s for chunk %s ' - '(build-depends is a mandatory ' - 'field)' % - (filename, name)) + raise NoChunkBuildDependsError(filename, name) morphology.builds_artifacts = [morphology['name']] morphology.needs_artifact_metadata_cached = True |