Checks if the specified value adheres to the rules defined by the
properties of the <see cref="T:NAnt.Core.Attributes.StringValidatorAttribute"/>.
</summary>
<param name="value">The value to be checked.</param>
<exception cref="T:NAnt.Core.ValidationException"><paramref name="value"/> is an empty string value and <see cref="P:NAnt.Core.Attributes.StringValidatorAttribute.AllowEmpty"/> is set to <see langword="false"/>.</exception>
Returns the <see cref="P:NAnt.Core.Attributes.ElementNameAttribute.Name"/> of the
<see cref="T:NAnt.Core.Attributes.ElementNameAttribute"/> assigned to the specified
<see cref="T:System.Type"/>.
</summary>
<param name="type">The <see cref="T:System.Type"/> of which the assigned <see cref="P:NAnt.Core.Attributes.ElementNameAttribute.Name"/> should be retrieved.</param>
<returns>
The <see cref="P:NAnt.Core.Attributes.ElementNameAttribute.Name"/> assigned to the specified
<see cref="T:System.Type"/> or a null reference is no <see cref="P:NAnt.Core.Attributes.ElementNameAttribute.Name"/>
is assigned to the <paramref name="type"/>.
</returns>
</member>
<member name="P:NAnt.Core.Element.Parent">
<summary>
Gets or sets the parent of the element.
</summary>
<value>
The parent of the element.
</value>
<remarks>
This will be the parent <see cref="T:NAnt.Core.Task"/>, <see cref="T:NAnt.Core.Target"/>, or
<see cref="P:NAnt.Core.Element.Project"/> depending on where the element is defined.
</remarks>
</member>
<member name="P:NAnt.Core.Element.Name">
<summary>
Gets the name of the XML element used to initialize this element.
</summary>
<value>
The name of the XML element used to initialize this element.
</value>
</member>
<member name="P:NAnt.Core.Element.Project">
<summary>
Gets or sets the <see cref="P:NAnt.Core.Element.Project"/> to which this element belongs.
</summary>
<value>
The <see cref="P:NAnt.Core.Element.Project"/> to which this element belongs.
</value>
</member>
<member name="P:NAnt.Core.Element.Properties">
<summary>
Gets the properties local to this <see cref="T:NAnt.Core.Element"/> and the <see cref="P:NAnt.Core.Element.Project"/>.
</summary>
<value>
The properties local to this <see cref="T:NAnt.Core.Element"/> and the <see cref="P:NAnt.Core.Element.Project"/>.
</value>
</member>
<member name="P:NAnt.Core.Element.XmlNode">
<summary>
Gets or sets the XML node of the element.
</summary>
<value>
The XML node of the element.
</value>
</member>
<member name="P:NAnt.Core.Element.Location">
<summary>
Gets or sets the location in the build file where the element is
defined.
</summary>
<value>
The location in the build file where the element is defined.
Initializes a new instance of the <see cref="T:NAnt.Core.Element.AttributeConfigurator"/>
class for the given <see cref="P:NAnt.Core.Element.AttributeConfigurator.Element"/>.
</summary>
<param name="element">The <see cref="P:NAnt.Core.Element.AttributeConfigurator.Element"/> for which an <see cref="T:NAnt.Core.Element.AttributeConfigurator"/> should be created.</param>
Creates a child <see cref="P:NAnt.Core.Element.AttributeConfigurator.Element"/> using property set/get methods.
</summary>
<param name="propInf">The <see cref="T:System.Reflection.PropertyInfo"/> instance that represents the property of the current class.</param>
<param name="xml">The <see cref="P:NAnt.Core.Element.AttributeConfigurator.XmlNode"/> used to initialize the new <see cref="P:NAnt.Core.Element.AttributeConfigurator.Element"/> instance.</param>
<param name="properties">The collection of property values to use for macro expansion.</param>
<param name="framework">The <see cref="T:NAnt.Core.FrameworkInfo"/> from which to obtain framework-specific information.</param>
Creates an <see cref="T:NAnt.Core.Element.AttributeConfigurator.IAttributeSetter"/> for the given
<see cref="T:System.Type"/>.
</summary>
<param name="attributeType">The <see cref="T:System.Type"/> for which an <see cref="T:NAnt.Core.Element.AttributeConfigurator.IAttributeSetter"/> should be created.</param>
<returns>
An <see cref="T:NAnt.Core.Element.AttributeConfigurator.IAttributeSetter"/> for the given <see cref="T:System.Type"/>.
Updates the <see cref="T:System.Diagnostics.ProcessStartInfo"/> of the specified
<see cref="T:System.Diagnostics.Process"/>.
</summary>
<param name="process">The <see cref="T:System.Diagnostics.Process"/> of which the <see cref="T:System.Diagnostics.ProcessStartInfo"/> should be updated.</param>
<exception cref="T:NAnt.Core.BuildException">Both <see cref="P:NAnt.Core.Tasks.LoadTasksTask.AssemblyPath"/> and <see cref="P:NAnt.Core.Tasks.LoadTasksTask.Path"/> are set.</exception>
Searches throught custom attributes for any attribute based on
<paramref name="attributeType" />.
</summary>
<param name="member">Member that should be searched for custom attributes based on <paramref name="attributeType" />.</param>
<param name="attributeType">Custom attribute type that should be searched for; meaning that you want something derived by it.</param>
<param name="searchMemberHierarchy">Value indicating whether the <paramref name="member" /> class hierarchy should be searched for custom attributes.</param>
<param name="searchAttributeHierarchy">Value indicating whether the <paramref name="attributeType" /> class hierarchy should be searched for a match.</param>
<returns>
A custom attribute matching the search criteria or a null reference
XSLT parameters to be passed to the XSLT transformation.
</summary>
</member>
<member name="T:NAnt.Core.Tasks.SysInfoTask">
<summary>
Sets properties with system information.
</summary>
<remarks>
<para>Sets a number of properties with information about the system environment. The intent of this task is for nightly build logs to have a record of system information so that the build was performed on.</para>
<list type="table">
<listheader>
<term>Property</term>
<description>Value</description>
</listheader>
<item>
<term>sys.clr.version</term>
<description>Common Language Runtime version number.</description>
<description>Operating system platform ID.</description>
</item>
<item>
<term>sys.os.version</term>
<description>Operating system version.</description>
</item>
<item>
<term>sys.os</term>
<description>Operating system version string.</description>
</item>
<item>
<term>sys.os.folder.applicationdata</term>
<description>The directory that serves as a common repository for application-specific data for the current roaming user.</description>
</item>
<item>
<term>sys.os.folder.commonapplicationdata</term>
<description>The directory that serves as a common repository for application-specific data that is used by all users.</description>
</item>
<item>
<term>sys.os.folder.commonprogramfiles</term>
<description>The directory for components that are shared across applications.</description>
</item>
<item>
<term>sys.os.folder.desktopdirectory</term>
<description>The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder.</description>
</item>
<item>
<term>sys.os.folder.programfiles</term>
<description>The Program Files directory.</description>
<summary>The date/time pattern to be used.</summary>
<remarks>
<para>The following table lists the standard format characters for each standard pattern. The format characters are case-sensitive; for example, 'g' and 'G' represent slightly different patterns.</para>
<list type="table">
<listheader>
<description>Format Character</description>
<description>Description Example Format Pattern (en-US)</description>
<para>The following table lists the patterns that can be combined to construct custom patterns. The patterns are case-sensitive; for example, "MM" is recognized, but "mm" is not. If the custom pattern contains white-space characters or characters enclosed in single quotation marks, the output string will also contain those characters. Characters not defined as part of a format pattern or as format characters are reproduced literally.</para>
<list type="table">
<listheader>
<description>Format</description>
<description>Pattern Description</description>
</listheader>
<item><description>d</description><description>The day of the month. Single-digit days will not have a leading zero.</description></item>
<item><description>dd</description><description>The day of the month. Single-digit days will have a leading zero.</description></item>
<item><description>ddd</description><description>The abbreviated name of the day of the week.</description></item>
<item><description>dddd</description><description>The full name of the day of the week.</description></item>
<item><description>M</description><description>The numeric month. Single-digit months will not have a leading zero.</description></item>
<item><description>MM</description><description>The numeric month. Single-digit months will have a leading zero.</description></item>
<item><description>MMM</description><description>The abbreviated name of the month.</description></item>
<item><description>MMMM</description><description>The full name of the month.</description></item>
<item><description>y</description><description>The year without the century. If the year without the century is less than 10, the year is displayed with no leading zero.</description></item>
<item><description>yy</description><description>The year without the century. If the year without the century is less than 10, the year is displayed with a leading zero.</description></item>
<item><description>yyyy</description><description>The year in four digits, including the century.</description></item>
<item><description>gg</description><description>The period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string.</description></item>
<item><description>h</description><description>The hour in a 12-hour clock. Single-digit hours will not have a leading zero.</description></item>
<item><description>hh</description><description>The hour in a 12-hour clock. Single-digit hours will have a leading zero.</description></item>
<item><description>H</description><description>The hour in a 24-hour clock. Single-digit hours will not have a leading zero.</description></item>
<item><description>HH</description><description>The hour in a 24-hour clock. Single-digit hours will have a leading zero.</description></item>
<item><description>m</description><description>The minute. Single-digit minutes will not have a leading zero.</description></item>
<item><description>mm</description><description>The minute. Single-digit minutes will have a leading zero.</description></item>
<item><description>s</description><description>The second. Single-digit seconds will not have a leading zero.</description></item>
<item><description>ss</description><description>The second. Single-digit seconds will have a leading zero.</description></item>
<item><description>f</description><description>The fraction of a second in single-digit precision. The remaining digits are truncated.</description></item>
<item><description>ff</description><description>The fraction of a second in double-digit precision. The remaining digits are truncated.</description></item>
<item><description>fff</description><description>The fraction of a second in three-digit precision. The remaining digits are truncated.</description></item>
<item><description>ffff</description><description>The fraction of a second in four-digit precision. The remaining digits are truncated.</description></item>
<item><description>fffff</description><description>The fraction of a second in five-digit precision. The remaining digits are truncated. </description></item>
<item><description>ffffff</description><description>The fraction of a second in six-digit precision. The remaining digits are truncated. </description></item>
<item><description>fffffff</description><description>The fraction of a second in seven-digit precision. The remaining digits are truncated. </description></item>
<item><description>t</description><description>The first character in the AM/PM designator.</description></item>
<item><description>z</description><description>The time zone offset ("+" or "-" followed by the hour only). Single-digit hours will not have a leading zero. For example, Pacific Standard Time is "-8".</description></item>
<item><description>zz</description><description>The time zone offset ("+" or "-" followed by the hour only). Single-digit hours will have a leading zero. For example, Pacific Standard Time is "-08".</description></item>
<item><description>zzz</description><description>The full time zone offset ("+" or "-" followed by the hour and minutes). Single-digit hours and minutes will have leading zeros. For example, Pacific Standard Time is "-08:00".</description></item>
<item><description>:</description><description>The default time separator.</description></item>
<item><description>/</description><description>The default date separator.</description></item>
<item><description>\ c</description><description>Pattern Where c is any character. Displays the character literally. To display the backslash character, use "\\". </description></item>
</list>
</remarks>
</member>
<member name="T:NAnt.Core.Tasks.TouchTask">
<summary>
Touches a file or set of files -- corresponds to the Unix touch command.
</summary>
<remarks>
<para>
If the file specified in the single-file case does not exist, the task
will create it.
</para>
</remarks>
<example>
<para>Touch the <c>Main.cs</c> file. The current time is used.</para>
<code>
<![CDATA[
<touch file="Main.cs" />
]]>
</code>
<para>Touch all executable files in the current directory and its subdirectories.</para>
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.Argument"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.Argument"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.Argument"/>. If the <see cref="T:NAnt.Core.Types.Argument"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.EnvironmentVariable"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.EnvironmentVariable"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.EnvironmentVariable"/>. If the <see cref="T:NAnt.Core.Types.EnvironmentVariable"/> is not currently a member of the collection, it returns -1.
Initializes a new instance of the <see cref="T:NAnt.Core.Types.FileSet"/> class from
the specified <see cref="T:NAnt.Core.Types.FileSet"/>.
</summary>
<param name="source">The <see cref="T:NAnt.Core.Types.FileSet"/> that should be used to create a new instance of the <see cref="T:NAnt.Core.Types.FileSet"/> class.</param>
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.Filter"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.Filter"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.Filter"/>. If the <see cref="T:NAnt.Core.Types.Filter"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.FilterSet"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.FilterSet"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.FilterSet"/>. If the <see cref="T:NAnt.Core.Types.FilterSet"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.Formatter"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.Formatter"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.Formatter"/>. If the <see cref="T:NAnt.Core.Types.Formatter"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.NamespaceImport"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.NamespaceImport"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.NamespaceImport"/>. If the <see cref="T:NAnt.Core.Types.NamespaceImport"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.Option"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.Option"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.Option"/>. If the <see cref="T:NAnt.Core.Types.Option"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Types.XsltParameter"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Types.XsltParameter"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Types.XsltParameter"/>. If the <see cref="T:NAnt.Core.Types.XsltParameter"/> is not currently a member of the collection, it returns -1.
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.Util.CommandLineArgument"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.Util.CommandLineArgument"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.Util.CommandLineArgument"/>. If the <see cref="T:NAnt.Core.Util.CommandLineArgument"/> is not currently a member of the collection, it returns -1.
Initializes a new instance of the <see cref="T:NAnt.Core.Util.CommandLineArgumentException"/> class
with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
<param name="args">The arguments to parse.</param>
<param name="destination">The destination object on which properties will be set corresponding to the specified arguments.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="destination"/> is a null reference.</exception>
<exception cref="T:System.ArgumentException">The <see cref="T:System.Type"/> of <paramref name="destination"/> does not match the argument specification that was used to initialize the parser.</exception>
Initializes a new instance of the <see cref="T:NAnt.Core.BuildException"/> class
with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
Gets the file name for the build file in the specified directory.
</summary>
<param name="directory">The directory to look for a build file. When in doubt use Environment.CurrentDirectory for directory.</param>
<param name="searchPattern">Look for a build file with this pattern or name. If null look for a file that matches the default build pattern (*.build).</param>
<param name="findInParent">Whether or not to search the parent directories for a build file.</param>
<returns>The path to the build file or <c>null</c> if no build file could be found.</returns>
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.DataTypeBaseBuilder"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.DataTypeBaseBuilder"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.DataTypeBaseBuilder"/>. If the <see cref="T:NAnt.Core.DataTypeBaseBuilder"/> is not currently a member of the collection, it returns -1.
<param name="source">DataType list to inherit</param>
</member>
<member name="T:NAnt.Core.DirectoryScanner">
<summary>
Used for searching filesystem based on given include/exclude rules.
</summary>
<example>
<para>Simple client code for testing the class.</para>
<code>
while (true) {
DirectoryScanner scanner = new DirectoryScanner();
Console.Write("Scan Basedirectory : ");
string s = Console.ReadLine();
if (s.Length == 0) break;
scanner.BaseDirectory = s;
while(true) {
Console.Write("Include pattern : ");
s = Console.ReadLine();
if (s.Length == 0) break;
scanner.Includes.Add(s);
}
while(true) {
Console.Write("Exclude pattern : ");
s = Console.ReadLine();
if (s.Length == 0) break;
scanner.Excludes.Add(s);
}
foreach (string name in scanner.FileNames)
Console.WriteLine("file:" + name);
foreach (string name in scanner.DirectoryNames)
Console.WriteLine("dir :" + name);
Console.WriteLine("");
}
</code>
</example>
<history>
<change date="20020220" author="Ari Hännikäinen">Added support for absolute paths and relative paths refering to parent directories ( ../ )</change>
<change date="20020221" author="Ari Hännikäinen">Changed implementation because of performance reasons - now scanning each directory only once</change>
<change date="20030224" author="Brian Deacon (bdeacon at vidya dot com)">
Fixed a bug that was causing absolute pathnames to turn into an invalid regex pattern, and thus never match.
</change>
</history>
</member>
<member name="M:NAnt.Core.DirectoryScanner.Scan">
<summary>
Uses <see cref="P:NAnt.Core.DirectoryScanner.Includes"/> and <see cref="P:NAnt.Core.DirectoryScanner.Excludes"/> search criteria (relative to
<see cref="P:NAnt.Core.DirectoryScanner.BaseDirectory"/> or absolute), to search for filesystem objects.
</summary>
<history>
<change date="20020220" author="Ari Hännikäinen">Totally changed the scanning strategy</change>
<change date="20020221" author="Ari Hännikäinen">Changed it again because of performance reasons</change>
Given a NAnt search pattern returns a search directory and an regex
search pattern.
</summary>
<param name="originalNAntPattern">NAnt searh pattern (relative to the Basedirectory OR absolute, relative paths refering to parent directories ( ../ ) also supported)</param>
<param name="searchDirectory">Out. Absolute canonical path to the directory to be searched</param>
<param name="recursive">Out. Whether the pattern is potentially recursive or not</param>
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.IBuildListener"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.IBuildListener"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.IBuildListener"/>. If the <see cref="T:NAnt.Core.IBuildListener"/> is not currently a member of the collection, it returns -1.
Creates a new <see cref="T:System.Xml.XmlDocument"/> based on the project
definition.
</summary>
<param name="source">The source of the document.<para>Any form that is valid for <see cref="M:System.Xml.XmlDocument.Load(System.String)"/> can be used here.</para></param>
<returns>
An <see cref="T:System.Xml.XmlDocument"/> based on the specified project
<param name="root">The name of the root target. The sort is created in such a way that the sequence of targets up to the root target is the minimum possible such sequence. Must not be <see langword="null"/>.</param>
<param name="targets">A collection of <see cref="T:NAnt.Core.Target"/> instances.</param>
<returns>
A collection of <see cref="T:NAnt.Core.Target"/> instances in sorted order.
</returns>
<exception cref="T:NAnt.Core.BuildException">There is a cyclic dependecy among the targets, or a named target does not exist.</exception>
Performs a single step in a recursive depth-first-search traversal
of the target dependency tree.
</para>
<para>
The current target is first set to the "visiting" state, and pushed
onto the "visiting" stack.
</para>
<para>
An exception is then thrown if any child of the current node is in
the visiting state, as that implies a circular dependency. The
exception contains details of the cycle, using elements of the
"visiting" stack.
</para>
<para>
If any child has not already been "visited", this method is called
recursively on it.
</para>
<para>
The current target is then added to the ordered list of targets.
Note that this is performed after the children have been visited in
order to get the correct order. The current target is set to the
"visited" state.
</para>
<para>
By the time this method returns, the ordered list contains the
sequence of targets up to and including the current target.
</para>
</summary>
<param name="root">The current target to inspect. Must not be <see langword="null"/>.</param>
<param name="targets">A collection of <see cref="T:NAnt.Core.Target"/> instances.</param>
<param name="state">A mapping from targets to states The states in question are "VISITING" and "VISITED". Must not be <see langword="null"/>.</param>
<param name="visiting">A stack of targets which are currently being visited. Must not be <see langword="null"/>.</param>
<param name="executeTargets">The list to add target names to. This will end up containing the complete list of depenencies in dependency order. Must not be <see langword="null"/>.</param>
<param name="location">The <see cref="T:NAnt.Core.Location"/> to pass through for any exceptions.</param>
<param name="state">A mapping from properties to states. The states in question are "VISITING" and "VISITED". Must not be <see langword="null"/>.</param>
<param name="visiting">A stack of properties which are currently being visited. Must not be <see langword="null"/>.</param>
<returns>The expanded and replaced string.</returns>
Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array.
</summary>
<param name="array">The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.</param>
<param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
Retrieves the index of a specified <see cref="T:NAnt.Core.TaskBuilder"/> object in the collection.
</summary>
<param name="item">The <see cref="T:NAnt.Core.TaskBuilder"/> object for which the index is returned.</param>
<returns>
The index of the specified <see cref="T:NAnt.Core.TaskBuilder"/>. If the <see cref="T:NAnt.Core.TaskBuilder"/> is not currently a member of the collection, it returns -1.
Initializes a new instance of the <see cref="T:NAnt.Core.ValidationException"/>
class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
Initializes a new instance of the <see cref="T:NAnt.Core.InvalidVolumeException"/> class
with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
</member>
<member name="T:NAnt.Core.VolumeType">
<summary>
Represents the different types of drives that may exist in a system.
</summary>
</member>
<member name="T:NAnt.Core.VolumeFlags">
<summary>
Represents the different supporting flags that may be set on a file system.
</summary>
</member>
<member name="T:NAnt.Core.VolumeInfo">
<summary>
Presents information about a volume.
</summary>
</member>
<member name="M:NAnt.Core.VolumeInfo.#ctor">
<summary>
Initializes a new instance of the <see cref="T:NAnt.Core.VolumeInfo"/> class.
</summary>
<remarks>
Uses a private access modifier to prevent instantiation of this class.
Initializes a new instance of the <see cref="T:NAnt.Core.XmlLogger"/> class
with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>