Browse Source

Merge pull request #164 from orchardup/friendlier-build-error

Friendlier build error
Ben Firshman 11 years ago
parent
commit
aecaf665f1
2 changed files with 7 additions and 3 deletions
  1. 4 1
      fig/cli/main.py
  2. 3 2
      fig/service.py

+ 4 - 1
fig/cli/main.py

@@ -9,7 +9,7 @@ from inspect import getdoc
 
 from .. import __version__
 from ..project import NoSuchService, ConfigurationError
-from ..service import CannotBeScaledError
+from ..service import BuildError, CannotBeScaledError
 from .command import Command
 from .formatter import Formatter
 from .log_printer import LogPrinter
@@ -51,6 +51,9 @@ def main():
     except APIError as e:
         log.error(e.explanation)
         sys.exit(1)
+    except BuildError as e:
+        log.error("Service '%s' failed to build." % e.service.name)
+        sys.exit(1)
 
 
 # stolen from docopt master

+ 3 - 2
fig/service.py

@@ -22,7 +22,8 @@ DOCKER_CONFIG_HINTS = {
 
 
 class BuildError(Exception):
-    pass
+    def __init__(self, service):
+        self.service = service
 
 
 class CannotBeScaledError(Exception):
@@ -308,7 +309,7 @@ class Service(object):
             sys.stdout.write(line.encode(sys.__stdout__.encoding or 'utf8'))
 
         if image_id is None:
-            raise BuildError()
+            raise BuildError(self)
 
         return image_id