net.sf.antcontrib.cpptasks

Class DependencyTable


public final class DependencyTable
extends java.lang.Object

Author:
Curt Arnold

Nested Class Summary

abstract class
DependencyTable.DependencyVisitor
class
DependencyTable.TimestampChecker

Constructor Summary

DependencyTable(File baseDir)
Creates a target history table from dependencies.xml in the prject directory, if it exists.

Method Summary

void
commit(CCTask task)
Enumeration
elements()
Returns an enumerator of DependencyInfo's
DependencyInfo
getDependencyInfo(String sourceRelativeName, String includePathIdentifier)
This method returns a DependencyInfo for the specific source file and include path identifier
void
load()
boolean
needsRebuild(CCTask task, TargetInfo target, int dependencyDepth)
Determines if the specified target needs to be rebuilt.
DependencyInfo
parseIncludes(CCTask task, CompilerConfiguration compiler, File source)
void
walkDependencies(CCTask task, DependencyInfo dependInfo, CompilerConfiguration compiler, DependencyInfo[] stack, DependencyTable.DependencyVisitor visitor)

Constructor Details

DependencyTable

public DependencyTable(File baseDir)
Creates a target history table from dependencies.xml in the prject directory, if it exists. Otherwise, initializes the dependencies empty.
Parameters:
baseDir - output directory for task

Method Details

commit

public void commit(CCTask task)

elements

public Enumeration elements()
Returns an enumerator of DependencyInfo's

getDependencyInfo

public DependencyInfo getDependencyInfo(String sourceRelativeName,
                                        String includePathIdentifier)
This method returns a DependencyInfo for the specific source file and include path identifier

load

public void load()
            throws IOException,
                   ParserConfigurationException,
                   SAXException

needsRebuild

public boolean needsRebuild(CCTask task,
                            TargetInfo target,
                            int dependencyDepth)
Determines if the specified target needs to be rebuilt. This task may result in substantial IO as files are parsed to determine their dependencies

parseIncludes

public DependencyInfo parseIncludes(CCTask task,
                                    CompilerConfiguration compiler,
                                    File source)

walkDependencies

public void walkDependencies(CCTask task,
                             DependencyInfo dependInfo,
                             CompilerConfiguration compiler,
                             DependencyInfo[] stack,
                             DependencyTable.DependencyVisitor visitor)
            throws BuildException

Copyright B) 2001-2006 Ant-Contrib project. All Rights Reserved.