#NEWLINE# def _includeSuperClassItemsForAttr( self , attr ) : #NEWLINE# #INDENT# ' Include build requirements from super classes by searching\n            up the class hierarchy for buildRequires.  You can\n            override this currently only by calling\n            <superclass>.buildRequires.remove()\n        ' #NEWLINE# buildReqs = set ( ) #NEWLINE# superBuildReqs = set ( ) #NEWLINE# immediateSuper = True #NEWLINE# for base in inspect . getmro ( self . __class__ ) : #NEWLINE# #INDENT# thisClassReqs = getattr ( base , attr , [ ] ) #NEWLINE# buildReqs . update ( thisClassReqs ) #NEWLINE# if ( base != self . __class__ ) : #NEWLINE# #INDENT# if immediateSuper : #NEWLINE# #INDENT# if ( set ( self . _recipeRequirements [ attr ] ) == set ( getattr ( base , attr , [ ] ) ) ) : #NEWLINE# #INDENT# self . _recipeRequirements [ attr ] = [ ] #NEWLINE# #UNINDENT# immediateSuper = False #NEWLINE# #UNINDENT# superBuildReqs . update ( thisClassReqs ) #NEWLINE# #UNINDENT# #UNINDENT# setattr ( self , attr , list ( buildReqs ) ) #NEWLINE# self . _recipeRequirements [ ( '%sSuper' % attr ) ] = superBuildReqs