diff -r 4fd571a5fb6a -r f0e42ff3359f sbsv2/raptor/python/raptor.py --- 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