--- a/sbsv2/raptor/python/raptor.py Thu Feb 25 13:33:03 2010 +0000
+++ b/sbsv2/raptor/python/raptor.py Tue Mar 02 13:34:36 2010 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -238,7 +238,7 @@
class Component(ModelNode):
"""A group of projects or, in symbian-speak, a bld.inf.
"""
- def __init__(self, filename):
+ def __init__(self, filename, layername="", componentname=""):
super(Component,self).__init__(filename)
# Assume that components are specified in bld.inf files for now
# One day that tyranny might end.
@@ -249,21 +249,34 @@
self.exportspecs = []
self.depfiles = []
self.unfurled = False # We can parse this
+
+ # Extra metadata optionally supplied with system definition file gathered components
+ self.layername = layername
+ self.componentname = componentname
def AddMMP(self, filename):
self.children.add(Project(filename))
class Layer(ModelNode):
- """ Some components that should be built togther
+ """ Some components that should be built togther
e.g. a Layer in the system definition.
+
+ Components that come from system definition files can
+ have extra surrounding metadata that we need to pass
+ on for use in log output.
"""
def __init__(self, name, componentlist=[]):
super(Layer,self).__init__(name)
self.name = name
for c in componentlist:
- self.children.add(Component(c))
+ if isinstance(c, raptor_xml.SystemModelComponent):
+ # this component came from a system_definition.xml
+ self.children.add(Component(c, c.GetContainerName("layer"), c.GetContainerName("component")))
+ else:
+ # this is a plain old bld.inf file from the command-line
+ self.children.add(Component(c))
def unfurl(self, build):
"""Discover the children of this layer. This involves parsing the component MetaData (bld.infs, mmps).
@@ -329,6 +342,12 @@
if build.timing == True:
cli_options += " --timing"
+ if build.noDependInclude == True:
+ cli_options += " --no-depend-include"
+
+ if build.noDependGenerate == True:
+ cli_options += " --no-depend-generate"
+
nc = len(self.children)
number_blocks = build.jobs
@@ -501,6 +520,7 @@
self.doExport = True
self.noBuild = False
self.noDependInclude = False
+ self.noDependGenerate = False
self.projects = set()
self.cache = raptor_cache.Cache(self)
@@ -619,6 +639,10 @@
self.noDependInclude = TrueOrFalse
return True
+ def SetNoDependGenerate(self, TrueOrFalse):
+ self.noDependGenerate = TrueOrFalse
+ return True
+
def SetKeepGoing(self, TrueOrFalse):
self.keepGoing = TrueOrFalse
return True