Class DependencyTable


  • public final class DependencyTable
    extends java.lang.Object
    • Field Detail

      • baseDir

        private java.io.File baseDir
      • baseDirPath

        private java.lang.String baseDirPath
      • dependencies

        private final java.util.Hashtable dependencies
        a hashtable of DependencyInfo[] keyed by output file name
      • dependenciesFile

        private java.io.File dependenciesFile
        The file the cache was loaded from.
      • dirty

        private boolean dirty
        Flag indicating whether the cache should be written back to file.
    • 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
      • getIncludePaths

        private java.util.Vector getIncludePaths()
      • 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
      • putDependencyInfo

        private void putDependencyInfo​(java.lang.String key,
                                       DependencyInfo dependInfo)
      • writeDependencyInfo

        private void writeDependencyInfo​(java.io.BufferedWriter writer,
                                         java.lang.StringBuffer buf,
                                         DependencyInfo dependInfo)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • writeIncludePathDependencies

        private void writeIncludePathDependencies​(java.lang.String includePathIdentifier,
                                                  java.io.BufferedWriter writer,
                                                  java.lang.StringBuffer buf)
                                           throws java.io.IOException
        Throws:
        java.io.IOException