[ostree] ostbuild: Allow specifying components to build on the command line



commit e21b181b4a688409c4b86db249e1f95326312477
Author: Colin Walters <walters verbum org>
Date:   Sat Jan 7 11:47:51 2012 -0500

    ostbuild: Allow specifying components to build on the command line

 src/ostbuild/pyostbuild/builtin_build.py |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/src/ostbuild/pyostbuild/builtin_build.py b/src/ostbuild/pyostbuild/builtin_build.py
index 7118a6f..23f5dd1 100755
--- a/src/ostbuild/pyostbuild/builtin_build.py
+++ b/src/ostbuild/pyostbuild/builtin_build.py
@@ -256,6 +256,7 @@ class OstbuildBuild(builtins.Builtin):
         parser.add_argument('--start-at')
         parser.add_argument('--shell-on-failure', action='store_true')
         parser.add_argument('--debug-shell', action='store_true')
+        parser.add_argument('components', nargs='+')
 
         args = parser.parse_args(argv)
         
@@ -276,9 +277,23 @@ class OstbuildBuild(builtins.Builtin):
 
         self.resolved_components = map(self._resolve_component_meta, self.manifest['components'])
 
+        if len(args.components) == 0:
+            build_components = self.resolved_components
+        else:
+            build_components = []
+            for name in args.components:
+                found = False
+                for child in self.resolved_components:
+                    if child['name'] == name:
+                        found = True
+                        build_components.append(child)
+                        break
+                if not found:
+                    fatal("Unknown component %r" % (name, ))
+
         start_at_index = -1
         if args.start_at is not None:
-            for i,component in enumerate(self.resolved_components):
+            for i,component in enumerate(build_components):
                 if component['name'] == args.start_at:
                     start_at_index = i
                     break
@@ -287,7 +302,7 @@ class OstbuildBuild(builtins.Builtin):
         else:
             start_at_index = 0
             
-        for component in self.resolved_components[start_at_index:]:
+        for component in build_components[start_at_index:]:
             for architecture in self.manifest['architectures']:
                 (runtime_artifact,devel_artifact) = self._build_one_component(component, architecture)
                 runtime_branch = buildutil.branch_name_for_artifact(runtime_artifact)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]