Tristan Van Berkom pushed to branch tristan/dont-batch-prepare-assemble-by-default at BuildStream / buildstream
Commits:
-
180fa774
by Benjamin Schubert at 2018-12-13T12:05:15Z
-
224aa4c2
by Benjamin Schubert at 2018-12-13T12:34:41Z
-
053beb66
by Tristan Van Berkom at 2018-12-13T14:23:19Z
-
29ab271c
by Tristan Van Berkom at 2018-12-13T14:23:19Z
-
ba955cf0
by Tristan Van Berkom at 2018-12-13T14:23:19Z
-
6010b5a4
by Tristan Van Berkom at 2018-12-13T14:23:19Z
-
3a6d27a4
by Tristan Van Berkom at 2018-12-13T14:23:19Z
-
4c0e602c
by Tristan Van Berkom at 2018-12-13T14:23:19Z
12 changed files:
- buildstream/buildelement.py
- buildstream/element.py
- buildstream/plugins/elements/autotools.py
- buildstream/plugins/elements/cmake.py
- buildstream/plugins/elements/distutils.py
- buildstream/plugins/elements/make.py
- buildstream/plugins/elements/makemaker.py
- buildstream/plugins/elements/manual.py
- buildstream/plugins/elements/meson.py
- buildstream/plugins/elements/modulebuild.py
- buildstream/plugins/elements/pip.py
- buildstream/plugins/elements/qmake.py
Changes:
... | ... | @@ -215,10 +215,6 @@ class BuildElement(Element): |
215 | 215 |
# Setup environment
|
216 | 216 |
sandbox.set_environment(self.get_environment())
|
217 | 217 |
|
218 |
- # Enable command batching across prepare() and assemble()
|
|
219 |
- self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
220 |
- collect=self.get_variable('install-root'))
|
|
221 |
- |
|
222 | 218 |
def stage(self, sandbox):
|
223 | 219 |
|
224 | 220 |
# Stage deps in the sandbox root
|
... | ... | @@ -1612,9 +1612,9 @@ class Element(Plugin): |
1612 | 1612 |
sandbox_vpath = sandbox_vroot.descend(path_components)
|
1613 | 1613 |
try:
|
1614 | 1614 |
sandbox_vpath.import_files(workspace.get_absolute_path())
|
1615 |
- except UtilError as e:
|
|
1615 |
+ except UtilError as e2:
|
|
1616 | 1616 |
self.warn("Failed to preserve workspace state for failed build sysroot: {}"
|
1617 |
- .format(e))
|
|
1617 |
+ .format(e2))
|
|
1618 | 1618 |
|
1619 | 1619 |
self.__set_build_result(success=False, description=str(e), detail=e.detail)
|
1620 | 1620 |
self._cache_artifact(rootdir, sandbox, e.collect)
|
... | ... | @@ -55,7 +55,7 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
55 | 55 |
details on common configuration options for build elements.
|
56 | 56 |
"""
|
57 | 57 |
|
58 |
-from buildstream import BuildElement
|
|
58 |
+from buildstream import BuildElement, SandboxFlags
|
|
59 | 59 |
|
60 | 60 |
|
61 | 61 |
# Element implementation for the 'autotools' kind.
|
... | ... | @@ -63,6 +63,12 @@ class AutotoolsElement(BuildElement): |
63 | 63 |
# Supports virtual directories (required for remote execution)
|
64 | 64 |
BST_VIRTUAL_DIRECTORY = True
|
65 | 65 |
|
66 |
+ # Enable command batching across prepare() and assemble()
|
|
67 |
+ def configure_sandbox(self, sandbox):
|
|
68 |
+ super().configure_sandbox(sandbox)
|
|
69 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
70 |
+ collect=self.get_variable('install-root'))
|
|
71 |
+ |
|
66 | 72 |
|
67 | 73 |
# Plugin entry point
|
68 | 74 |
def setup():
|
... | ... | @@ -54,7 +54,7 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
54 | 54 |
details on common configuration options for build elements.
|
55 | 55 |
"""
|
56 | 56 |
|
57 |
-from buildstream import BuildElement
|
|
57 |
+from buildstream import BuildElement, SandboxFlags
|
|
58 | 58 |
|
59 | 59 |
|
60 | 60 |
# Element implementation for the 'cmake' kind.
|
... | ... | @@ -62,6 +62,12 @@ class CMakeElement(BuildElement): |
62 | 62 |
# Supports virtual directories (required for remote execution)
|
63 | 63 |
BST_VIRTUAL_DIRECTORY = True
|
64 | 64 |
|
65 |
+ # Enable command batching across prepare() and assemble()
|
|
66 |
+ def configure_sandbox(self, sandbox):
|
|
67 |
+ super().configure_sandbox(sandbox)
|
|
68 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
69 |
+ collect=self.get_variable('install-root'))
|
|
70 |
+ |
|
65 | 71 |
|
66 | 72 |
# Plugin entry point
|
67 | 73 |
def setup():
|
... | ... | @@ -31,12 +31,19 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the python 'distutils' kind.
|
38 | 38 |
class DistutilsElement(BuildElement):
|
39 |
- pass
|
|
39 |
+ # Supports virtual directories (required for remote execution)
|
|
40 |
+ BST_VIRTUAL_DIRECTORY = True
|
|
41 |
+ |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
40 | 47 |
|
41 | 48 |
|
42 | 49 |
# Plugin entry point
|
... | ... | @@ -36,7 +36,7 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
36 | 36 |
details on common configuration options for build elements.
|
37 | 37 |
"""
|
38 | 38 |
|
39 |
-from buildstream import BuildElement
|
|
39 |
+from buildstream import BuildElement, SandboxFlags
|
|
40 | 40 |
|
41 | 41 |
|
42 | 42 |
# Element implementation for the 'make' kind.
|
... | ... | @@ -44,6 +44,12 @@ class MakeElement(BuildElement): |
44 | 44 |
# Supports virtual directories (required for remote execution)
|
45 | 45 |
BST_VIRTUAL_DIRECTORY = True
|
46 | 46 |
|
47 |
+ # Enable command batching across prepare() and assemble()
|
|
48 |
+ def configure_sandbox(self, sandbox):
|
|
49 |
+ super().configure_sandbox(sandbox)
|
|
50 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
51 |
+ collect=self.get_variable('install-root'))
|
|
52 |
+ |
|
47 | 53 |
|
48 | 54 |
# Plugin entry point
|
49 | 55 |
def setup():
|
... | ... | @@ -31,12 +31,19 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the 'makemaker' kind.
|
38 | 38 |
class MakeMakerElement(BuildElement):
|
39 |
- pass
|
|
39 |
+ # Supports virtual directories (required for remote execution)
|
|
40 |
+ BST_VIRTUAL_DIRECTORY = True
|
|
41 |
+ |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
40 | 47 |
|
41 | 48 |
|
42 | 49 |
# Plugin entry point
|
... | ... | @@ -31,12 +31,19 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the 'manual' kind.
|
38 | 38 |
class ManualElement(BuildElement):
|
39 |
- pass
|
|
39 |
+ # Supports virtual directories (required for remote execution)
|
|
40 |
+ BST_VIRTUAL_DIRECTORY = True
|
|
41 |
+ |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
40 | 47 |
|
41 | 48 |
|
42 | 49 |
# Plugin entry point
|
... | ... | @@ -51,7 +51,7 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
51 | 51 |
details on common configuration options for build elements.
|
52 | 52 |
"""
|
53 | 53 |
|
54 |
-from buildstream import BuildElement
|
|
54 |
+from buildstream import BuildElement, SandboxFlags
|
|
55 | 55 |
|
56 | 56 |
|
57 | 57 |
# Element implementation for the 'meson' kind.
|
... | ... | @@ -59,6 +59,12 @@ class MesonElement(BuildElement): |
59 | 59 |
# Supports virtual directories (required for remote execution)
|
60 | 60 |
BST_VIRTUAL_DIRECTORY = True
|
61 | 61 |
|
62 |
+ # Enable command batching across prepare() and assemble()
|
|
63 |
+ def configure_sandbox(self, sandbox):
|
|
64 |
+ super().configure_sandbox(sandbox)
|
|
65 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
66 |
+ collect=self.get_variable('install-root'))
|
|
67 |
+ |
|
62 | 68 |
|
63 | 69 |
# Plugin entry point
|
64 | 70 |
def setup():
|
... | ... | @@ -31,12 +31,19 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the 'modulebuild' kind.
|
38 | 38 |
class ModuleBuildElement(BuildElement):
|
39 |
- pass
|
|
39 |
+ # Supports virtual directories (required for remote execution)
|
|
40 |
+ BST_VIRTUAL_DIRECTORY = True
|
|
41 |
+ |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
40 | 47 |
|
41 | 48 |
|
42 | 49 |
# Plugin entry point
|
... | ... | @@ -31,12 +31,19 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the 'pip' kind.
|
38 | 38 |
class PipElement(BuildElement):
|
39 |
- pass
|
|
39 |
+ # Supports virtual directories (required for remote execution)
|
|
40 |
+ BST_VIRTUAL_DIRECTORY = True
|
|
41 |
+ |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
40 | 47 |
|
41 | 48 |
|
42 | 49 |
# Plugin entry point
|
... | ... | @@ -31,7 +31,7 @@ See :ref:`built-in functionality documentation <core_buildelement_builtins>` for |
31 | 31 |
details on common configuration options for build elements.
|
32 | 32 |
"""
|
33 | 33 |
|
34 |
-from buildstream import BuildElement
|
|
34 |
+from buildstream import BuildElement, SandboxFlags
|
|
35 | 35 |
|
36 | 36 |
|
37 | 37 |
# Element implementation for the 'qmake' kind.
|
... | ... | @@ -39,6 +39,12 @@ class QMakeElement(BuildElement): |
39 | 39 |
# Supports virtual directories (required for remote execution)
|
40 | 40 |
BST_VIRTUAL_DIRECTORY = True
|
41 | 41 |
|
42 |
+ # Enable command batching across prepare() and assemble()
|
|
43 |
+ def configure_sandbox(self, sandbox):
|
|
44 |
+ super().configure_sandbox(sandbox)
|
|
45 |
+ self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY,
|
|
46 |
+ collect=self.get_variable('install-root'))
|
|
47 |
+ |
|
42 | 48 |
|
43 | 49 |
# Plugin entry point
|
44 | 50 |
def setup():
|