Package SCons :: Package Node :: Module FS :: Class FileBuildInfo
[hide private]
[frames] | no frames]

Class FileBuildInfo

source code

   object --+    
            |    
BuildInfoBase --+
                |
               FileBuildInfo
Known Subclasses:

The generic base class for build information for a Node.

This is what gets stored in a .sconsign file for each target file. It contains a NodeInfo instance for this node (signature information that's specific to the type of Node) and direct attributes for the generic build stuff we have to track: sources, explicit dependencies, implicit dependencies, and action information.

Instance Methods [hide private]
 
convert_from_sconsign(self, dir, name)
Converts a newly-read FileBuildInfo object for in-SCons use
source code
 
convert_to_sconsign(self)
Converts this FileBuildInfo object for writing to a .sconsign file
source code
 
format(self, names=0) source code
 
prepare_dependencies(self)
Prepares a FileBuildInfo object for explaining what changed
source code

Inherited from BuildInfoBase: __init__, merge

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  current_version_id = 1
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

convert_from_sconsign(self, dir, name)

source code 

Converts a newly-read FileBuildInfo object for in-SCons use

For normal up-to-date checking, we don't have any conversion to perform--but we're leaving this method here to make that clear.

convert_to_sconsign(self)

source code 

Converts this FileBuildInfo object for writing to a .sconsign file

This replaces each Node in our various dependency lists with its usual string representation: relative to the top-level SConstruct directory, or an absolute path if it's outside.

prepare_dependencies(self)

source code 

Prepares a FileBuildInfo object for explaining what changed

The bsources, bdepends and bimplicit lists have all been stored on disk as paths relative to the top-level SConstruct directory. Convert the strings to actual Nodes (for use by the --debug=explain code and --implicit-cache).