summaryrefslogtreecommitdiff
path: root/buildstream/_pipeline.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildstream/_pipeline.py')
-rw-r--r--buildstream/_pipeline.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/buildstream/_pipeline.py b/buildstream/_pipeline.py
index 9860d290c..f89ad2d64 100644
--- a/buildstream/_pipeline.py
+++ b/buildstream/_pipeline.py
@@ -112,7 +112,7 @@ class Planner():
#
class Pipeline():
- def __init__(self, context, project, targets,
+ def __init__(self, context, project, targets, except_,
inconsistent=False,
rewritable=False,
fetch_remote_refs=False,
@@ -127,7 +127,7 @@ class Pipeline():
self.unused_workspaces = []
self._resolved_elements = {}
- loader = Loader(self.project.element_path, targets,
+ loader = Loader(self.project.element_path, targets + except_,
self.project._options)
meta_elements = loader.load(rewritable, load_ticker)
if load_ticker:
@@ -144,8 +144,12 @@ class Pipeline():
self.source_factory = SourceFactory(pluginbase, project._plugin_source_paths)
# Resolve the real elements now that we've resolved the project
- self.targets = [self.resolve(meta_element, ticker=resolve_ticker)
- for meta_element in meta_elements]
+ resolved_elements = [self.resolve(meta_element, ticker=resolve_ticker)
+ for meta_element in meta_elements]
+
+ self.targets = resolved_elements[:len(targets)]
+ self.exceptions = resolved_elements[len(targets):]
+
if resolve_ticker:
resolve_ticker(None)