## org.apache.tools.ant.taskdefs
Class DependSet

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.MatchingTask
                        |
                        +--org.apache.tools.ant.taskdefs.DependSet

All Implemented Interfaces:
  SelectorContainer

public class DependSet
extends MatchingTask

Examines and removes out of date target files. If any of the target files are out of date with respect to any of the source files, all target files are removed. This is useful where dependencies cannot be computed (for example, dynamically interpreted parameters or files that need to stay in synch but are not directly linked) or where the ant task in question could compute them but does not (for example, the linked DTD for an XML file using the style task). nested arguments:

- srcfileset (fileset describing the source files to examine)
- srcfilelist (filelist describing the source files to examine)
- targetfileset (fileset describing the target files to examine)
- targetfilelist (filelist describing the target files to examine)

At least one instance of either a fileset or filelist for both source and target are required.

This task will examine each of the source files against each of the target files. If any target files are out of date with respect to any of the source files, all targets are removed. If any files named in a (src or target) filelist do not exist, all targets are removed. Hint: If missing files should be ignored, specify them as include patterns in filesets, rather than using filelists.

This task attempts to optimize speed of dependency checking. It will stop after the first out of date file is found and remove all targets, rather than exhaustively checking every source vs target combination unnecessarily.

Example uses:

- Record the fact that an XML file must be up to date with respect to its XSD (Schema file), even though the XML file itself includes no reference to its XSD.
- Record the fact that an XSL stylesheet includes other sub-stylesheets
- Record the fact that java files must be recompiled if the ant build file changes

Since:
  Ant 1.4
Version:
  $Revision: 1.23.2.4 $ $Date: 2004/03/09 17:01:33 $

Field Summary

Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
`fileset`

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`DependSet()` Creates a new DependSet Task.

Method Summary
`void` `addSrcfilelist(FileList fl)` Add a list of source files.
`void` `addSrcfileset(FileSet fs)` Add a set of source files.
`void` `addTargetfilelist(FileList fl)` Add a list of target files.
`void` `addTargetfileset(FileSet fs)` Add a set of target files.
`void` `execute()` Executes the task.

Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems`

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DependSet

    public DependSet()

  Creates a new DependSet Task.

Method Detail

### addSrcfileset

    public void addSrcfileset(FileSet fs)

  Add a set of source files.

### addSrcfilelist

    public void addSrcfilelist(FileList fl)

  Add a list of source files.

### addTargetfileset

    public void addTargetfileset(FileSet fs)

  Add a set of target files.

### addTargetfilelist

    public void addTargetfilelist(FileList fl)

  Add a list of target files.

### execute

    public void execute()
                 throws BuildException

  Executes the task.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - if something goes wrong with the build

Copyright © 2000-2004 Apache Software Foundation. All Rights Reserved.