From fce84171c082e906447eac92f81550b53ae2ee80 Mon Sep 17 00:00:00 2001
From: knownexus <phillip.smyth@codethink.co.uk>
Date: Thu, 13 Sep 2018 17:02:28 +0100
Subject: [PATCH] Incorrect error when malformed project.conf

bst build returns "missing project.conf" when a project.conf is invalid
This results in an existing project with malformed yaml being dismissed
and attempts to make a new project

Added new exception
---
 buildstream/_project.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/buildstream/_project.py b/buildstream/_project.py
index f0ca3d71bd..111680d245 100644
--- a/buildstream/_project.py
+++ b/buildstream/_project.py
@@ -385,7 +385,10 @@ class Project():
             self._project_conf = _yaml.load(projectfile)
         except LoadError as e:
             # Raise a more specific error here
-            raise LoadError(LoadErrorReason.MISSING_PROJECT_CONF, str(e))
+            if e.reason == LoadErrorReason.MISSING_FILE:
+                raise LoadError(LoadErrorReason.MISSING_PROJECT_CONF, str(e))
+            elif e.reason == LoadErrorReason.INVALID_YAML:
+                raise LoadError(LoadErrorReason.INVALID_YAML, str(e))
 
         pre_config_node = _yaml.node_copy(self._default_config_node)
         _yaml.composite(pre_config_node, self._project_conf)
-- 
GitLab