net.sf.antcontrib.cpptasks
Class DependencyTable

java.lang.Object
  extended by net.sf.antcontrib.cpptasks.DependencyTable

public final class DependencyTable
extends java.lang.Object

Author:
Curt Arnold

Nested Class Summary
 class DependencyTable.DependencyVisitor
           
 class DependencyTable.TimestampChecker
           
 
Constructor Summary
DependencyTable(java.io.File baseDir)
          Creates a target history table from dependencies.xml in the prject directory, if it exists.
 
Method Summary
 void commit(CCTask task)
           
 java.util.Enumeration elements()
          Returns an enumerator of DependencyInfo's
 DependencyInfo getDependencyInfo(java.lang.String sourceRelativeName, java.lang.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, java.io.File source)
           
 void walkDependencies(CCTask task, DependencyInfo dependInfo, CompilerConfiguration compiler, DependencyInfo[] stack, DependencyTable.DependencyVisitor visitor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DependencyTable

public DependencyTable(java.io.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 Detail

commit

public void commit(CCTask task)

elements

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


getDependencyInfo

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


load

public void load()
          throws java.io.IOException,
                 javax.xml.parsers.ParserConfigurationException,
                 org.xml.sax.SAXException
Throws:
java.io.IOException
javax.xml.parsers.ParserConfigurationException
org.xml.sax.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,
                                    java.io.File source)

walkDependencies

public void walkDependencies(CCTask task,
                             DependencyInfo dependInfo,
                             CompilerConfiguration compiler,
                             DependencyInfo[] stack,
                             DependencyTable.DependencyVisitor visitor)
                      throws org.apache.tools.ant.BuildException
Throws:
org.apache.tools.ant.BuildException


Copyright 2001-2008 Ant-Contrib Project. All Rights Reserved.