From cb6e0a36547a0e7f26dffbe41c4efb25730ed0fb Mon Sep 17 00:00:00 2001 From: sbohlen Date: Mon, 20 Sep 2010 20:03:52 +0000 Subject: [PATCH] --- build-support/tools/nant/COPYING.txt | 680 +- build-support/tools/nant/README.txt | 302 +- .../tools/nant/bin/NAnt.CompressionTasks.dll | Bin 32768 -> 36864 bytes .../tools/nant/bin/NAnt.CompressionTasks.xml | 688 +- build-support/tools/nant/bin/NAnt.Core.dll | Bin 356352 -> 376832 bytes build-support/tools/nant/bin/NAnt.Core.xml | 11181 +++++++++------- .../tools/nant/bin/NAnt.DotNetTasks.dll | Bin 122880 -> 131072 bytes .../tools/nant/bin/NAnt.DotNetTasks.xml | 4577 ++++--- .../tools/nant/bin/NAnt.MSNetTasks.dll | Bin 28672 -> 28672 bytes .../tools/nant/bin/NAnt.MSNetTasks.xml | 531 +- build-support/tools/nant/bin/NAnt.NUnit.dll | Bin 8704 -> 8704 bytes build-support/tools/nant/bin/NAnt.NUnit.xml | 190 +- .../tools/nant/bin/NAnt.NUnit1Tasks.dll | Bin 36864 -> 36864 bytes .../tools/nant/bin/NAnt.NUnit1Tasks.xml | 338 +- .../tools/nant/bin/NAnt.NUnit2Tasks.dll | Bin 32768 -> 32768 bytes .../tools/nant/bin/NAnt.NUnit2Tasks.xml | 488 +- .../nant/bin/NAnt.SourceControlTasks.dll | Bin 40960 -> 40960 bytes .../nant/bin/NAnt.SourceControlTasks.xml | 1588 ++- .../tools/nant/bin/NAnt.VSNetTasks.dll | Bin 159744 -> 167936 bytes .../tools/nant/bin/NAnt.VSNetTasks.xml | 3564 ++--- .../tools/nant/bin/NAnt.VisualCppTasks.dll | Bin 49152 -> 49152 bytes .../tools/nant/bin/NAnt.VisualCppTasks.xml | 1332 +- .../tools/nant/bin/NAnt.Win32Tasks.dll | Bin 36864 -> 36864 bytes .../tools/nant/bin/NAnt.Win32Tasks.xml | 1011 +- build-support/tools/nant/bin/NAnt.exe | Bin 10752 -> 12800 bytes build-support/tools/nant/bin/NAnt.exe.config | 4039 +++--- build-support/tools/nant/bin/NAnt.xml | 66 +- .../tools/nant/bin/NDoc.Documenter.NAnt.dll | Bin 131072 -> 131072 bytes .../help/elements/NAnt.Core.DataTypeBase.html | 7 +- .../NAnt.Core.Filters.ChainableReader.html | 7 +- .../elements/NAnt.Core.Filters.Filter.html | 7 +- .../doc/help/elements/NAnt.Core.Target.html | 19 +- .../doc/help/elements/NAnt.Core.Task.html | 7 +- .../elements/NAnt.Core.TaskContainer.html | 7 +- .../NAnt.Core.Tasks.ExternalProgramBase.html | 36 +- .../elements/NAnt.Core.Tasks.InElement.html | 15 +- .../elements/NAnt.Core.Types.Argument.html | 16 +- .../NAnt.Core.Types.EnvironmentSet.html | 31 +- .../NAnt.Core.Types.EnvironmentVariable.html | 15 +- .../NAnt.Core.Types.FileSet.Exclude.html | 7 +- .../NAnt.Core.Types.FileSet.ExcludesFile.html | 7 +- .../NAnt.Core.Types.FileSet.Include.html | 7 +- .../NAnt.Core.Types.FileSet.IncludesFile.html | 7 +- .../elements/NAnt.Core.Types.Formatter.html | 7 +- .../help/elements/NAnt.Core.Types.Option.html | 7 +- .../elements/NAnt.Core.Types.PathElement.html | 7 +- .../help/elements/NAnt.Core.Types.RawXml.html | 7 +- .../help/elements/NAnt.Core.Types.Token.html | 7 +- .../NAnt.Core.Types.XmlNamespace.html | 7 +- .../NAnt.Core.Types.XsltExtensionObject.html | 7 +- .../NAnt.Core.Types.XsltParameter.html | 7 +- .../NAnt.DotNet.Tasks.CompilerBase.html | 110 +- .../NAnt.DotNet.Types.AssemblyAttribute.html | 7 +- .../NAnt.DotNet.Types.CompilerWarning.html | 7 +- ...t.DotNet.Types.DataTypeCollectionBase.html | 7 +- ...tNet.Types.EmbeddedResourceCollection.html | 7 +- .../NAnt.DotNet.Types.LibDirectorySet.html | 67 +- .../NAnt.DotNet.Types.NamespaceImport.html | 7 +- .../elements/NAnt.DotNet.Types.Package.html | 7 +- .../NAnt.NUnit.Types.FormatterElement.html | 7 +- .../elements/NAnt.NUnit1.Types.NUnitTest.html | 7 +- .../elements/NAnt.NUnit2.Types.Category.html | 7 +- .../NAnt.NUnit2.Types.NUnit2Test.html | 35 +- ...t.SourceControl.Tasks.AbstractCvsTask.html | 42 +- ...ntrol.Tasks.AbstractSourceControlTask.html | 42 +- .../elements/NAnt.VSNet.Types.WebMap.html | 7 +- .../NAnt.VisualCpp.Types.Library.html | 7 +- .../elements/NAnt.VisualCpp.Types.Symbol.html | 7 +- ...t.Compression.Types.DuplicateHandling.html | 7 +- .../nant/doc/help/enums/NAnt.Core.Level.html | 7 +- ...Core.Tasks.AvailableTask.ResourceType.html | 7 +- .../NAnt.Core.Tasks.LoopTask.LoopItem.html | 7 +- .../NAnt.Core.Tasks.LoopTask.LoopTrim.html | 7 +- ...t.Tasks.AssemblyInfoTask.CodeLanguage.html | 7 +- ...t.DotNet.Tasks.RegsvcsTask.ActionType.html | 7 +- .../enums/NAnt.DotNet.Types.DebugOutput.html | 7 +- ...asks.ServiceControllerTask.ActionType.html | 7 +- .../enums/NAnt.NUnit.Types.FormatterType.html | 7 +- ...pp.Tasks.ClTask.PrecompiledHeaderMode.html | 7 +- .../NAnt.VisualCpp.Types.CharacterSet.html | 7 +- .../doc/help/filters/expandproperties.html | 7 +- .../tools/nant/doc/help/filters/index.html | 9 +- .../nant/doc/help/filters/replacestring.html | 7 +- .../nant/doc/help/filters/replacetokens.html | 15 +- .../nant/doc/help/filters/tabstospaces.html | 7 +- .../tools/nant/doc/help/functions/index.html | 416 +- .../doc/help/fundamentals/buildfiles.html | 162 +- .../doc/help/fundamentals/expressions.html | 4025 +++--- .../nant/doc/help/fundamentals/functions.html | 622 +- .../nant/doc/help/fundamentals/index.html | 70 +- .../nant/doc/help/fundamentals/listeners.html | 636 +- .../nant/doc/help/fundamentals/projects.html | 142 +- .../doc/help/fundamentals/properties.html | 633 +- .../doc/help/fundamentals/running-nant.html | 184 +- .../nant/doc/help/fundamentals/targets.html | 272 +- .../nant/doc/help/fundamentals/tasks.html | 551 +- build-support/tools/nant/doc/help/index.html | 122 +- .../doc/help/introduction/fog0000000006.html | 84 +- .../doc/help/introduction/fog0000000041.html | 78 +- .../doc/help/introduction/fog0000000042.html | 64 +- .../doc/help/introduction/fog0000000079.html | 64 +- .../doc/help/introduction/fog0000000081.html | 70 +- .../nant/doc/help/introduction/index.html | 70 +- .../doc/help/introduction/installation.html | 328 +- build-support/tools/nant/doc/help/style.css | 426 +- .../tools/nant/doc/help/tasks/al.html | 83 +- .../tools/nant/doc/help/tasks/asminfo.html | 27 +- .../tools/nant/doc/help/tasks/attrib.html | 15 +- .../tools/nant/doc/help/tasks/available.html | 15 +- .../tools/nant/doc/help/tasks/aximp.html | 38 +- .../tools/nant/doc/help/tasks/call.html | 13 +- .../tools/nant/doc/help/tasks/cl.html | 86 +- .../tools/nant/doc/help/tasks/copy.html | 23 +- .../tools/nant/doc/help/tasks/csc.html | 110 +- .../nant/doc/help/tasks/cvs-changelog.html | 60 +- .../nant/doc/help/tasks/cvs-checkout.html | 80 +- .../tools/nant/doc/help/tasks/cvs-export.html | 78 +- .../tools/nant/doc/help/tasks/cvs-pass.html | 15 +- .../tools/nant/doc/help/tasks/cvs-rtag.html | 70 +- .../tools/nant/doc/help/tasks/cvs-tag.html | 48 +- .../tools/nant/doc/help/tasks/cvs-update.html | 78 +- .../tools/nant/doc/help/tasks/cvs.html | 52 +- .../tools/nant/doc/help/tasks/delay-sign.html | 42 +- .../tools/nant/doc/help/tasks/delete.html | 15 +- .../nant/doc/help/tasks/description.html | 11 +- .../tools/nant/doc/help/tasks/echo.html | 33 +- .../tools/nant/doc/help/tasks/exec.html | 87 +- .../tools/nant/doc/help/tasks/fail.html | 7 +- .../tools/nant/doc/help/tasks/foreach.html | 107 +- .../tools/nant/doc/help/tasks/get.html | 31 +- .../tools/nant/doc/help/tasks/gunzip.html | 11 +- .../tools/nant/doc/help/tasks/if.html | 29 +- .../tools/nant/doc/help/tasks/ifnot.html | 47 +- .../tools/nant/doc/help/tasks/ilasm.html | 66 +- .../tools/nant/doc/help/tasks/ildasm.html | 26 +- .../tools/nant/doc/help/tasks/include.html | 11 +- .../tools/nant/doc/help/tasks/index.html | 19 +- .../tools/nant/doc/help/tasks/jsc.html | 106 +- .../tools/nant/doc/help/tasks/lib.html | 70 +- .../tools/nant/doc/help/tasks/license.html | 30 +- .../tools/nant/doc/help/tasks/link.html | 100 +- .../tools/nant/doc/help/tasks/loadfile.html | 49 +- .../tools/nant/doc/help/tasks/loadtasks.html | 15 +- .../tools/nant/doc/help/tasks/mail.html | 53 +- .../tools/nant/doc/help/tasks/mc.html | 42 +- .../tools/nant/doc/help/tasks/midl.html | 92 +- .../tools/nant/doc/help/tasks/mkdir.html | 15 +- .../tools/nant/doc/help/tasks/move.html | 23 +- .../tools/nant/doc/help/tasks/nant.html | 49 +- .../tools/nant/doc/help/tasks/nantschema.html | 11 +- .../tools/nant/doc/help/tasks/ndoc.html | 39 +- .../tools/nant/doc/help/tasks/nunit.html | 23 +- .../tools/nant/doc/help/tasks/nunit2.html | 47 +- .../tools/nant/doc/help/tasks/property.html | 37 +- .../tools/nant/doc/help/tasks/rc.html | 54 +- .../nant/doc/help/tasks/readregistry.html | 15 +- .../tools/nant/doc/help/tasks/regasm.html | 78 +- .../tools/nant/doc/help/tasks/regex.html | 7 +- .../tools/nant/doc/help/tasks/regsvcs.html | 50 +- .../tools/nant/doc/help/tasks/resgen.html | 50 +- .../tools/nant/doc/help/tasks/script.html | 103 +- .../doc/help/tasks/servicecontroller.html | 15 +- .../tools/nant/doc/help/tasks/setenv.html | 23 +- .../tools/nant/doc/help/tasks/sleep.html | 15 +- .../tools/nant/doc/help/tasks/solution.html | 49 +- .../tools/nant/doc/help/tasks/style.html | 89 +- .../tools/nant/doc/help/tasks/sysinfo.html | 17 +- .../tools/nant/doc/help/tasks/tar.html | 35 +- .../tools/nant/doc/help/tasks/tlbexp.html | 38 +- .../tools/nant/doc/help/tasks/tlbimp.html | 58 +- .../tools/nant/doc/help/tasks/touch.html | 33 +- .../tools/nant/doc/help/tasks/tstamp.html | 15 +- .../tools/nant/doc/help/tasks/unzip.html | 21 +- .../tools/nant/doc/help/tasks/uptodate.html | 23 +- .../tools/nant/doc/help/tasks/vbc.html | 118 +- .../tools/nant/doc/help/tasks/vjc.html | 90 +- .../tools/nant/doc/help/tasks/xmlpeek.html | 43 +- .../tools/nant/doc/help/tasks/xmlpoke.html | 61 +- .../tools/nant/doc/help/tasks/zip.html | 35 +- .../nant/doc/help/types/assemblyfileset.html | 152 +- .../tools/nant/doc/help/types/categories.html | 23 +- .../tools/nant/doc/help/types/credential.html | 7 +- .../tools/nant/doc/help/types/cvsfileset.html | 81 +- .../tools/nant/doc/help/types/dirset.html | 67 +- .../tools/nant/doc/help/types/fileset.html | 86 +- .../nant/doc/help/types/filterchain.html | 15 +- .../tools/nant/doc/help/types/index.html | 23 +- .../nant/doc/help/types/namespaceimports.html | 15 +- .../tools/nant/doc/help/types/path.html | 33 +- .../tools/nant/doc/help/types/proxy.html | 15 +- .../nant/doc/help/types/resourcefileset.html | 83 +- .../tools/nant/doc/help/types/tarfileset.html | 81 +- .../nant/doc/help/types/warnaserror.html | 39 +- .../tools/nant/doc/help/types/zipfileset.html | 81 +- build-support/tools/nant/doc/license.html | 162 +- .../tools/nant/doc/releasenotes.html | 7039 +++++----- build-support/tools/nant/doc/sdk/NAnt-SDK.chm | Bin 2567369 -> 2756773 bytes .../ReplaceCharacter/ReplaceCharacter.cs | 230 +- .../Filters/ReplaceCharacter/default.build | 78 +- .../HelloWindowsForms/HelloWindowsForms.build | 118 +- .../HelloWindowsForms.vbproj | 214 +- .../examples/HelloWindowsForms/MainForm.resx | 208 +- .../examples/HelloWindowsForms/MainForm.vb | 120 +- .../nant/examples/HelloWorld/HelloWorld.cs | 10 +- .../nant/examples/HelloWorld/HelloWorld.vb | 16 +- .../nant/examples/HelloWorld/default.build | 78 +- .../examples/ScriptTask/script-sample.build | 50 +- .../tools/nant/examples/Simple/Simple.build | 44 +- .../tools/nant/examples/Simple/Simple.cs | 10 +- .../Solution/cpp/WinForms/AssemblyInfo.cpp | 116 +- .../examples/Solution/cpp/WinForms/Form1.cpp | 30 +- .../examples/Solution/cpp/WinForms/Form1.h | 118 +- .../examples/Solution/cpp/WinForms/Form1.resX | 84 +- .../examples/Solution/cpp/WinForms/ReadMe.txt | 66 +- .../Solution/cpp/WinForms/WinForms.sln | 42 +- .../Solution/cpp/WinForms/WinForms.vcproj | 388 +- .../examples/Solution/cpp/WinForms/app.rc | 104 +- .../examples/Solution/cpp/WinForms/cpp.build | 52 +- .../examples/Solution/cpp/WinForms/resource.h | 6 +- .../examples/Solution/cpp/WinForms/stdafx.cpp | 14 +- .../examples/Solution/cpp/WinForms/stdafx.h | 28 +- .../nant/examples/Solution/cpp/default.build | 22 +- .../Solution/cs/WinForms/AssemblyInfo.cs | 116 +- .../examples/Solution/cs/WinForms/Form1.cs | 138 +- .../examples/Solution/cs/WinForms/Form1.resx | 84 +- .../Solution/cs/WinForms/WinForms.csproj | 238 +- .../Solution/cs/WinForms/WinForms.sln | 42 +- .../examples/Solution/cs/WinForms/cs.build | 54 +- .../nant/examples/Solution/cs/default.build | 22 +- .../Solution/vb/WinForms/AssemblyInfo.vb | 64 +- .../examples/Solution/vb/WinForms/Form1.resx | 84 +- .../examples/Solution/vb/WinForms/Form1.vb | 78 +- .../Solution/vb/WinForms/WinForms.sln | 42 +- .../Solution/vb/WinForms/WinForms.vbproj | 224 +- .../examples/Solution/vb/WinForms/vb.build | 54 +- .../nant/examples/Solution/vb/default.build | 22 +- .../Solution/vjs/WinForms/AssemblyInfo.jsl | 116 +- .../examples/Solution/vjs/WinForms/Form1.jsl | 134 +- .../examples/Solution/vjs/WinForms/Form1.resx | 84 +- .../Solution/vjs/WinForms/WinForms.sln | 42 +- .../Solution/vjs/WinForms/WinForms.vjsproj | 212 +- .../examples/Solution/vjs/WinForms/vjs.build | 52 +- .../nant/examples/Solution/vjs/default.build | 22 +- .../SimpleExtension.build | 50 +- .../SimpleExtensionObject/SimpleExtension.cs | 22 +- .../SimpleExtensionObject/SimpleExtension.dll | Bin 3072 -> 3072 bytes .../SimpleExtensionObject/circle.xsl | 30 +- .../SimpleExtensionObject/circles.xml | 18 +- .../tools/nant/examples/UserTask/UserTask.cs | 62 +- .../nant/examples/UserTask/default.build | 56 +- .../tools/nant/examples/examples.build | 32 +- build-support/tools/nant/schema/nant.xsd | 699 +- 252 files changed, 30891 insertions(+), 25973 deletions(-) diff --git a/build-support/tools/nant/COPYING.txt b/build-support/tools/nant/COPYING.txt index 45645b4b..5b6e7c66 100644 --- a/build-support/tools/nant/COPYING.txt +++ b/build-support/tools/nant/COPYING.txt @@ -1,340 +1,340 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/build-support/tools/nant/README.txt b/build-support/tools/nant/README.txt index 2d53720d..e0ba4b61 100644 --- a/build-support/tools/nant/README.txt +++ b/build-support/tools/nant/README.txt @@ -1,144 +1,158 @@ -NAnt - -What is it? ------------ -NAnt is a .NET based build tool. In theory it is kind of like make without -make's wrinkles. In practice it's a lot like Ant. - -If you are not familiar with Jakarta Ant you can get more information at the -Ant project web site (http://ant.apache.org/). - - -Why NAnt? ---------- -Because Ant was too Java specific. -Because Ant needed the Java runtime. NAnt only needs the .NET -or Mono runtime. - - -The Latest Version ------------------- -Details of the latest version can be found on the NAnt project web site -http://nant.sourceforge.net/ - - -Compilation and Installation -------------------------------- - - a. Build Requirements - -------------------- - To build NAnt, you will need the following components: - - on Windows - - * A version of the Microsoft .NET Framework - - Available from http://msdn.microsoft.com/netframework/ - - you will need the .NET Framework SDK as well as the runtime components - if you intend to compile programs. - - note that NAnt currently supports versions 1.0, 1.1 and 2.0 (Beta 1) - of the Microsoft .NET Framework. - - or - - * Mono for Windows (version 1.0 or higher) - - Available from http://www.mono-project.com/downloads/ - - Linux/Unix - - * GNU toolchain - including GNU make - - * pkg-config - - Available from: http://www.freedesktop.org/Software/pkgconfig - - * A working Mono installation and development libraries (version 1.0 or higher) - - Available from: http://www.mono-project.com/downloads/ - - - b. Building the Software - ------------------------ - - Build NAnt using Microsoft .NET - - GNU Make - -------- - - make install MONO= MCS=csc prefix= - - eg. make install MONO= MCS=csc prefix="c:\Program Files" - - NMake - ----- - - nmake -f Makefile.nmake install prefix= - - eg. nmake -f Makefile.nmake install prefix="c:\Program Files" - - - Building NAnt using Mono - - GNU Make - -------- - - make install prefix= - - eg. make install prefix="c:\Program Files" - - NMake - ----- - - nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix= - - eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/ - -Note: - -These instructions only apply to the source distribution of NAntContrib, as the binary distribution -contains pre-built assemblies. - - -Documentation -------------- -Documentation is available in HTML format, in the doc/ directory. - - -License -------- -Copyright (C) 2001-2005 Gerry Shaw - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -As a special exception, the copyright holders of this software give you -permission to link the assemblies with independent modules to produce new -assemblies, regardless of the license terms of these independent modules, -and to copy and distribute the resulting assemblies under terms of your -choice, provided that you also meet, for each linked independent module, -the terms and conditions of the license of that module. An independent -module is a module which is not derived from or based on these assemblies. -If you modify this software, you may extend this exception to your version -of the software, but you are not obligated to do so. If you do not wish to -do so, delete this exception statement from your version. - -A copy of the GNU General Public License is available in the COPYING.txt file -included with all NAnt distributions. - -For more licensing information refer to the GNU General Public License on the -GNU Project web site. -http://www.gnu.org/copyleft/gpl.html +NAnt + +What is it? +----------- +NAnt is a .NET based build tool. In theory it is kind of like make without +make's wrinkles. In practice it's a lot like Ant. + +If you are not familiar with Jakarta Ant you can get more information at the +Ant project web site (http://ant.apache.org/). + + +Why NAnt? +--------- +Because Ant was too Java specific. +Because Ant needed the Java runtime. NAnt only needs the .NET +or Mono runtime. + + +The Latest Version +------------------ +Details of the latest version can be found on the NAnt project web site +http://nant.sourceforge.net/ + + +Files +----- + README.txt - This file. + Makefile - Makefile for compilation with GNU Make. + Makefile.nmake - Makefile for compilation with Microsoft NMake. + + +Compilation and Installation +---------------------------- + + a. Overview + ----------- + The compilation process uses NAnt to build NAnt. + + The approach is to first compile a copy of NAnt (using make/nmake) for + bootstrapping purpose. Next, the bootstrapped version of NAnt is used in + conjunction with NAnt build file (NAnt.build) to build the full version. + + + b. Prerequisites + ---------------- + To build NAnt, you will need the following components: + + Windows + ------- + + * A version of the Microsoft .NET Framework + + Available from http://msdn.microsoft.com/netframework/ + + You will need the .NET Framework SDK as well as the runtime + components if you intend to compile programs. + + Note: NAnt currently supports versions 1.0, 1.1 and 2.0 + of the Microsoft .NET Framework. + + or + + * Mono for Windows (version 1.0 or higher) + + Available from http://www.mono-project.com/downloads/ + + Linux/Unix + ---------- + + * GNU toolchain - including GNU make + + * pkg-config + + Available from: http://www.freedesktop.org/Software/pkgconfig + + * A working Mono installation and development libraries (version 1.0 or higher) + + Available from: http://www.mono-project.com/downloads/ + + + b. Building the Software + ------------------------ + + Build NAnt using Microsoft .NET: + + GNU Make + -------- + make install MONO= MCS=csc prefix= [DESTDIR=] + + eg. make install MONO= MCS=csc prefix="c:\Program Files" + + NMake + ----- + nmake -f Makefile.nmake install prefix= [DESTDIR=] + + eg. nmake -f Makefile.nmake install prefix="c:\Program Files" + + + Building NAnt using Mono: + + GNU Make + -------- + make install prefix= [DESTDIR=] + + eg. make install prefix="c:\Program Files" + + NMake + ----- + nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix= [DESTDIR=] + + eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/ + +Note: + +These instructions only apply to the source distribution of NAnt, as the binary distribution +contains pre-built assemblies. + + +Documentation +------------- +Documentation is available in HTML format, in the doc/ directory. + + +License +------- +Copyright (C) 2001-2008 Gerry Shaw + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +As a special exception, the copyright holders of this software give you +permission to link the assemblies with independent modules to produce new +assemblies, regardless of the license terms of these independent modules, +and to copy and distribute the resulting assemblies under terms of your +choice, provided that you also meet, for each linked independent module, +the terms and conditions of the license of that module. An independent +module is a module which is not derived from or based on these assemblies. +If you modify this software, you may extend this exception to your version +of the software, but you are not obligated to do so. If you do not wish to +do so, delete this exception statement from your version. + +A copy of the GNU General Public License is available in the COPYING.txt file +included with all NAnt distributions. + +For more licensing information refer to the GNU General Public License on the +GNU Project web site. +http://www.gnu.org/copyleft/gpl.html diff --git a/build-support/tools/nant/bin/NAnt.CompressionTasks.dll b/build-support/tools/nant/bin/NAnt.CompressionTasks.dll index acbb3319341eeb464cf48c36fa9e1dab6d30e2fd..0b5eddc96556c6f6cbc2065cd93f2310de8541ed 100644 GIT binary patch literal 36864 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 literal 32768 zcmeHvdvu(|k#BvE`Q{L2mCvdY)I0-kfd6Ap!y&-Gx z{Z)0(OOkoy>>qpg&L^v;s=Kb8y(BIBboSUbSR!qySeD@L^Ly=jwaL5o~;AXQFl1e77PZK zXwlnxi8dJ)J^kx;VCwlPg%(vA4$(HyQB}5Ozs4t-UaQJ$mEK&!`pa`15as;vxP%ZI zK$q(esXe`qXe(orL~{#5q)LHL5>=OwZyAje`AV35pf{AzZMnq39O%J~0H~9(mMW%- zuWid@Gef{dw@Dz(b1i;Lp0zMYTPBfm!6>?Z5|zw1hToEBEz!CXvVvADP_aP80u>8X zEKspP#R3%zR4h=jK*a(T3;cg%fp$Ju=Tk z&<-?{vyAH6&BA%uv<`E{vT|PZJ~J;@ESul%rE0VS5jJB$9CsE`AUhi%U`C%npBa>n zHGIH>&g(p3PrYWV2gie9&m1#``vAw)dN zw*jTqB@O4!tN1<5^W3+nb8I16m@bqIgzfAieB7|ih_Ov>rp2G30K3biFg^T)!kPZox2UgO z+`-fvKkN^$W-(*1Oo07X>Q7j3W*>1y!Ji=Dd-!2yUalzc;>rcQfCXOFADB>%JD@^& zS^RK?#Kci{DtKoFW>x7h_+ZhbRpBax0b;{(djRfQF5a#}EMT1ZSf~=`mlVa8VCYq5 z40kC`U3Iv6&dy$holFl7?dFI#iy#S9HT%8U^93RA!dbDUKm$&_3y%bJr<+(paMg7j zwLus6Ois1WZ9=_-VbC922HYQO25hPK-_(N7yDox`u~uNQHh`ed#cT|?@L`}Xv?_@h z4~N_irtGjC!+-*<%_@|>gK^JMp~T}3+Yg4TNP0=zfew33@TVcYL^0&CgL*oDAc z^c&!LBUF7y17?uB3T2|ziU4L%fkiZ{bEIbB)hp`4PUbaqo-qs>b62w*C+vx>5rNHq zsHsq&`wm#3rAB>*ofy^{W_6^?mKel{1aJjfYs1dM3yQ|5b4)P$Vl|KeffsX2Z`d2= zj#!NQPJpo2=b|gey+jkx-*MM!0;6=?E=|A;j=N3>w;LZmwy;D=zzKWjxV>Bza@XTy z&7H5GIb+8Bs9*g#_}}ODp)~K2qbSLH#25Byv(|)tGAL!+cC&dOSFxSvT&c|HpJENa zvW5x*F{*#6QT<_miGf0z((Pa#zc!Cnd(W9OXApIlLGLv;y>{k|<6@ByoZ4L%@U}Q! zS(9W%;!+*`{Xkm~`7%2$1)(C#1HYC;R>@Q;53z7SuS!H+SOocjz3E>O{>_-DyMZH^ zjkIn0ZXS$`NS4u9~`f8<7mHBzmop|kbL72vg~6@4N~(I;k!-8#>V z4RW757+ekzy8_@a*C`I&_0+zZLDtq378`6T*l)vZRt}EVl`0~(79#@75Y|}Xs0YV` zn4QIaN-a8O412BPUWw}1P5{k53uyK#fcysj0Z7%G;dH53wCh-k?nD;t<_o>{<*y z8wUtDE+%C_xps#phESqVk2_qz-2~869aU;royB2cS*~~7J*a&UOM21uUNs^!h7`?d zy+p-N%SDbm0#;9KFJMcP8GQ-SojEd9oN}@wPG0pahH6Hi#dOR(4MrUy+%L8`r#voH z6BQ+M=Vp`Wr8>$pF(^>7yE;2$*YE3C(j2uAyJ1@=dO?4EN3{Ds-OA&GIMzn;MY@iNa7fm`%J!=h2Ievaa*K9H_ z=5j^9F`VD-5FE$f|IFZPS#k6X?soWlB3@yYbH%T1)BIZPgIC23zLHUBr!FI-mi1Xk zvsY5vR2_N!!=faQIp;91Px)nZN^f7aP^msOZyp>PN*`%+$Xv8d*= z=MW~`0xnZ?G^DdfMru9AUDxDE z6l_L8v(K**WZTPoH4B-O&9^dW$tw#n}cD;AG;oykb2Sg+tZbmsNfFh5wgR)nRW7juC2QM~JM4oHZwr zESs_Opww!_2YE~K{n}N>P@-e04%wwRHXx2|@vORwD{+>Pc&P~oBtlfw;0$npt2l!4 zX8?qCnZv7;!>fu8ubS#`ob1ZZ0E*J>!d1%X)lRrt43i(xMm`GExL7HjHOEf#Q2^;V zHu)O>PwlJ=$~l0G^wj25kIw-zi7y4A!eCLkBg)r-l6eyjs=e-%*W?-C{CF94ZBn85 zZA`@#u+ks#S&h&9a|w{IB3@797b&8g6Tm`T&hI{4fnUU%JiNwZ0h330z&*seOQZ>^ z?weq0#nX70*Kjk71k^dq%P#W#dMVk0c8A%AI_2ldG;Oa^`$H5}`JCS-Fe=$mn#7wX zvG+jGIWeGtYY#`kS-Kag_6YKs+pnG4o;gd~tNriXlJ+J|-T%0@w2kU>aao&^{f{dO zdykU8q>Oi}e6F1?A9JKIrn37Pu9zYpC!zwcrQW$A#Dw0zxz;?yuw{+SppmZ_d>? zBRhX3i!Xn8Oqd)b@uKy9KV%m321{a{>+1u}A=7g1i}hm6=R0$*3^>-&9EV$e-o& zQA*0^V}VJ{M<&(%u@`;vlb?BSdEQ-{pIas8iTs@0m9JCt4r_QJmSo;xpl@g1VLdjSJgYowmTC%>cdA z;*x#VHCBLrDfs`gnE$BvMsI)~7WfT;F9|e!Ts}`=r@(CjlLFr>@KXZ6Ch(tqEG^*w zr7u7o{&V~ejrrf@576!YaU(=u^55@|=zgC@Nq}DQv;P0vzXb4gzySFIEMd9BwUGeB z1p-${`PG5GK!6SlehZ*OAIF=_4m}DOpyN{h4EP=TVSxMnwUqoGB_TQ!xZfY5wyN4H zNT_1Te^<2|`^s;to~^2Tas1>vZ@tUVD6Ustfj<0QSqrV2X&pu=m%z3laRcq=4LeB+1Z4qiMs365?hj4Bb&L+B2>aG>e zCK>^CJ8Wy<=CcT2G0sKFpN#VXtIa0BCbJdSzzeK>bou0YRukYdffoQ8)QR{sXp?m# z;DE)gvesmw{6c#l@K=n#2V84E3Aok%I-rt&rTq=yil2KiXunxI>5^& z`#k#qw*eY-mB3+vqaK!dz2G+r{yxF)5`5UZ8%8hU+oEt5-RAo^BF&(^ntIr%19hXO z{tk5}-L0wPs59xaLVb(AYcwGLs6LnQ+&1?)p`wcNaXX7vX^Pufv`JGd%??~G3~Q?2 z>;!dCQ`eXrEg#ZU+PnnRXEk+;*#qh;LaE*z%AL=>AED>W0nDjagi^ZriLaq}e21+N zVrQ+U?y%}W4QlG6)-8zQ+couR>kd%&YwB^U1NY#MY3iF+C#ZkW)Jf}uIE&gySh$B% z*4?1y3Z*m)(vNw`q+96Ut@{vx|In-`ul*2Wb+CmgrROXfQp6?=*VIA# z1fu#eP2FNY1L|2#eaQYttO+k^>OT7ipiXP*A^UmkW3yVNKi{MFDNy`PF>B3!m`iIl z#eSGegPQu9{WIk7DNTLPehJj1rcT+v!A!hIQ-83359)K8V!OQ-v%Q=U_xuGZA&QMZ6{n))*87SR2gI^j8i zRpBvBec$s8sAo0xQ?y%1FKOx}v|C80HT4SGMQPSb)%)vc7o~PhRXfkqBHEy-S2w)YE891ZcAl}AS_)LuSV9{V~SDJdn*iKuTU@e|HZim z)GfN5&)b1r;FGG(2n+QUUANlXfVv;(x=V!mm8$cxbytwRN_mB?yMnG&lvsBq<;tkr z3)D-rk{&8h`;AUIt|(YHV_Zl-*Hqd$XrQyzst302YC5PWSob}~YPv^Lw>tZcHFUf{ zy@X8XSDHHN+-kgos@EtheayMjxS05M7ITaqaNc8FLK`&o8T7Z7hBftw^ATem-KeQ2 zoqIstBNSWrCFELPQFXBHLq-q%R48TL9y+btv2}ZBE+<~}f>^hQRtj|+v2}ZBldfay za{gz~d;M<&tsv)kRe%=F20T0e0UWvWobsIwy$>Y@O)WpWgg4gY?bf~rX|6#GO+CiH zmXg0MfvV(j;ZgjmM72`5g7~g(#|QT^qjyK06%ZMEaj`|BmQq2uQG1 zP@G=$pEMc_JMhm&oPvR$7{5d9FMux%{2O3vpn>|0O8_r3_6A-vb{cmFEVIFQC=fIc z7|$7XrXTzbbO-Qf=w9QG0oVK#^{Z+TnqsDuyZZdZoN2_i& zA2sf;x&!zVRd)gZI?5Yx<@=ZBQ^q6CJ?7KKNvsI>8Vjo*kiPy3oaa}6opu^6)qey0 zMgQ}_FRK0m@UH5|0XJ5E8FB`yS^g7M#{qYN^Q3X0`UK#u)z8pL<7o9MKwk4t8utm# z`^HJ*Z>zs+K4*LtCH-`w`upge{n9`up-(^kyt;w>#_y^-08az&q6NWMA+srX!tA27 z^Ex2g;RTGkfnFACG#KMS*ZQ5Yzv=|eRcxQjj3dF4-#Cjh%bAF{&cme5JVZ(b4lZ`Py6heOBB)gp5>-5a_E z^8W}Q`HhD|KLGqvsDW0~Q)ufqz90HWoWWiUJz}wEAGey!`kI^2_K$&Y8y(VDhq=1u z6tdlQH4m5_=C+z=FuH`Z#!edVs=34t)BYOPf%Q*PuI5R=qg9VUpTjjh_PxgYYc|>) z=ErL;1O5?QHm){*UBmYI14Fbz`~d!qeVItuY3{H2y}i@CwDym7gIFvsJV~itBqfXJ z&f04{2h4;s448J(o(c02C+B&}_+;(#binNN-0E3G3P0++Y928^=DZ)A4>-31eg^yp z%qN|Xd74C;52w&koH=5Y0c@e`0aH>kCM7v3IY_mJk8Y&d*i+{lt!5h?qDH5U?xdf4 z+9*qdz;CAgfFGd)fE%TJKlK4`7JLQ$D>xSmK0to}{w|R)MCUu*^l^I3=!fKW<`D2J z%_Q&uvd{U(62L=dhW-lW!`3mn*<5dZ6Zky)Y19r_F9ZJAvW(wbKePSDeB@T&yBM(}Sq1K|9Q zl;pg7fal8}C@DW?sBs$DnJoF`GqH_Pn;17v!x*<0xF0_T#_k7Rg&z~+527T9AHD&v z0Ui-J3zP|4F`SK016e@(#2!=wd(hS)WG+q@G^E zN=tBch6m2WDlaJToeH5r{Yi8w-G}@@@!ejhit~KsZFlF}ykoOFJf2FtleToFb8X%3 z=vXF^%_iOSU_84&+cum^Z00p?EH_A)X#i;reif&L+kZ*?e&((Kaab z`eZ6GkjQaAc~o_efu&N3p&Z7Qr6RsAp5;O1nTr*)b@x87Q$MSn$i#DQri8Dg5Gv<; zDxxKFiiIVOv`+n7iQD$4_qenRe;&^S?HW#GbApW|a=Qj}X|@FC@}4{sR}_fegNdQ> zTtaNwHpDvT+ZR}N?LjAKl%-wC^iXPiIMF*gmYe8FW>7Lz^uG4ZhIn>wF20-fiVqJb zhJ}w6=%3n{6`5AZoJI3yiRtM9z)h!@_ID5Ljc3NX`9E3^45r+Kcsfft!cSb(l^NQb zye>iAnFIm|`ofKFW}-Kp%S_NT1xuBiuEKTk)OcdoF52Rz6V!+PX&u0F+I2&6jO|DT z@ydre7X`G-y)KctK9kHPbnLec^8b<0n;vq9IhJ=N@)(-~0>#^Gggh>0V_8af;<~{S zn(Ma~I^o(P#dU?QxT-+lCO#1#r5>1NFgco_-h;VJd`QKb#*1C%RVnSZ*a;gTmAEdE zLfq!!qhke`973asbPi!WZ4OK5u^*C{xvVA(F1)N|9_R7_7Ab>P7?(kxP0}GV7YJR$ z1{~m+)|CaC>!&X!%r(8VJC%s1cZ^|mP+FG#_q8n5+^rYP6sXf<-he^tA(Riqcqu zZo-25c@tnUf^Z27>UPHwEU@SHczOhr)=lT)Nm-)DCI(&1*Wtv$t$Xl^!R4qgktErYaTXod<*ud#S~VtNbs zeot~_9DD7Iiem>G$|T2Tt{hC}QYET)ZyMlkQptF_L<8;F?T9!me{KEgTq5I+4PX){ zhp-}{#pTIt5_?@yH{GNs86Qcz*<5lcOFfC*<0B)yB^KFcOr1)SlL9BsXvm<-T`QZ6 zBm#PY-a3{@Z%@RB&$`pePQ;);JvN@xt#}3~b!9J-2{xWe$?C$yrbK!qw-+-hci~Fv zO(kUIRZHq7yvn|A0#PQtvY@UZSR|{I!X})cD`Y$CPPxdJ`g@YuF*hq&fkF!#T_3)@ zji-_~h!07JR6(Eq^mXwJ`$Sie`fix|*Gu3cWUfmNCo-f++TlMy@2rGS1gxN>GVK0^{wN%q8ZPYU8s#;U>UzkGgJ|hiG21k zkjQmqhmuK5o^&=<90n(x#Z7iw93JUQ*mNELk^WVFb*5$CW_g`Kw>N|IcPVW zK?=BOSce-I#EGkCSiT0v5<^M$N@7@Byd*!BIDyBxaaLECELFV+lUeMmk|Uxvp2=me zNJ8m>@!eVZVqb0KP%De*8B4{7kSHZ2rx0~|)5EF(Y@<>zWiY|lXWUVaHrW=0o%aXX zLHhNMg=HTo8gIaaKxnYKMT*&F3zG0u@|mN|B$(M8wt3HRy&e@7(*&YEt}{mL7#Uf1 zX%Cd*)jhu*VL8?TQy9iN*X4ZSa@cj4PY1;yQvs?bSXU+!FInmk;c}{A9ZGS%A>^k8 zr;CM2Q$}p<-OTy$wmA06KHdy} z(X9R1f?>rG;xg{KC!bO>F@Qj0<#;z$ZCOZRnkGxuEU`E@Cc&g7mf_t=q}w95ECb#Y z&*sF@lD%TrLe-*=dI;rn6rmU+ki~UJdVkuzK3!P323@`0ZBBCBjH|dW*bXKu z*LvG{i4EVtsilYZHgtg`pSP(!SauSbGM(2a(@B_&Gu=$#956!&%Q`tjx!yL|%Efrs zwxU5-Ew9*6Wwj~aB6XZ?MtYMdnJh_8@Th+iRvGc6Ao(1PkDVL_DoMn7YLpmcF=H{U zuss&e^du8at~56G(n0)(adEuIF^pSa>>jvZT8f*}b~=pDC}EY=B^|mXhT7%8qqG~} zYvc%y!HrQH8C~lkCyATb1Z3q~CQ9VLv1CZNXb=)I_{nRc^oY_PEjL?`%Q`BJ(5`d6 zt}pLl7`n4|QH;xlrcqD_!I=e)Ru=9StqX|yRjdmO%=V7ry9{N8JrajJ zPch!DGqqPf9G9__`dnEqAG=xUc}zUVvsdKJ>B47m1yG}C!`yh|h<+QMrtduZ>C+Eh zzhTpz9lyBqo z1-c03rVS1NiYx&L*K&h!t#7{dKR@@o`mI@C)G{LHg(6Wa23Ckz0uZh>9UtDK#EYT^ z1HSTwxF-CzvZN;IwTaPIL0kP%+lX|8!kqyT$QTQ2V$h0a?a-*xbVB%Ogi;|^3V_0$ zqE9Evd|U=Vk#>>U&ee@l-3aAEtXC%xAIofKs?nyk(2geYZYbJDmf&R&V?iVeA`RT}=WEcQ>D!K!AF0l;F&kgM4C89IywnHQ9CmE7ya*L2xdZ^ALPlgF)79nX2=s@h`%OPp>Yvu=K zF7Vc%mySpj3~2u{gRd@V4A(|tk;xZX8u~H~^a%APUv9uxM?4Nrq|3*$2(Lrxi{}I< zOvAW%F5}?;9mktb!10AARSgwyrSayjK_2Zc(ePEa2Lc|(e$4~TTYX&6ioqHf6@`xk zx$cO+*6WEJ!9PEYA2||+H({x8CuRhDNPE-kjV!>pA`|eljL+}2B29wLg;qDHTi-Hu zje01Q!^LiTEzAk!33fR4&brC2a%QVK)8|321`liNfCTGha`V=Y#2Ep-*(`IX($90)U7Qh zBxauvZTL}NJ0bR_c?SP4vO)gBRWAO#2HyiB6bt_0phM`JzL1YQ;PO$v@)R$^D2m`J zzWPk_)u$MPuRlfh2;W5(%lR6VzwvbRRVdyKAX{$upfdcpnk^-U!!m*)z;YC6sPbZ3 zMSYQm$mFNN;KNi!*dFN>#u!QriOVAw!|IJZ1no&a4_%Z;tM z;DR)cVQpD=JTsKQ-Q7r{EzJtCC-J`^Cva7Ozt=G++!bxx(mNQHgJpCO2Tv@h{O&UG z7sU9tWWTskz&ja_7U@zf|9@nuGNjd+o>XdcJeel>vM!O3Z~M6R%y|@DtJo^AVu6YU zDi-*E$^!g17xMR1ljUm5s)?HbnpVzy8}NH2YL4Ttpz_agYbDUjX@GVC_R@A>{doIh z3+R5p^}zZ0s{Py7c`@E0)aU)`Q~ljH7uonVrLG8ifb!cTd_#~w@AJu(&qe$!kye9p z?oH#Yn38i<618cmC;EaNg|7J94ml~RGvahfr_r&2QRjbF;(Q1j;0>1u%DW+N6h8?_ z&7l{?JvM*J=w z>ywwww=7wl_Op;TjFxPd6y8U|U)+FiM5M8G$8ev(BN!2@@ZYOVEsNrvrf%FhMWG>k zsRMTb3cC>8N`%;lI4DM0zWJELOi{kfc8S7T92S*BzH6JTX zaRd-Xuk8AE#@r%4+XmS#>@Y63C`Bt4WkNj0#{Mnmo$9f?znFim__j-|&g0^n4ZfW@ zTbrpqW*L>IVu6YUDi)|%pkjfF1u7P(SfFBoiUt0QS>Re+oMK4ZNAnt.CompressionTasks - - - Expands a file packed using GZip compression. - - - Expands "test.tar.gz" to "test2.tar". - - - ]]> - - + + + Summary description for ExpandTask. + - - - Extracts the file from the gzip archive. - - - - - The file to expand. - - - - - The destination file. - - - - - Creates a tar file from the specified filesets. - - - Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#. - - - - Tar all files in ${build.dir} and ${doc.dir} into a file - called "backup.tar.gz", and apply gzip compression to it. - - - - - - - - - - - ]]> - - - - - - Creates the tar file. - - - - - The tar file to create. - - - - - Include empty directories in the generated tar file. The default is - . - - - - - The set of files to be included in the archive. - - - - - The compression method. The default is . - - - - - Specifies the compression methods supported by . - - - - - No compression. - - - - - GZIP compression. - - - - - BZIP2 compression. - - - - - Extracts files from a zip file. - - - Uses #ziplib (SharpZipLib), an open source Zip/GZip library written entirely in C#. - - - Extracts all the file from the zip, preserving the directory structure. - - - ]]> - - - - - - Extracts the files from the zip file. - - - + Extracts a file entry from the specified stream. The containing the compressed entry. + The directory where to store the expanded file. The name of the entry including directory information. The date of the entry. The uncompressed size of the entry. @@ -144,102 +29,250 @@ directory if it doesn't yet exist. - + Extracts a directory entry from the specified stream. The containing the directory entry. + The directory where to create the subdirectory. The name of the directory entry. The date of the entry. The destination directory for the entry could not be created. - + + + Overwrite files, even if they are newer than the corresponding + entries in the archive. The default is . + + + + + Expands a file packed using GZip compression. + + + Expands "test.tar.gz" to "test2.tar". + + + ]]> + + + + + + Extracts the file from the gzip archive. + + + + + The file to expand. + + + + + The destination file. + + + + + Creates a tar file from the specified filesets. + + + Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#. + + + + Tar all files in ${build.dir} and ${doc.dir} into a file + called "backup.tar.gz", and apply gzip compression to it. + + + + + + + + + + + ]]> + + + + + + Creates the tar file. + + + + + The tar file to create. + + + + + Include empty directories in the generated tar file. The default is + . + + + + + The set of files to be included in the archive. + + + - The archive file to expand. + The compression method. The default is . + + + Extracts files from a tar archive. + + + + Uses #ziplib + (SharpZipLib), an open source Zip/GZip library written entirely in C#. + + + + Extracts all files from a gzipped tar, preserving the directory structure. + + + ]]> + + + + + + Extracts the files from the archive. + + + + + The archive file to expand. + + + + + The directory where to store the expanded file(s). The default is + the project base directory. + + + + + The compression method. The default is . + + + + + Extracts files from a zip archive. + + + + Uses #ziplib + (SharpZipLib), an open source Zip/GZip library written entirely in C#. + + + + Extracts all the file from the zip, preserving the directory structure. + + + ]]> + + + + + + Extracts the files from the zip file. + + + + + The archive file to expand. + + - - The directory where the expanded files should be stored. The - default is the project base directory. - - - - - Overwrite files, even if they are newer than the corresponding - entries in the archive. The default is . - + + The directory where the expanded files should be stored. The + default is the project base directory. + - - The character encoding that has been used for filenames inside the - zip file. The default is the system's OEM code page. - + + The character encoding that has been used for filenames inside the + zip file. The default is the system's OEM code page. + - - Creates a zip file from the specified filesets. - - - Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#. - - - - Zip all files in ${build.dir} and ${doc.dir} into a file - called "backup.zip". - - - - - - - - - - - ]]> - - + + Creates a zip file from the specified filesets. + + + + Uses #ziplib + (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#. + + + + + Zip all files in ${build.dir} and ${doc.dir} into a file + called "backup.zip". + + + + + + + + + + + ]]> + + - - Creates the zip file. - + + Creates the zip file. + - - The zip file to create. - + + The zip file to create. + - - The comment for the file. - + + The comment for the file. + - - Date/time stamp for the files in the format MM/DD/YYYY HH:MM:SS. - + + Date/time stamp for the files in the format MM/DD/YYYY HH:MM:SS. + - - Desired level of compression. Possible values are 0 (STORE only) - to 9 (highest). The default is 6. - + + Desired level of compression. Possible values are 0 (STORE only) + to 9 (highest). The default is 6. + - - Include empty directories in the generated zip file. The default is - . - + + Include empty directories in the generated zip file. The default is + . + - - The set of files to be included in the archive. - + + The set of files to be included in the archive. + @@ -248,31 +281,100 @@ - - The character encoding to use for filenames and comment inside the - zip file. The default is the system's OEM code page. - + + The character encoding to use for filenames and comment inside the + zip file. The default is the system's OEM code page. + - - Specifies how entries with the same name should be processed. - + + Specifies how entries with the same name should be processed. + - - Overwrite existing entry with same name. - + + Overwrite existing entry with same name. + - - Preserve existing entry with the same name. - + + Preserve existing entry with the same name. + + + Report failure when two entries have the same name. + + + - Report failure when two entries have the same name. + Specialized for + that ignores case when converting from string. + + + Initializes a new instance of the + class. + + + + + Converts the given object to the type of this converter, using the + specified context and culture information. + + An that provides a format context. + A object. If a is passed, the current culture is assumed. + The to convert. + + An that represents the converted value. + + + + + Specifies the compression methods supported by + and . + + + + + No compression. + + + + + GZIP compression. + + + + + BZIP2 compression. + + + + + Specialized for + that ignores case when converting from string. + + + + + Initializes a new instance of the + class. + + + + + Converts the given object to the type of this converter, using the + specified context and culture information. + + An that provides a format context. + A object. If a is passed, the current culture is assumed. + The to convert. + + An that represents the converted value. + + A is a with extra @@ -280,45 +382,45 @@ - - A 3 digit octal string, specify the user, group and other modes - in the standard Unix fashion. Only applies to plain files. The - default is 644. - + + A 3 digit octal string, specify the user, group and other modes + in the standard Unix fashion. Only applies to plain files. The + default is 644. + - - A 3 digit octal string, specify the user, group and other modes - in the standard Unix fashion. Only applies to directories. The - default is 755. - + + A 3 digit octal string, specify the user, group and other modes + in the standard Unix fashion. Only applies to directories. The + default is 755. + - - The username for the tar entry. - + + The username for the tar entry. + - - The user identifier (UID) for the tar entry. - + + The user identifier (UID) for the tar entry. + - - The groupname for the tar entry. - + + The groupname for the tar entry. + - - The group identifier (GID) for the tar entry. - + + The group identifier (GID) for the tar entry. + - - The top level directory prefix. If set, all file and directory paths - in the fileset will have this value prepended. Can either be a single - directory name or a "/" separated path. - + + The top level directory prefix. If set, all file and directory paths + in the fileset will have this value prepended. Can either be a single + directory name or a "/" separated path. + @@ -372,11 +474,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -409,16 +511,16 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. - - Get the total number of files that are represented by the - filesets in this collection. - + + Get the total number of files that are represented by the + filesets in this collection. + @@ -433,28 +535,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -463,11 +565,11 @@ - - The top level directory prefix. If set, all file and directory paths - in the fileset will have this value prepended. Can either be a single - directory name or a "/" separated path. - + + The top level directory prefix. If set, all file and directory paths + in the fileset will have this value prepended. Can either be a single + directory name or a "/" separated path. + @@ -521,11 +623,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -558,16 +660,16 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. - - Get the total number of files that are represented by the - filesets in this collection. - + + Get the total number of files that are represented by the + filesets in this collection. + @@ -582,28 +684,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + diff --git a/build-support/tools/nant/bin/NAnt.Core.dll b/build-support/tools/nant/bin/NAnt.Core.dll index df9936bd187e74b99c1e9420551f7f3e82d2e30b..8b3741a9e9b873bc1346b48475d2a208a9c1cf53 100644 GIT binary patch literal 376832 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 z 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 literal 356352 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�Bw=K!iHu+kahGhCHU ztDv0AKs$$=8C=trOX_*%c235HSSNGSEEaQGZkk~C^*EMD3>>yZ$}v9WI{*Z7?bhba zz%6a=xDlJbl_j4e>!X_ow_;Te;+)7}xd&Yull~{`bfJ1Bi;6|{Br@fp+bFTkNh?R? zVfR@yQdW4nXU$xR2_?Qxmw0%7&`dGU+~U^em*oc$Z39~BFU~l9UEzB3>lWA}4LszZ zP;>6`Y*Lsv_p9JWV|dX-*vjK%dTwz+jIwq*60 ztdPg?8tukA2Id`3B$RgRN3ti(w8ycayjG+L0hB|6BezMcG(C_1l~sqPw-@k%$puVj z+O{XlWF)$knp$ib<(v4r%?Mp&82ubm`g1NynrF~@8y>O^L;j+|!zKm&rhWFaa>X)P z=sg+3I4I$&9r?w#9$GEdR+R)myGnd()hc4q_<0n4;@Ot!taP5CYP#lr<8^FxJ6V(|Guu!XreR@i)qx!-zoc|R8wNb_Un<`K_kY; z469(DR_mIG5uV3tXN!hiMsQ1D#HKCUYnDwb?XlxND@4+2U%SxVl5C+I=QotG?FDoG zY8@qA_)?)Lg*dJSiubXJjH)b#9K_`H^lry_87HoSHx!$2uCNS&m$eu)yZl{Fi#m^^h;gkp%W@Glc)uuzuu z1{16$70a~|u%!hu97?@+$-brEL&&@eD$f`y&tTfysC-)a6QPnal7{xQmBkG(-@s~m|u@yZi^%Qs0-;CdMmel`8V<lDlkCgErpCs=7F>8qjTdxu5u}$pj>@!QRFCLcTOy$z8TK>)A z;O`m*g$Wht16xA1G}odI!i`GYJgd&@_-68>JJz^om)gsw)i$I0ngo~jFN|nij@UB$ zIyEyzY8{tTI-Y1!yU3NO)|&i-`RyQQyUFAS*outC3Z!aOc)x{y8#*lO@Hy#MOOV>! zDFTPPMgsh0Z5Wl_t;g$qYk0bKlPfT)ufy#_-pK0@W5LG>C-k=<{~Jm4RK;+w_AdN; zqFjZ|gRMWJQh@-8$co@;lVq1hY>hZ;uc_V3xDb5dv|PdFVY#%oFh@^b=_%M5M&T9Z zf(6BM!u)QBF+wKj6|(N+gRB_~)9P=r`@(>0AwOnxXMRhsR7L4r0e1u6lwY26hgUMN z?3JCTz2d^gUfG}){;Toi*E}I&%QIWAZzNIB*bDaKrPk|OIHq;pgDqa2K|WY)s~=2M z>)YC+N#feXja8XI0oRu`XJIczp2oNy;`J?<@l?;miVCa&3vsc{e51Q@h?Z|C0_a@>DrKPjy6T>fp@jPFB%>J1GRU6 z{|}{V9^#FdtF`f~z*BE+>+I2LZSA8EdOeq3akU6_s(i{s_nz*+K73L1F5Vx$pTGJF zu*w}~(~aJ0=Wi%{kR59k&i!RrGgjgx*LtI2l{Oyd=?X8wn&&lZddb#cXETF1y>6o?@8jz$eKfWe~ZLMP#emxX6V5T)CZEI^O|F>mjuCAOq*cES%9J)g{)2 ztt^#iNqU2q=VG;zdK!0N?xKS)lSk#i4p{3HuFiGx{Dj@KmDXjO@h;C_h=KUD?ICtCkL*gcjL9Kn~ ztB^fp=ZgNcE3Xq7DvMbNI}(1B^H`o-GHO*8pXnfXp4#eJhTt<@Xx^d1%9|{#(Xr|2^5mRJ+~gdC2qa6A3&lzCwdNtpp)xVQDAm?IN%km> za4)WPwwe9Mm}x32l~-=N-3%t-ndzZqV^46PW3g{jbwi8^anV8+^v6yjhqa|Psw$CY z!GGR4K6CSsYCa3()>ACMW0HRf7MpgF7bP@}r^4m)lXH;n2)=*1_kE5{N)j(+!ETLl zt7-FPEOz8GL_#72*AZdiF(DeOFL3aNhVIYrHD$vC(Bn8T^R z#cOUFEYu|7e@-{r{_Azv#8yRZY#iE_U+)iz(5z73`c0%fY?CoAFuri`h*|9M z?ZJFOrQ)Iyf#8k#jp2^h*GoX`x$;$3nj6sIN2K87%n#j{zcIXyBwM3L)d(zzKG@qy z5;q1!aLB3e#%ul*f1TwIv}|*H+F(kGrUb1lkR&2|muG~LN(g9eXFPGR0ZxUpb`Ts; zvk$}ydVz^eMDy+vV$N1n$`2G21wu@Y1a*303c*P0?={otZy2$ORL~)pySz~Mu2U}&ZJ-jt! z2Q$-5|1$yCxqVlI6=?LRahmP|Sk17mhIjgK!WtXi zXrM6i-7uDS8y@>ht;ZyR>dwO-ConYBx%Xt>GeZeKg=-LhAEOAy@kE;bSakmJ?2GO;LR3jWy-qeOh1N^OtOUC z&o^r3)Rvf%=`}84P3w%v4MK3I$lX-$F~3|1uAgDX1nf(nlHS52;8R>lG? zr}N@W3@L2P|iM3>6aj`=5HY@vs`b+TxjG`X!VuJVqOJQz+Igbg}=QlB)V58p15aS`d$>k0v z-tUG@XnnsO3}NQ)y-fX!T$|qe{I=fhji_h4y|bY4ENYWMWvQs%pdtBeJS%1O`C$r| zTFX>w2Ru%*#t&@Ks_DL;AAO({G;E01U8y^gh1Uusavse3%8jw&S3@ z=kVV0o%{D67~ybF`B9>hmGY@elk5>y4c{MDW)48B{~oyG4lOMhjpw}P*`+l)7nW)- zk{V~}rEjAgD~~=ge%jxDQ9jMKRPyiISskt8zk7baf3_cg%m4h(IxmN-?C&49%RPU1 ze(}i6%yI2~pIw?F@~ezaYxOh^;xBHE%8z6#Ucb6df$J2wMhdV7fReoWt)8u5LQB@J z`@YIO#{XwN-5_iiqpCQtc1$MNVX&L*N0(Gy(jWnxD;*Pn0q{h$AjbioaG3+DURHLLT%O(vG(pBuU#-xeT~Qy$(>&EjBK(sNA=hUG zqCf8Y5kPa`q->^tB%&MAUsxGsME&pGWHg}x9{?y(*FR^j*B0rs1Xwy=|6e9|`UJf_ z&Dkf&jS9DE&XpC_X9l2CG}NxEZ(`_sNl)-AIQnx5So-M11LPf(Pc@GMUmv2^2dwm! z6XkRDy?^!}d z|FZYWd^F;)eJ$}$8;b*c_RG)ifx3?ZO`nNa;rtXZCixJC{_KNu(rr0M=#^~B^)A}y zKvb^G|0C9?6EPm*2w@j^LRUUQSL@q88w3CJhd!+_1$`2#WNE*Dm9m{95a=%)AF;6- zV^o(6e`Vd(-?i#=j+tOw|8t!J*C}wF0@o>UodVY>aGe6zDR7+v*D3H{I0a7j6In#j yUmp4|oDSE!f1Lu?DR7+v*C}wF0@o>UodVY>aGe6zDR7+v*C}wF0{=gz!2b)R<^ELw diff --git a/build-support/tools/nant/bin/NAnt.Core.xml b/build-support/tools/nant/bin/NAnt.Core.xml index 4f8441fe..92d7cd1d 100644 --- a/build-support/tools/nant/bin/NAnt.Core.xml +++ b/build-support/tools/nant/bin/NAnt.Core.xml @@ -11,9 +11,9 @@

- - Base class for all validator attributes. - + + Base class for all validator attributes. + @@ -36,53 +36,50 @@ cannot be converted to a . - - Indicates that property should be treated as a XML attribute for the - task. - - - Examples of how to specify task attributes - - #region Public Instance Properties - - [BuildAttribute("out", Required=true)] - public string Output { - get { return _out; } - set { _out = value; } - } + + Indicates that property should be treated as a XML attribute for the + task. + + + Examples of how to specify task attributes + + #region Public Instance Properties - [BuildAttribute("optimize")] - [BooleanValidator()] - public bool Optimize { - get { return _optimize; } - set { _optimize = value; } - } + [BuildAttribute("out", Required=true)] + public string Output { + get { return _out; } + set { _out = value; } + } + [BuildAttribute("optimize")] + [BooleanValidator()] + public bool Optimize { + get { return _optimize; } + set { _optimize = value; } + } + [BuildAttribute("warnlevel")] + [Int32Validator(0,4)] // limit values to 0-4 + public int WarnLevel { + get { return _warnLevel; } + set { _warnLevel = value; } + } + [BuildElement("sources")] + public FileSet Sources { + get { return _sources; } + set { _sources = value; } + } - [BuildAttribute("warnlevel")] - [Int32Validator(0,4)] // limit values to 0-4 - public int WarnLevel { - get { return _warnLevel; } - set { _warnLevel = value; } - } + #endregion Public Instance Properties - [BuildElement("sources")] - public FileSet Sources { - get { return _sources; } - set { _sources = value; } - } - - #endregion Public Instance Properties - - #region Private Instance Fields - - private string _out = null; - private bool _optimize = false; - private int _warnLevel = 4; - private FileSet _sources = new FileSet(); - - #endregion Private Instance Fields - - + #region Private Instance Fields + + private string _out = null; + private bool _optimize = false; + private int _warnLevel = 4; + private FileSet _sources = new FileSet(); + + #endregion Private Instance Fields + + @@ -94,89 +91,85 @@ is a zero-length . - - Gets or sets the name of the XML attribute. - - - The name of the XML attribute. - + + Gets or sets the name of the XML attribute. + + + The name of the XML attribute. + - - Gets or sets a value indicating whether the attribute is required. - - - if the attribute is required; otherwise, - . The default is . - + + Gets or sets a value indicating whether the attribute is required. + + + if the attribute is required; otherwise, + . The default is . + - - Gets or sets a value indicating whether property references should - be expanded. - - - if properties should be expanded; otherwise - . The default is . - + + Gets or sets a value indicating whether property references should + be expanded. + + + if properties should be expanded; otherwise + . The default is . + - - Used to specify how this attribute will be handled as the XML is - parsed and given to the element. - - - if XML should be processed; otherwise - . The default is . - + + Used to specify how this attribute will be handled as the XML is + parsed and given to the element. + + + if XML should be processed; otherwise + . The default is . + - - Indicates that property should be treated as a XML arrayList - - - - Should only be applied to properties exposing strongly typed arrays or - strongly typed collections. - - - The XML format is like this: - - - - - - - - ]]> - - - + + Indicates that property should be treated as a XML arrayList + + + + Should only be applied to properties exposing strongly typed arrays or + strongly typed collections. + + + The XML format is like this: + + + + + + + + ]]> + + + - - Indicates that the property should be treated as an XML element and - further processing should be done. - - - - Should only be applied to properties exposing strongly typed arrays or - strongly typed collections. - - - The XML format is like this: - - - - - - - ]]> - - - + + Indicates that the property should be treated as an XML element and + further processing should be done. + + + + The XML format is like this: + + + + + + + ]]> + + + @@ -188,31 +181,31 @@ is a zero-length . - - Gets or sets the name of the attribute. - - - The name of the attribute. - + + Gets or sets the name of the attribute. + + + The name of the attribute. + - - Gets or sets a value indicating whether the attribute is required. - - - if the attribute is required; otherwise, - . The default is . - + + Gets or sets a value indicating whether the attribute is required. + + + if the attribute is required; otherwise, + . The default is . + - - Used to specify how this element will be handled as the XML is parsed - and given to the element. - - - if XML should be processed; otherwise - . The default is . - + + Used to specify how this element will be handled as the XML is parsed + and given to the element. + + + if XML should be processed; otherwise + . The default is . + @@ -239,34 +232,34 @@ reflection. - is . + is . - - Indicates that the property should be treated as a container for a - collection of build elements. - - - - Should only be applied to properties exposing strongly typed arrays or - strongly typed collections. - - - The XML format is like this: - - - - - - - - - - ]]> - - - + + Indicates that the property should be treated as a container for a + collection of build elements. + + + + Should only be applied to properties exposing strongly typed arrays or + strongly typed collections. + + + The XML format is like this: + + + + + + + + + + ]]> + + + @@ -279,15 +272,15 @@ is a zero-length . - - The name of the child element within the collection. - - - The name to check for in the XML of the elements in the collection. - - - This can be used for validation and schema generation. - + + The name of the child element within the collection. + + + The name to check for in the XML of the elements in the collection. + + + This can be used for validation and schema generation. + @@ -309,14 +302,14 @@ cannot be converted to a . - - Indicates that class should be treated as a NAnt element. - - - Attach this attribute to a subclass of Element to have NAnt be able - to recognize it. The name should be short but must not confict - with any other element already in use. - + + Indicates that class should be treated as a NAnt element. + + + Attach this attribute to a subclass of Element to have NAnt be able + to recognize it. The name should be short but must not confict + with any other element already in use. + @@ -328,18 +321,18 @@ is a zero-length . - - Gets or sets the name of the element. - - - The name of the element. - + + Gets or sets the name of the element. + + + The name of the element. + - - Indicates that a property should be treated as a XML file set for the - task. - + + Indicates that a property should be treated as a XML file set for the + task. + @@ -351,24 +344,24 @@ is a zero-length . - - Indicates that the value of the property to which the attribute is - assigned, can be configured on the framework-level in the NAnt application - configuration file. - - - - The following example shows a property of which the value can be - configured for a specific framework in the NAnt configuration file. - - - [FrameworkConfigurable("exename", Required=true)] - public virtual string ExeName { - get { return _exeName; } - set { _exeName = value; } - } - - + + Indicates that the value of the property to which the attribute is + assigned, can be configured on the framework-level in the NAnt application + configuration file. + + + + The following example shows a property of which the value can be + configured for a specific framework in the NAnt configuration file. + + + [FrameworkConfigurable("exename", Required=true)] + public virtual string ExeName { + get { return _exeName; } + set { _exeName = value; } + } + + @@ -380,30 +373,30 @@ is a zero-length . - - Gets or sets the name of the framework configuration attribute. - - The name of the framework configuration attribute. + + Gets or sets the name of the framework configuration attribute. + + The name of the framework configuration attribute. - - Gets or sets a value indicating whether the configuration attribute - is required. - - - if the configuration attribute is required; - otherwise, . The default is . - + + Gets or sets a value indicating whether the configuration attribute + is required. + + + if the configuration attribute is required; + otherwise, . The default is . + - - Gets or sets a value indicating whether property references should - be expanded. - - - if properties should be expanded; otherwise - . The default is . - + + Gets or sets a value indicating whether property references should + be expanded. + + + if properties should be expanded; otherwise + . The default is . + @@ -425,12 +418,12 @@ is a zero-length . - - Gets or sets the name of the function. - - - The name of the function. - + + Gets or sets the name of the function. + + + The name of the function. + @@ -460,23 +453,23 @@ - - Gets or sets the category of the function set. - - - The name of the category of the function set. - - - This will be displayed in the user docs. - + + Gets or sets the category of the function set. + + + The name of the category of the function set. + + + This will be displayed in the user docs. + - - Gets or sets the prefix of all functions in this function set. - - - The prefix of the functions in this function set. - + + Gets or sets the prefix of all functions in this function set. + + + The prefix of the functions in this function set. + @@ -533,35 +526,48 @@ - - The base of the number to validate, which must be 2, 8, 10, or 16. - - - The base of the number to validate. - - - The default is 10. - + + The base of the number to validate, which must be 2, 8, 10, or 16. + + + The base of the number to validate. + + + The default is 10. + - - Defines possible locations in which a task executable can be located. - + + Defines possible locations in which a task executable can be located. + - - Locates the task executable in the current Framework directory. - + + Locates the task executable in the current Framework directory. + - - Locates the task executable in the current Framework SDK directory. - + + Locates the task executable in the current Framework SDK directory. + Indicates the location that a task executable can be located in. + + + When applied to a task deriving from , + the program to execute will first be searched for in the designated + location. + + + If the program does not exist in that location, and the file name is + not an absolute path then the list of tool paths of the current + target framework will be searched (in the order in which they are + defined in the NAnt configuration file). + + @@ -599,15 +605,15 @@ is an empty string value and is set to . - - Gets or sets a value indicating whether an empty string or - should be a considered a valid value. - - - if an empty string or - should be considered a valid value; otherwise, . - The default is . - + + Gets or sets a value indicating whether an empty string or + should be a considered a valid value. + + + if an empty string or + should be considered a valid value; otherwise, . + The default is . + @@ -619,41 +625,38 @@ - - An optional error message that can be used to better describe the - regular expression error. - + + An optional error message that can be used to better describe the + regular expression error. + - - Indicates that property should be treated as a XML attribute for the - task. - - - Examples of how to specify task attributes - - // task XmlType default is string - [TaskAttribute("out", Required=true)] - string _out = null; // assign default value here - - [TaskAttribute("optimize")] - [BooleanValidator()] - // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) - string _optimize = Boolean.FalseString; - - [TaskAttribute("warnlevel")] - [Int32Validator(0,4)] // limit values to 0-4 - // during ExecuteTask you can safely use Convert.ToInt32(_optimize) - string _warnlevel = "0"; - - [BuildElement("sources")] - FileSet _sources = new FileSet(); - - NOTE: Attribute values must be of type of string if you want - to be able to have macros. The field stores the exact value during - InitializeTask. Just before ExecuteTask is called NAnt will expand - all the macros with the current values. - + + Indicates that property should be treated as a XML attribute for the + task. + + + Examples of how to specify task attributes + + // task XmlType default is string + [TaskAttribute("out", Required=true)] + string _out = null; // assign default value here + [TaskAttribute("optimize")] + [BooleanValidator()] + // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) + string _optimize = Boolean.FalseString; + [TaskAttribute("warnlevel")] + [Int32Validator(0,4)] // limit values to 0-4 + // during ExecuteTask you can safely use Convert.ToInt32(_optimize) + string _warnlevel = "0"; + [BuildElement("sources")] + FileSet _sources = new FileSet(); + + NOTE: Attribute values must be of type of string if you want + to be able to have macros. The field stores the exact value during + Initialize. Just before ExecuteTask is called NAnt will expand + all the macros with the current values. + @@ -665,14 +668,14 @@ is a zero-length . - - Indicates that class should be treated as a task. - - - Attach this attribute to a subclass of Task to have NAnt be able - to recognize it. The name should be short but must not confict - with any other task already in use. - + + Indicates that class should be treated as a task. + + + Attach this attribute to a subclass of Task to have NAnt be able + to recognize it. The name should be short but must not confict + with any other task already in use. + @@ -683,29 +686,16 @@ is . is a zero-length . - - - Functions as a chainable TextReader - - - Implements a abstraction over a TextReader that allows the class to represent - either a TextReader or another ChainableReader to which it is chained. - - By passing a ChainableReader as a constructor paramater it is possiable to - chain many ChainableReaders together. The last ChainableReader in the chain must - be based on a TextReader. - - - - Models a NAnt XML element in the build file. - - - - Automatically validates attributes in the element based on attributes - applied to members in derived classes. - - + + Models a NAnt XML element in the build file. + + + + Automatically validates attributes in the element based on attributes + applied to members in derived classes. + + @@ -725,18 +715,18 @@ Derived classes that wish to add custom initialization should override - the method. + the method. - - Logs a message with the given priority. - - The message priority at which the specified message is to be logged. - The message to be logged. - - The actual logging is delegated to the project. - + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + The actual logging is delegated to the project. + @@ -750,11 +740,21 @@ + + Derived classes should override to this method to provide extra + initialization and validation not covered by the base class. + + The XML node of the element to use for initialization. + + Derived classes should override to this method to provide extra initialization and validation not covered by the base class. - The XML node of the element to use for initialization. + + Access to the that was used to initialize + this is available through . + @@ -763,33 +763,33 @@ - - Performs initialization using the given set of properties. - + + Performs initialization using the given set of properties. + - - Initializes all build attributes and child elements. - + + Initializes all build attributes and child elements. + - - Locates the XML node for the specified attribute in the project - configuration node. - - The name of attribute for which the XML configuration node should be located. - The framework to use to obtain framework specific information, or if no framework specific information should be used. - - The XML configuration node for the specified attribute, or - if no corresponding XML node could be - located. - - - If there's a valid current framework, the configuration section for - that framework will first be searched. If no corresponding - configuration node can be located in that section, the framework-neutral - section of the project configuration node will be searched. - + + Locates the XML node for the specified attribute in the project + configuration node. + + The name of attribute for which the XML configuration node should be located. + The framework to use to obtain framework specific information, or if no framework specific information should be used. + + The XML configuration node for the specified attribute, or + if no corresponding XML node could be + located. + + + If there's a valid current framework, the configuration section for + that framework will first be searched. If no corresponding + configuration node can be located in that section, the framework-neutral + section of the project configuration node will be searched. + @@ -817,12 +817,12 @@ - - Gets the name of the XML element used to initialize this element. - - - The name of the XML element used to initialize this element. - + + Gets the name of the XML element used to initialize this element. + + + The name of the XML element used to initialize this element. + @@ -854,21 +854,21 @@ - - Gets or sets the XML node of the element. - - - The XML node of the element. - + + Gets or sets the XML node of the element. + + + The XML node of the element. + - - Gets or sets the location in the build file where the element is - defined. - - - The location in the build file where the element is defined. - + + Gets or sets the location in the build file where the element is + defined. + + + The location in the build file where the element is defined. + @@ -914,11 +914,13 @@ is . - + Creates a child using property set/get methods. The instance that represents the property of the current class. + A representing the get accessor for the property. + A representing the set accessor for the property. The used to initialize the new instance. The collection of property values to use for macro expansion. The from which to obtain framework-specific information. @@ -946,10 +948,10 @@ - - Holds the dictionary that should be used for property - expansion. - + + Holds the dictionary that should be used for property + expansion. + @@ -960,21 +962,21 @@ - - Holds the names of the attributes that still need to be - processed. - + + Holds the names of the attributes that still need to be + processed. + - - Holds the names of the child nodes that still need to be - processed. - + + Holds the names of the child nodes that still need to be + processed. + - - Holds the logger for the current class. - + + Holds the logger for the current class. + @@ -994,74 +996,218 @@ + + Internal interface used for setting element attributes. + + + - Internal interface used for setting element attributes. + Represents an explicitly named list of directories. + + + A is useful when you want to capture a list of + directories regardless whether they currently exist. + + + + + The base of the directory of this dirlist. The default is the project + base directory. + + + + + Gets the collection of environment variables that should be passed + to external programs that are launched. + + + + The collection of environment variables that should be passed + to external programs that are launched. + + + + + + The command-line arguments for the runtime engine. + + + + + Represents an in which one or more extensions + are found. - + - Makes it so all calls to Read and Peek are passed the ChainableReader - passed as a parameter. + Initializes a new instance of the + class for a given . - ChainableReader to forward calls to + + The instance is not cached for + future use. If this is required, use . + + The for which to construct an . - + - Makes it so all calls to Read and Peek are passed the TextReader - passed as a parameter. - - TextReader to forward calls to - - - - Forwards Peek calls to the TextReader or ChainableReader passed in the corresponding constructor. - - Character or -1 if end of stream - - - - Forwards Read calls to the TextReader or ChainableReader passed in the corresponding constructor. + Creates an for the specified + and caches it for future use. + + If an for the same assembly is + available in the cache, then this cached instance is returned. + + The for which to construct an . - Character or -1 if end of stream. + The for the specified . - + - Closes the reader. + Gets the containing extensions. - + - Calls close and supresses the finalizer for the object. + Initializes a instance of the + class for an extension in a given . + + The in which the extension is found. + is . + + + + Initializes a instance of the + class for an extension in a given . + + The in which the extension is found. + is . + + + + Gets the in which the extension + was found. - + - Gets a value indicating if the reader is backed by a stream in the - chain. + Gets the from which the extension will + be created. - if the reader is backed by a stream; - otherwise, . + The containing the extension. - + - Allows a file's content to be modified while performing an operation. + Initializes a new instance of the + with the specified type. + The type of the to consume. + is . + + + + Responsible for scanning types for plugins, and maintaining a cache of + instances. + + + + + Scans a given for plugins. + + The containing the to scan. + The to scan. + The which will be used to output messages to the build log. + + if represents a + ; otherwise, . + + + + + Registers matching plugins for the specified . + + The which plugins must be registered for. + is . + + + + Functions as a chainable TextReader + + + Implements a abstraction over a TextReader that allows the class to represent + either a TextReader or another ChainableReader to which it is chained. + By passing a ChainableReader as a constructor paramater it is possiable to + chain many ChainableReaders together. The last ChainableReader in the chain must + be based on a TextReader. + + + + + Makes it so all calls to Read and Peek are passed the ChainableReader + passed as a parameter. + + ChainableReader to forward calls to + + + + Makes it so all calls to Read and Peek are passed the TextReader + passed as a parameter. + + TextReader to forward calls to + + + + Forwards Peek calls to the TextReader or ChainableReader passed in the corresponding constructor. + + Character or -1 if end of stream + + + + Forwards Read calls to the TextReader or ChainableReader passed in the corresponding constructor. + + + Character or -1 if end of stream. + + + + + Closes the reader. + + + + + Calls close and supresses the finalizer for the object. + + + + + Gets a value indicating if the reader is backed by a stream in the + chain. + + + if the reader is backed by a stream; + otherwise, . + + + + + Allows a file's content to be modified while performing an operation. + - - Called after construction and after properties are set. Allows - for filter initialization. - + + Called after construction and after properties are set. Allows + for filter initialization. + - - If then the filter will be used; otherwise, - skipped. The default is . - + + If then the filter will be used; otherwise, + skipped. The default is . + @@ -1073,10 +1219,23 @@ Creates a new instance of the class - for the specified class in the - specified. + for the specified class in the specified + . - The containing the . + + An for the specified + is cached for future use. + + The containing the . + The class representing the . + + + + Creates a new instance of the class + for the specified class in the specified + . + + The containing the . The class representing the . @@ -1089,15 +1248,6 @@ this . - - - Gets the from which the filter will be - created. - - - The containing the filter. - - Gets the name of the filter which the @@ -1172,11 +1322,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -1209,10 +1359,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -1233,28 +1383,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -1313,15 +1463,15 @@ - - Provides the abstract base class for types. - + + Provides the abstract base class for types. + - - Should be overridden by derived classes. clones the referenced types - data into the current instance. - + + Should be overridden by derived classes. clones the referenced types + data into the current instance. + @@ -1330,10 +1480,14 @@ - The ID used to be referenced later. + + The ID used to be referenced later. + - The ID to use as the reference. + + The ID to use as the reference. + @@ -1346,12 +1500,12 @@ - - Gets the name of the datatype. - - - The name of the datatype. - + + Gets the name of the datatype. + + + The name of the datatype. + @@ -1376,21 +1530,21 @@ - - The filters to apply. - + + The filters to apply. + - - The encoding to assume when filter-copying files. The default is - system's current ANSI code page. - + + The encoding to assume when filter-copying files. The default is + system's current ANSI code page. + - - Configurator that initializes filters in the order in which they've - been specified in the build file. - + + Configurator that initializes filters in the order in which they've + been specified in the build file. + @@ -1444,11 +1598,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -1481,10 +1635,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -1499,28 +1653,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -1557,32 +1711,32 @@ - - Holds data for expression expansion between input and output. - + + Holds data for expression expansion between input and output. + - - Called after construction and after properties are set. Allows - for filter initialization. - + + Called after construction and after properties are set. Allows + for filter initialization. + - - Reads the next character applying the filter logic. - - Char as an int or -1 if at the end of the stream + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream - - Reads the next character applying the filter logic without advancing the current position in the stream. - - Char as an int or -1 if at the end of the stream + + Reads the next character applying the filter logic without advancing the current position in the stream. + + Char as an int or -1 if at the end of the stream - - Moves to the next character. - + + Moves to the next character. + @@ -1591,9 +1745,9 @@ - - Determines whether we've passed the end of our data. - + + Determines whether we've passed the end of our data. + @@ -1638,47 +1792,46 @@ - - Construct that allows this filter to be chained to the one - in the parameter chainedReader. - - Filter that the filter will be chained to + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to - - Reads the next character applying the filter logic. - - Char as an int or -1 if at the end of the stream + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream - - Reads the next character applying the filter logic without - advancing the current position in the stream. - - Peek currently is not supported. - - - Char as an int or -1 if at the end of the stream. - + + Reads the next character applying the filter logic without + advancing the current position in the stream. + Peek currently is not supported. + + + Char as an int or -1 if at the end of the stream. + - - - Helper function used to search for the filter's traget string. If the string - is found the result is true. If the string was not found false is returned and - nonMatchingChars contains the characters that were read to determine if the - string is present. - - - - It is assumed the stream is positioned at the character after the first character - in the target string. - - - First character in target string - Ture if the stream ended while search for the string. - Characters that were read while searching for the string. - + + + Helper function used to search for the filter's traget string. If the string + is found the result is true. If the string was not found false is returned and + nonMatchingChars contains the characters that were read to determine if the + string is present. + + + + It is assumed the stream is positioned at the character after the first character + in the target string. + + + First character in target string + Ture if the stream ended while search for the string. + Characters that were read while searching for the string. + @@ -1689,35 +1842,35 @@ Char as an int or -1 if at the end of the stream - - Compares to characters taking into account the _ignoreCase flag. - - - - + + Compares to characters taking into account the _ignoreCase flag. + + + + - - The string to be replaced. - + + The string to be replaced. + - - The new value for the replaced string. - Am empty string is permissible. - + + The new value for the replaced string. + Am empty string is permissible. + - - Determines if case will be ignored. - The default is . - + + Determines if case will be ignored. + The default is . + - - Delegate for Read and Peek. Allows the same implementation - to be used for both methods. - + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + @@ -1769,43 +1922,42 @@ - - Construct that allows this filter to be chained to the one - in the parameter chainedReader. - - Filter that the filter will be chained to + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to - - Reads the next character applying the filter logic. - - Char as an int or -1 if at the end of the stream + + Reads the next character applying the filter logic. + + Char as an int or -1 if at the end of the stream - - Reads the next character applying the filter logic without - advancing the current position in the stream. - - Peek currently is not supported. - - - Char as an int or -1 if at the end of the stream. - + + Reads the next character applying the filter logic without + advancing the current position in the stream. + Peek currently is not supported. + + + Char as an int or -1 if at the end of the stream. + - - - Initialize the filter by setting its parameters. - + + + Initialize the filter by setting its parameters. + - - Finds a token give that we are positioned at a beginning token character. Either a - token replacement is returned or the characters that were read looking for the token. - - A token was not found - A token was found by there is no replacement - The stream ended while looking for the token - Either the replacement token or the characters that were read looking for the token + + Finds a token give that we are positioned at a beginning token character. Either a + token replacement is returned or the characters that were read looking for the token. + + A token was not found + A token was found by there is no replacement + The stream ended while looking for the token + Either the replacement token or the characters that were read looking for the token @@ -1825,31 +1977,31 @@ - - Marks the beginning of a token. The default is "@". - + + Marks the beginning of a token. The default is "@". + - - Marks the end of a token. The default is "@". - + + Marks the end of a token. The default is "@". + - - Tokens and replacement values. - + + Tokens and replacement values. + - - Determines if case will be ignored. - The default is . - + + Determines if case will be ignored. + The default is . + - - Delegate for Read and Peek. Allows the same implementation - to be used for both methods. - + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + @@ -1874,24 +2026,24 @@ - - Construct that allows this filter to be chained to the one - in the parameter chainedReader. - - Filter that the filter will be chained to + + Construct that allows this filter to be chained to the one + in the parameter chainedReader. + + Filter that the filter will be chained to - - Retrieves the next character with moving the position in the stream. - This method is not implemented - - -1 if end of stream otherwise a character + + Retrieves the next character with moving the position in the stream. + This method is not implemented + + -1 if end of stream otherwise a character - - Retrieves the next character in the stream. - - -1 if end of stream otherwise a character + + Retrieves the next character in the stream. + + -1 if end of stream otherwise a character @@ -1902,21 +2054,21 @@ Char as an int or -1 if at the end of the stream - - The number of spaces used when converting a tab. The default is - "8". - + + The number of spaces used when converting a tab. The default is + "8". + - - Delegate for Read and Peek. Allows the same implementation - to be used for both methods. - + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + - - Functions to return information for a given assembly. - + + Functions to return information for a given assembly. + @@ -1965,13 +2117,13 @@ - - Gets the full name of the assembly, also known as the display name. - - The assembly to get the full name for. - - The full name of the assembly, also known as the display name. - + + Gets the full name of the assembly, also known as the display name. + + The assembly to get the full name for. + + The full name of the assembly, also known as the display name. + @@ -1984,19 +2136,19 @@ - - Gets the physical location, in codebase format, of the loaded file - that contains the manifest. - - The assembly to get the location for. - - The location of the specified assembly. - + + Gets the physical location, in codebase format, of the loaded file + that contains the manifest. + + The assembly to get the location for. + + The location of the specified assembly. + - - Functions that return information about an assembly's identity. - + + Functions that return information about an assembly's identity. + @@ -2115,7 +2267,7 @@ A string containing the value to convert. - if is equivalent to + if is equivalent to "True"; otherwise, . is not equivalent to or . @@ -2132,49 +2284,49 @@ - - Converts the argument to an integer. - - value to be converted - converted to integer. The function fails with an exception when the conversion is not possible. + + Converts the argument to an integer. + + value to be converted + converted to integer. The function fails with an exception when the conversion is not possible. - - Converts the argument to double - - The value to be converted. - converted to double. The function fails with an exception when the conversion is not possible. + + Converts the argument to double + + The value to be converted. + converted to double. The function fails with an exception when the conversion is not possible. - - Converts the argument to a string. - - The value to be converted. - - converted to string. The function fails - with an exception when the conversion is not possible. - - - Named method ConvertToString as a static ToString method would break - CLS compliance. - + + Converts the argument to a string. + + The value to be converted. + + converted to string. The function fails + with an exception when the conversion is not possible. + + + Named method ConvertToString as a static ToString method would break + CLS compliance. + - - Converts the argument to a datetime. - - value to be converted - converted to datetime. The function fails with an exception when the conversion is not possible. + + Converts the argument to a datetime. + + value to be converted + converted to datetime. The function fails with an exception when the conversion is not possible. - - Converts the argument to a boolean - - The string value to be converted to boolean. Must be 'true' or 'false'. - - converted to boolean. The function fails - with an exception when the conversion is not possible. - + + Converts the argument to a boolean + + The string value to be converted to boolean. Must be 'true' or 'false'. + + converted to boolean. The function fails + with an exception when the conversion is not possible. + @@ -2186,96 +2338,96 @@ - - Gets the year component of the specified date. - - The date of which to get the year component. - - The year, between 1 and 9999. - + + Gets the year component of the specified date. + + The date of which to get the year component. + + The year, between 1 and 9999. + - - Gets the month component of the specified date. - - The date of which to get the month component. - - The month, between 1 and 12. - + + Gets the month component of the specified date. + + The date of which to get the month component. + + The month, between 1 and 12. + - - Gets the day of the month represented by the specified date. - - The date of which to get the day of the month. - - The day value, between 1 and 31. - + + Gets the day of the month represented by the specified date. + + The date of which to get the day of the month. + + The day value, between 1 and 31. + - - Gets the hour component of the specified date. - - The date of which to get the hour component. - - The hour, between 0 and 23. - + + Gets the hour component of the specified date. + + The date of which to get the hour component. + + The hour, between 0 and 23. + - - Gets the minute component of the specified date. - - The date of which to get the minute component. - - The minute, between 0 and 59. - + + Gets the minute component of the specified date. + + The date of which to get the minute component. + + The minute, between 0 and 59. + - - Gets the seconds component of the specified date. - - The date of which to get the seconds component. - - The seconds, between 0 and 59. - + + Gets the seconds component of the specified date. + + The date of which to get the seconds component. + + The seconds, between 0 and 59. + - - Gets the milliseconds component of the specified date. - - The date of which to get the milliseconds component. - - The millisecond, between 0 and 999. - + + Gets the milliseconds component of the specified date. + + The date of which to get the milliseconds component. + + The millisecond, between 0 and 999. + - - Gets the number of ticks that represent the specified date. - - The date of which to get the number of ticks. - - The number of ticks that represent the date and time of the - specified date. - + + Gets the number of ticks that represent the specified date. + + The date of which to get the number of ticks. + + The number of ticks that represent the date and time of the + specified date. + - - Gets the day of the week represented by the specified date. - - The date of which to get the day of the week. - - The day of the week, ranging from zero, indicating Sunday, to six, - indicating Saturday. - + + Gets the day of the week represented by the specified date. + + The date of which to get the day of the week. + + The day of the week, ranging from zero, indicating Sunday, to six, + indicating Saturday. + - - Gets the day of the year represented by the specified date. - - The date of which to get the day of the year. - - The day of the year, between 1 and 366. - + + Gets the day of the year represented by the specified date. + + The date of which to get the day of the year. + + The day of the year, between 1 and 366. + @@ -2291,14 +2443,14 @@ is less than 1 or greater than 12. - - Returns an indication whether the specified year is a leap year. - - A 4-digit year. - - if is a leap year; - otherwise, . - + + Returns an indication whether the specified year is a leap year. + + A 4-digit year. + + if is a leap year; + otherwise, . + @@ -2332,9 +2484,9 @@ - - Groups a set of functions for dealing with directories. - + + Groups a set of functions for dealing with directories. + @@ -2424,23 +2576,37 @@ The specified path, file name, or both exceed the system-defined maximum length. + + Determines whether the given path refers to an existing directory + on disk. + + The path to test. + + if refers to an + existing directory; otherwise, . + + + Remove directory "test", if it exists. + + + ]]> + + + + + + Functions for requesting information from DNS. + + + - Determines whether the given path refers to an existing directory - on disk. + Gets the host name of the local computer. - The path to test. - if refers to an - existing directory; otherwise, . + A string that contains the DNS host name of the local computer. - - Remove directory "test", if it exists. - - - ]]> - - + An error is encountered when resolving the local host name. @@ -2475,9 +2641,9 @@ - - Provide information about the current environment and platform. - + + Provide information about the current environment and platform. + @@ -2537,27 +2703,27 @@ - - Gets the user name of the person who started the current thread. - - - The name of the person logged on to the system who started the - current thread. - - - - Modify the home directory of the current user on unix-based systems. - - - - - - - - ]]> - - + + Gets the user name of the person who started the current thread. + + + The name of the person logged on to the system who started the + current thread. + + + + Modify the home directory of the current user on unix-based systems. + + + + + + + + ]]> + + @@ -2570,28 +2736,28 @@ Environment variable does not exist. - - Gets a value indicating whether the specified environment variable - exists. - - The environment variable that should be checked. - - if the environment variable exists; otherwise, - . - - - - Execute a set of tasks only if the "BUILD_DEBUG" environment - variable is set. - - - - ... - - ]]> - - + + Gets a value indicating whether the specified environment variable + exists. + + The environment variable that should be checked. + + if the environment variable exists; otherwise, + . + + + + Execute a set of tasks only if the "BUILD_DEBUG" environment + variable is set. + + + + ... + + ]]> + + @@ -2610,10 +2776,27 @@ + + + Gets the newline string defined for this environment. + + + A string containing CRLF for non-Unix platforms, or LF for Unix + platforms. + + + Output two lines in a log file. + + + ]]> + + + - - Groups a set of functions for dealing with files. - + + Groups a set of functions for dealing with files. + @@ -2654,24 +2837,24 @@ The parameter is in an invalid format. - - Determines whether the specified file exists. - - The file to check. - - if refers to an - existing file; otherwise, . - - - Execute a set of tasks, if file "output.xml" does not exist. - - - ... - - ]]> - - + + Determines whether the specified file exists. + + The file to check. + + if refers to an + existing file; otherwise, . + + + Execute a set of tasks, if file "output.xml" does not exist. + + + ... + + ]]> + + @@ -2710,9 +2893,9 @@ The caller does not have path discovery permission. - - Functions that provide version information for a physical file on disk. - + + Functions that provide version information for a physical file on disk. + @@ -2763,6 +2946,243 @@ + + + Checks whether the specified framework exists, and is valid. + + The framework to test. + + if the specified framework exists ; otherwise, + . + + + + + Checks whether the SDK for the specified framework is installed. + + The framework to test. + + if the SDK for specified framework is installed; + otherwise, . + + + + + + + Gets the identifier of the current target framework. + + + The identifier of the current target framework. + + + + + Gets the identifier of the runtime framework. + + + The identifier of the runtime framework. + + + + + Gets the family of the specified framework. + + The framework of which the family should be returned. + + The family of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the version of the current target framework. + + + The version of the current target framework. + + + + + + Gets the version of the specified framework. + + The framework of which the version should be returned. + + The version of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the description of the current target framework. + + + The description of the current target framework. + + + + + + Gets the description of the specified framework. + + The framework of which the description should be returned. + + The description of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the Common Language Runtime version of the current target + framework. + + + The Common Language Runtime version of the current target framework. + + + + + + Gets the Common Language Runtime version of the specified framework. + + The framework of which the Common Language Runtime version should be returned. + + The Common Language Runtime version of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the framework directory of the specified framework. + + The framework of which the framework directory should be returned. + + The framework directory of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the assembly directory of the specified framework. + + The framework of which the assembly directory should be returned. + + The assembly directory of the specified framework. + + is not a valid framework identifier. + + + + + + Gets the SDK directory of the specified framework. + + The framework of which the SDK directory should be returned. + + The SDK directory of the specified framework, or an empty + if the SDK of the specified framework is not + installed. + + is not a valid framework identifier. + + + + + + Gets the absolute path of the specified tool for the current + target framework. + + The file name of the tool to search for. + + The absolute path to if found in one of the + configured tool paths; otherwise, an error is reported. + + could not be found in the configured tool paths. + + + The configured tool paths are scanned in the order in which they + are defined in the framework configuration. + + + The file name of the tool to search should include the extension. + + + + Use gacutil to install an assembly in the GAC. + + + + + + ]]> + + + + + + Gets the runtime engine of the specified framework. + + The framework of which the runtime engine should be returned. + + The full path to the runtime engine of the specified framework, or + an empty if no runtime engine is defined + for the specified framework. + + is not a valid framework identifier. + + + + + + Gets a comma-separated list of frameworks filtered by the specified + . + + A bitwise combination of values that filter the frameworks to retrieve. + + A comma-separated list of frameworks filtered by the specified + , sorted on name. + + + + Define a build-all target that executes the build + target once for each installed framework targeting compact + devices. + + + + + + + + + + + ... + + ]]> + + + + + + Checks whether the specified framework is valid. + + The framework to check. + is not a valid framework identifier. + Converts the specified string representation of a number to its @@ -2830,58 +3250,149 @@ - - Rounds the value to the nearest whole number - - Number to be rounded, can be anything convertible to a double. - - Rounded value. - + + Rounds the value to the nearest whole number + + Number to be rounded, can be anything convertible to a double. + + Rounded value. + - - Returns the largest whole number less than or equal to the specified - number. - - value to be , can be anything convertible to a double - - The largest whole number less than or equal to the specified number. - + + Returns the largest whole number less than or equal to the specified + number. + + value to be , can be anything convertible to a double + + The largest whole number less than or equal to the specified number. + - - Returns the smallest whole number greater than or equal to the specified number - - value - - The smallest whole number greater than or equal to the specified number. - + + Returns the smallest whole number greater than or equal to the specified number + + value + + The smallest whole number greater than or equal to the specified number. + - - Returns the absolute value of the specified number - - value to take the absolute value from - - when is greater - than or equal to zero; otherwise, -. - + + Returns the absolute value of the specified number + + value to take the absolute value from + + when is greater + than or equal to zero; otherwise, -. + - - Gets the base directory of the appdomain in which NAnt is running. - - - The base directory of the appdomain in which NAnt is running. - + + Gets the base directory of the appdomain in which NAnt is running. + + + The base directory of the appdomain in which NAnt is running. + + + Gets the NAnt assembly. + + + The NAnt assembly. + + + - Gets the NAnt assembly. + Searches the probing paths of the current target framework for the + specified file. + The name of the file to search for. - The NAnt assembly. + The absolute path to if found in one of the + configured probing; otherwise, an error is reported. + could not be found in the configured probing paths. + + + The (relative) probing paths are resolved relative to the base + directory of the appdomain in which NAnt is running. + + + The configured probing paths are scanned recursively in the order + in which they are defined in the framework configuration. + + + The file name to search should include the extension. + + + + + Compile an assembly referencing the nunit.framework assembly + for the current target framework that is shipped as part of the + NAnt distribution. + + + + + + + + + + + + ]]> + + + + + + Searches the probing paths of the current target framework for the + specified file. + + The directory to use a base directory for the probing paths. + The name of the file to search for. + + The absolute path to if found in one of the + configured probing; otherwise, an error is reported. + + could not be found in the configured probing paths. + + + The (relative) probing paths are resolved relative to the specified + base directory. + + + The configured probing paths are scanned recursively in the order + in which they are defined in the framework configuration. + + + The file name to search should include the extension. + + + + + Compile an assembly referencing the nunit.framework assembly + for the current target framework that is shipped as part of the + NAnt distribution. + + + + + + + + + + + + ]]> + + @@ -2922,34 +3433,34 @@ - - Gets the base directory of the current project. - - - The base directory of the current project. - + + Gets the base directory of the current project. + + + The base directory of the current project. + - - Checks whether the specified target exists. - - The target to test. - - if the specified target exists; otherwise, - . - - - - Execute target "clean", if it exists. - - - - - - ]]> - - + + Checks whether the specified target exists. + + The target to test. + + if the specified target exists; otherwise, + . + + + + Execute target "clean", if it exists. + + + + + + ]]> + + @@ -2973,14 +3484,14 @@ Target does not exist. - - Checks whether the specified task exists. - - The task to test. - - if the specified task exists; otherwise, - . - + + Checks whether the specified task exists. + + The task to test. + + if the specified task exists; otherwise, + . + @@ -2994,29 +3505,29 @@ Task is not available. - - Checks whether the specified property exists. - - The property to test. - - if the specified property exists; otherwise, - . - - - - Execute a set of tasks if the "build.debug" property - exists. - - - - - - - - ]]> - - + + Checks whether the specified property exists. + + The property to test. + + if the specified property exists; otherwise, + . + + + + Execute a set of tasks if the "build.debug" property + exists. + + + + + + + + ]]> + + @@ -3050,181 +3561,46 @@ property::is-dynamic('debug') - - - Checks whether the specified framework exists. - - The framework to test. - - if the specified framework exists; otherwise, - . - - - - - Checks whether the SDK for the specified framework is installed. - - The framework to test. - - if the SDK for specified framework is installed; - otherwise, . - - - - - - - Gets the identifier of the current target framework. - - - The identifier of the current target framework. - - - - - Gets the identifier of the runtime framework. - - - The identifier of the runtime framework. - - - - - Gets the family of the specified framework. - - The framework of which the family should be returned. - - The family of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the version of the specified framework. - - The framework of which the version should be returned. - - The version of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the description of the specified framework. - - The framework of which the description should be returned. - - The description of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the Common Language Runtime version of the specified framework. - - The framework of which the Common Language Runtime version should be returned. - - The Common Language Runtime version of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the framework directory of the specified framework. - - The framework of which the framework directory should be returned. - - The framework directory of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the assembly directory of the specified framework. - - The framework of which the assembly directory should be returned. - - The assembly directory of the specified framework. - - is not a valid framework identifier. - - - - - - Gets the SDK directory of the specified framework. - - The framework of which the SDK directory should be returned. - - The SDK directory of the specified framework, or an empty - if the SDK of the specified framework is not - installed. - - is not a valid framework identifier. - - - - - - Gets the runtime engine of the specified framework. - - The framework of which the runtime engine should be returned. - - The full path to the runtime engine of the specified framework, or - an empty if no runtime engine is defined - for the specified framework. - - is not a valid framework identifier. - - - - - - Checks whether the specified framework is valid. - - The framework to check. - is not a valid framework identifier. - - - Gets the name of the platform on which NAnt is running. - - - The name of the platform on which NAnt is running. - + + Gets the name of the platform on which NAnt is running. + + + The name of the platform on which NAnt is running. + - - Checks whether NAnt is running on the win32 platform. - - - if NAnt is running on the win32 platform; - otherwise, . - + + Checks whether NAnt is running on Windows (and not just 32-bit Windows + as the name may lead you to believe). + + + if NAnt is running on Windows; + otherwise, . + + + + + Checks whether NAnt is running on Windows. + + + if NAnt is running on Windows; + otherwise, . + - - Checks whether NAnt is running on unix. - - - if NAnt is running on unix; - otherwise, . - + + Checks whether NAnt is running on Unix. + + + if NAnt is running on Unix; + otherwise, . + - - Functions that return information about an operating system. - + + Functions that return information about an operating system. + @@ -3569,26 +3945,26 @@ - - Factory method to return a new instance of ExecTask - - - + + Factory method to return a new instance of ExecTask + + + - - Returns the length of the specified string. - - input string - - The string's length. - - - string::get-length('foo') ==> 3 - - - string::get-length('') ==> 0 - + + Returns the length of the specified string. + + input string + + The string's length. + + + string::get-length('foo') ==> 3 + + + string::get-length('') ==> 0 + @@ -3632,108 +4008,108 @@ - - Tests whether the specified string starts with the specified prefix - string. - - test string - prefix string - - when is a prefix for - the string . Meaning, the characters at the - beginning of are identical to - ; otherwise, . - - - This function performs a case-sensitive word search using the - invariant culture. - - - string::starts-with('testing string', 'test') ==> true - - - string::starts-with('testing string', 'testing') ==> true - - - string::starts-with('testing string', 'string') ==> false - - - string::starts-with('test', 'testing string') ==> false - + + Tests whether the specified string starts with the specified prefix + string. + + test string + prefix string + + when is a prefix for + the string . Meaning, the characters at the + beginning of are identical to + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::starts-with('testing string', 'test') ==> true + + + string::starts-with('testing string', 'testing') ==> true + + + string::starts-with('testing string', 'string') ==> false + + + string::starts-with('test', 'testing string') ==> false + - - Tests whether the specified string ends with the specified suffix - string. - - test string - suffix string - - when is a suffix for - the string . Meaning, the characters at the - end of are identical to - ; otherwise, . - - - This function performs a case-sensitive word search using the - invariant culture. - - - string::ends-with('testing string', 'string') ==> true - - - string::ends-with('testing string', '') ==> true - - - string::ends-with('testing string', 'bring') ==> false - - - string::ends-with('string', 'testing string') ==> false - + + Tests whether the specified string ends with the specified suffix + string. + + test string + suffix string + + when is a suffix for + the string . Meaning, the characters at the + end of are identical to + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::ends-with('testing string', 'string') ==> true + + + string::ends-with('testing string', '') ==> true + + + string::ends-with('testing string', 'bring') ==> false + + + string::ends-with('string', 'testing string') ==> false + - - Returns the specified string converted to lowercase. - - input string - - The string in lowercase. - - - The casing rules of the invariant culture are used to convert the - to lowercase. - - - string::to-lower('testing string') ==> 'testing string' - - - string::to-lower('Testing String') ==> 'testing string' - - - string::to-lower('Test 123') ==> 'test 123' - + + Returns the specified string converted to lowercase. + + input string + + The string in lowercase. + + + The casing rules of the invariant culture are used to convert the + to lowercase. + + + string::to-lower('testing string') ==> 'testing string' + + + string::to-lower('Testing String') ==> 'testing string' + + + string::to-lower('Test 123') ==> 'test 123' + - - Returns the specified string converted to uppercase. - - input string - - The string in uppercase. - - - The casing rules of the invariant culture are used to convert the - to uppercase. - - - string::to-upper('testing string') ==> 'TESTING STRING' - - - string::to-upper('Testing String') ==> 'TESTING STRING' - - - string::to-upper('Test 123') ==> 'TEST 123' - + + Returns the specified string converted to uppercase. + + input string + + The string in uppercase. + + + The casing rules of the invariant culture are used to convert the + to uppercase. + + + string::to-upper('testing string') ==> 'TESTING STRING' + + + string::to-upper('Testing String') ==> 'TESTING STRING' + + + string::to-upper('Test 123') ==> 'TEST 123' + @@ -3767,101 +4143,101 @@ - - Tests whether the specified string contains the given search string. - - The string to search. - The string to locate within . - - if is found in - ; otherwise, . - - - This function performs a case-sensitive word search using the - invariant culture. - - - string::contains('testing string', 'test') ==> true - - - string::contains('testing string', '') ==> true - - - string::contains('testing string', 'Test') ==> false - - - string::contains('testing string', 'foo') ==> false - + + Tests whether the specified string contains the given search string. + + The string to search. + The string to locate within . + + if is found in + ; otherwise, . + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::contains('testing string', 'test') ==> true + + + string::contains('testing string', '') ==> true + + + string::contains('testing string', 'Test') ==> false + + + string::contains('testing string', 'foo') ==> false + - - Returns the position of the first occurrence in the specified string - of the given search string. - - The string to search. - The string to locate within . - - - The lowest-index position of in - if it is found, or -1 if - does not contain . - - - If is an empty string, the return value - will always be 0. - - - - This function performs a case-sensitive word search using the - invariant culture. - - - string::index-of('testing string', 'test') ==> 0 - - - string::index-of('testing string', '') ==> 0 - - - string::index-of('testing string', 'Test') ==> -1 - - - string::index-of('testing string', 'ing') ==> 4 - + + Returns the position of the first occurrence in the specified string + of the given search string. + + The string to search. + The string to locate within . + + + The lowest-index position of in + if it is found, or -1 if + does not contain . + + + If is an empty string, the return value + will always be 0. + + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::index-of('testing string', 'test') ==> 0 + + + string::index-of('testing string', '') ==> 0 + + + string::index-of('testing string', 'Test') ==> -1 + + + string::index-of('testing string', 'ing') ==> 4 + - - Returns the position of the last occurrence in the specified string - of the given search string. - - The string to search. - The string to locate within . - - - The highest-index position of in - if it is found, or -1 if - does not contain . - - - If is an empty string, the return value - is the last index position in . - - - - This function performs a case-sensitive word search using the - invariant culture. - - - string::last-index-of('testing string', 'test') ==> 0 - - - string::last-index-of('testing string', '') ==> 13 - - - string::last-index-of('testing string', 'Test') ==> -1 - - - string::last-index-of('testing string', 'ing') ==> 11 - + + Returns the position of the last occurrence in the specified string + of the given search string. + + The string to search. + The string to locate within . + + + The highest-index position of in + if it is found, or -1 if + does not contain . + + + If is an empty string, the return value + is the last index position in . + + + + This function performs a case-sensitive word search using the + invariant culture. + + + string::last-index-of('testing string', 'test') ==> 0 + + + string::last-index-of('testing string', '') ==> 13 + + + string::last-index-of('testing string', 'Test') ==> -1 + + + string::last-index-of('testing string', 'ing') ==> 11 + @@ -3928,52 +4304,52 @@ - - Returns the given string trimmed of whitespace. - - input string - - The string with any leading or trailing - white space characters removed. - - - string::trim(' test ') ==> 'test' - - - string::trim('\t\tfoo \r\n') ==> 'foo' - + + Returns the given string trimmed of whitespace. + + input string + + The string with any leading or trailing + white space characters removed. + + + string::trim(' test ') ==> 'test' + + + string::trim('\t\tfoo \r\n') ==> 'foo' + - - Returns the given string trimmed of leading whitespace. - - input string - - The string with any leading - whites pace characters removed. - - - string::trim-start(' test ') ==> 'test ' - - - string::trim-start('\t\tfoo \r\n') ==> 'foo \r\n' - + + Returns the given string trimmed of leading whitespace. + + input string + + The string with any leading + whites pace characters removed. + + + string::trim-start(' test ') ==> 'test ' + + + string::trim-start('\t\tfoo \r\n') ==> 'foo \r\n' + - - Returns the given string trimmed of trailing whitespace. - - input string - - The string with any trailing - white space characters removed. - - - string::trim-end(' test ') ==> ' test' - - - string::trim-end('\t\tfoo \r\n') ==> '\t\tfoo' - + + Returns the given string trimmed of trailing whitespace. + + input string + + The string with any trailing + white space characters removed. + + + string::trim-end(' test ') ==> ' test' + + + string::trim-end('\t\tfoo \r\n') ==> '\t\tfoo' + @@ -4320,17 +4696,17 @@ - - Provides the abstract base class for tasks. - - - A task is a piece of code that can be executed. - + + Provides the abstract base class for tasks. + + + A task is a piece of code that can be executed. + - - Executes the task unless it is skipped. - + + Executes the task unless it is skipped. + @@ -4402,42 +4778,61 @@ - - Initializes the configuration of the task using configuration - settings retrieved from the NAnt configuration file. - - - TO-DO : Remove this temporary hack when a permanent solution is - available for loading the default values from the configuration - file if a build element is constructed from code. - + + Initializes the configuration of the task using configuration + settings retrieved from the NAnt configuration file. + + + TO-DO : Remove this temporary hack when a permanent solution is + available for loading the default values from the configuration + file if a build element is constructed from code. + - - Deprecated (to be deleted). + + Initializes the task. - Initializes the task. + Initializes the task. - Executes the task. + Executes the task. + + + + Locates the XML node for the specified attribute in either the + configuration section of the extension assembly or the.project. + + The name of attribute for which the XML configuration node should be located. + The framework to use to obtain framework specific information, or if no framework specific information should be used. + + The XML configuration node for the specified attribute, or + if no corresponding XML node could be + located. + + + If there's a valid current framework, the configuration section for + that framework will first be searched. If no corresponding + configuration node can be located in that section, the framework-neutral + section of the project configuration node will be searched. + - - Determines if task failure stops the build, or is just reported. - The default is . - + + Determines if task failure stops the build, or is just reported. + The default is . + - - Determines whether the task should report detailed build log messages. - The default is . - + + Determines whether the task should report detailed build log messages. + The default is . + - - If then the task will be executed; otherwise, - skipped. The default is . - + + If then the task will be executed; otherwise, + skipped. The default is . + @@ -4447,14 +4842,14 @@ - - The name of the task. - + + The name of the task. + - - The prefix used when sending messages to the log. - + + The prefix used when sending messages to the log. + @@ -4471,43 +4866,49 @@ still be delivered to the build listeners. - + - The name of the file which will have its attributes set. This is - provided as an alternate to using the task's fileset. + Returns the TaskBuilder used to construct an instance of this + . + + + The name of the file which will have its attributes set. This is + provided as an alternate to using the task's fileset. + + - - All the matching files and directories in this fileset will have - their attributes set. - + + All the matching files and directories in this fileset will have + their attributes set. + - - Set the archive attribute. The default is . - + + Set the archive attribute. The default is . + - - Set the hidden attribute. The default is . - + + Set the hidden attribute. The default is . + - - Set the normal file attributes. This attribute is only valid if used - alone. The default is . - + + Set the normal file attributes. This attribute is only valid if used + alone. The default is . + - - Set the read-only attribute. The default is . - + + Set the read-only attribute. The default is . + - - Set the system attribute. The default is . - + + Set the system attribute. The default is . + @@ -4656,44 +5057,44 @@ - - The resource which must be available. - + + The resource which must be available. + - - The type of resource which must be present. - + + The type of resource which must be present. + - - The property that must be set if the resource is available. - + + The property that must be set if the resource is available. + - - Defines the possible resource checks. - + + Defines the possible resource checks. + - - Determines whether a given file exists. - + + Determines whether a given file exists. + - - Determines whether a given directory exists. - + + Determines whether a given directory exists. + - - Determines whether a given framework is available. - + + Determines whether a given framework is available. + - - Determines whether a given SDK is available. - + + Determines whether a given SDK is available. + @@ -4770,8 +5171,7 @@ build: init: - - [echo] initializing + [echo] initializing compile: @@ -4799,8 +5199,7 @@ build: init: - - [echo] initializing + [echo] initializing compile: @@ -4815,33 +5214,32 @@ - - Executes the specified target. - + + Executes the specified target. + - + Makes sure the is not calling its own parent. - The task XML node. - - NAnt target to call. - + + NAnt target to call. + - - Force an execute even if the target has already been executed. The - default is . - + + Force an execute even if the target has already been executed. The + default is . + - - Execute the specified targets dependencies -- even if they have been - previously executed. The default is . - + + Execute the specified targets dependencies -- even if they have been + previously executed. The default is . + @@ -4936,11 +5334,10 @@ Initialize new instance of the . - - - Checks whether the task is initialized with valid attributes. - - The used to initialize the task. + + + Checks whether the task is initialized with valid attributes. + @@ -4949,30 +5346,30 @@ A file that has to be copied does not exist or could not be copied. - - Actually does the file copies. - + + Actually does the file copies. + - - The file to copy. - + + The file to copy. + - - The file to copy to. - + + The file to copy to. + - - The directory to copy to. - + + The directory to copy to. + - - Overwrite existing files even if the destination files are newer. - The default is . - + + Overwrite existing files even if the destination files are newer. + The default is . + @@ -4994,21 +5391,21 @@ - - Chain of filters used to alter the file's content as it is copied. - + + Chain of filters used to alter the file's content as it is copied. + - - The encoding to use when reading files. The default is the system's - current ANSI code page. - + + The encoding to use when reading files. The default is the system's + current ANSI code page. + - - The encoding to use when writing the files. The default is - the encoding of the input file. - + + The encoding to use when writing the files. The default is + the encoding of the input file. + @@ -5028,9 +5425,9 @@ - - Holds the absolute paths and last write time of a given file. - + + Holds the absolute paths and last write time of a given file. + @@ -5041,20 +5438,20 @@ The last write time of the file. - - Gets the absolute path of the current file. - - - The absolute path of the current file. - + + Gets the absolute path of the current file. + + + The absolute path of the current file. + - - Gets the time when the current file was last written to. - - - The time when the current file was last written to. - + + Gets the time when the current file was last written to. + + + The time when the current file was last written to. + @@ -5115,21 +5512,20 @@ - - - Ensures the supplied attributes are valid. - - Xml node used to define this task instance. + + + Ensures the supplied attributes are valid. + - - The file to delete. - + + The file to delete. + - - The directory to delete. - + + The directory to delete. + @@ -5138,28 +5534,28 @@ - - All the files in the file set will be deleted. - + + All the files in the file set will be deleted. + - - Controls whether to show the name of each deleted file or directory. - The default is . - + + Controls whether to show the name of each deleted file or directory. + The default is . + - - An empty task that allows a build file to contain a description. - - - Set a description. - - This is a description. - ]]> - - + + An empty task that allows a build file to contain a description. + + + Set a description. + + This is a description. + ]]> + + @@ -5167,8 +5563,9 @@ - The message can be specified using the attribute - or as inline content. + The message can be specified using the attribute + or as inline content. If neither is included - or the message contains + only whitespace - then an empty message will be emitted in the output. Macros in the message will be expanded. @@ -5177,6 +5574,10 @@ When writing to a file, the attribute is ignored. + + Since NAnt 0.86, a newline will no longer be implictly added when + writing a message to a file. + @@ -5188,6 +5589,28 @@ ]]> + + + Writes a two-line message to the build log using inline content. + + + First line + Second line + ]]> + + + + + Writes a two-line message to the build log using the attribute. + + + + ]]> + + Writes a message with expanded macro to the build log. @@ -5221,27 +5644,33 @@ - - Outputs the message to the build log or the specified file. - + + Outputs the message to the build log or the specified file. + + + + + The encoding to use when writing message to a file. The default is + UTF-8 encoding without a Byte Order Mark (BOM). + - - The message to output. - + + The message to output. + - - Gets or sets the inline content that should be output. - - - The inline content that should be output. - + + Gets or sets the inline content that should be output. + + + The inline content that should be output. + - - The file to write the message to. - + + The file to write the message to. + @@ -5264,6 +5693,14 @@ Executes a system command. + + + Use of nested element(s) + is advised over the parameter, as + it supports automatic quoting and can resolve relative to absolute + paths. + + Ping "nant.sourceforge.net". @@ -5314,6 +5751,19 @@ Provides the abstract base class for tasks that execute external applications. + + + When a is applied to the + deriving class and does not return an + absolute path, then the program to execute will first be searched for + in the location specified by . + + + If the program does not exist in that location, then the list of tool + paths of the current target framework will be scanned in the order in + which they are defined in the NAnt configuration file. + + @@ -5322,9 +5772,9 @@ - - Will be used to ensure thread-safe operations. - + + Will be used to ensure thread-safe operations. + @@ -5350,10 +5800,14 @@ The that was started. - Reads from the stream until the external program is ended. + + Reads from the stream until the external program is ended. + - Reads from the stream until the external program is ended. + + Reads from the stream until the external program is ended. + @@ -5365,53 +5819,53 @@ The task is not available or not configured for the current framework. - - The name of the executable that should be used to launch the - external program. - - - The name of the executable that should be used to launch the external - program, or if no name is specified. - - - If available, the configured value in the NAnt configuration - file will be used if no name is specified. - + + The name of the executable that should be used to launch the + external program. + + + The name of the executable that should be used to launch the external + program, or if no name is specified. + + + If available, the configured value in the NAnt configuration + file will be used if no name is specified. + - - Gets the filename of the external program to start. - - - The filename of the external program. - - - Override in derived classes to explicitly set the location of the - external tool. - + + Gets the filename of the external program to start. + + + The filename of the external program. + + + Override in derived classes to explicitly set the location of the + external tool. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Gets the file to which the standard output should be redirected. - - - The file to which the standard output should be redirected, or - if the standard output should not be - redirected. - - - The default implementation will never allow the standard output - to be redirected to a file. Deriving classes should override this - property to change this behaviour. - + + Gets the file to which the standard output should be redirected. + + + The file to which the standard output should be redirected, or + if the standard output should not be + redirected. + + + The default implementation will never allow the standard output + to be redirected to a file. Deriving classes should override this + property to change this behaviour. + @@ -5424,33 +5878,71 @@ - - Gets the working directory for the application. - - - The working directory for the application. - + + Gets the working directory for the application. + + + The working directory for the application. + - - The maximum amount of time the application is allowed to execute, - expressed in milliseconds. Defaults to no time-out. - + + The maximum amount of time the application is allowed to execute, + expressed in milliseconds. Defaults to no time-out. + - - The command-line arguments for the external program. - + + The command-line arguments for the external program. + - Specifies whether the external program should be executed using a - runtime engine, if configured. The default is . + Specifies whether the external program is a managed application + which should be executed using a runtime engine, if configured. + The default is . - if the external program should be executed - using a runtime engine; otherwise, . + if the external program should be executed + using a runtime engine; otherwise, . + + + The value of is only used from + , and then only if its value is set to + . In which case + returns + if is . + + + In all other cases, the value of + is ignored. + + + + + + Specifies whether the external program should be treated as a managed + application, possibly forcing it to be executed under the currently + targeted version of the CLR. + + + A indicating how the program should + be treated. + + + + If is set to , + which is the default value, and is + then + is returned. + + + When the changing to , + then is set to ; + otherwise, it is changed to . + + @@ -5481,65 +5973,79 @@ - - Gets the value that the process specified when it terminated. - - - The code that the associated process specified when it terminated, - or -1000 if the process could not be started or did not - exit (in time). - + + Gets the value that the process specified when it terminated. + + + The code that the associated process specified when it terminated, + or -1000 if the process could not be started or did not + exit (in time). + + + + + Gets the unique identifier for the spawned application. + + + + + Gets or sets a value indicating whether the application should be + spawned. If you spawn an application, its output will not be logged + by NAnt. The default is . + - - Gets the command-line arguments, separated by spaces. - + + Gets the command-line arguments, separated by spaces. + - + Performs additional checks after the task has been initialized. - The used to initialize the task. does not hold a valid file name. - - Executes the external program. - + + Executes the external program. + - - The program to execute without command arguments. - - - The path will not be evaluated to a full path using the project - base directory. - + + The program to execute without command arguments. + + + The path will not be evaluated to a full path using the project + base directory. + - The command-line arguments for the program. + The command-line arguments for the program. These will be + passed as is to the external program. When quoting is necessary, + these must be explictly set as part of the value. Consider using + nested elements instead. - - Environment variables to pass to the program. - + + Environment variables to pass to the program. + - - The directory in which the command will be executed. - - - The directory in which the command will be executed. The default - is the project's base directory. - - - - The working directory will be evaluated relative to the project's - base directory if it is relative. - - + + The directory in which the command will be executed. + + + The directory in which the command will be executed. The default + is the project's base directory. + + + + The working directory will be evaluated relative to the project's + base directory if it is relative. + + @@ -5555,53 +6061,64 @@ - - Specifies whether the external program should be executed using a - runtime engine, if configured. The default is . - - - if the external program should be executed - using a runtime engine; otherwise, . - + + Specifies whether the external program should be executed using a + runtime engine, if configured. The default is . + + + if the external program should be executed + using a runtime engine; otherwise, . + + + + + Specifies whether the external program is a managed application + which should be executed using a runtime engine, if configured. + The default is . + + + if the external program should be executed + using a runtime engine; otherwise, . + - - Gets the filename of the external program to start. - - - The filename of the external program. - + + Gets the filename of the external program to start. + + + The filename of the external program. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - The directory the program is in. - - - - The directory the program is in. The default is the project's base - directory. - - - The basedir will be evaluated relative to the project's base - directory if it is relative. - - + + The directory the program is in. + + + + The directory the program is in. The default is the project's base + directory. + + + The basedir will be evaluated relative to the project's base + directory if it is relative. + + - - The file to which the standard output will be redirected. - - - By default, the standard output is redirected to the console. - + + The file to which the standard output will be redirected. + + + By default, the standard output is redirected to the console. + @@ -5613,6 +6130,20 @@ otherwise, . + + + Gets or sets a value indicating whether the application should be + spawned. If you spawn an application, its output will not be logged + by NAnt. The default is . + + + + + The name of a property in which the unique identifier of the spawned + application should be stored. Only of interest if + is . + + Exits the current build by throwing a , @@ -5724,71 +6255,70 @@ - - - Initializes task and ensures the supplied attributes are valid. - - Xml node used to define this task instance. + + + Initializes task and ensures the supplied attributes are valid. + - - This is where the work is done - + + This is where the work is done + - - Sets the timestamp of a given file to a specified time. - + + Sets the timestamp of a given file to a specified time. + - - The URL from which to retrieve a file. - + + The URL from which to retrieve a file. + - - The file where to store the retrieved file. - + + The file where to store the retrieved file. + - - If inside a firewall, proxy server/port information - Format: {proxy server name}:{port number} - Example: proxy.mycompany.com:8080 - + + If inside a firewall, proxy server/port information + Format: {proxy server name}:{port number} + Example: proxy.mycompany.com:8080 + - - The network proxy to use to access the Internet resource. - + + The network proxy to use to access the Internet resource. + - - The network credentials used for authenticating the request with - the Internet resource. - + + The network credentials used for authenticating the request with + the Internet resource. + - - Log errors but don't treat as fatal. The default is . - + + Log errors but don't treat as fatal. The default is . + - - Conditionally download a file based on the timestamp of the local - copy. HTTP only. The default is . - + + Conditionally download a file based on the timestamp of the local + copy. HTTP only. The default is . + - - The length of time, in milliseconds, until the request times out. - The default is 100000 milliseconds. - + + The length of time, in milliseconds, until the request times out. + The default is 100000 milliseconds. + - - The security certificates to associate with the request. - + + The security certificates to associate with the request. + @@ -5832,7 +6362,7 @@ Tests the value of a property using expressions. + Build release configuration ]]> @@ -5942,17 +6472,16 @@ - - Executes embedded tasks in the order in which they are defined. - + + Executes embedded tasks in the order in which they are defined. + - - - Automatically exclude build elements that are defined on the task - from things that get executed, as they are evaluated normally during - XML task initialization. - - used to initialize the container. + + + Automatically exclude build elements that are defined on the task + from things that get executed, as they are evaluated normally during + XML task initialization. + @@ -5975,14 +6504,14 @@ - - The file to compare if uptodate. - + + The file to compare if uptodate. + - - The file to check against for the uptodate file. - + + The file to check against for the uptodate file. + @@ -5997,189 +6526,188 @@ - - Used to test whether a property is true. - + + Used to test whether a property is true. + - - Used to test whether a property exists. - + + Used to test whether a property exists. + - - Used to test whether a target exists. - + + Used to test whether a target exists. + - - Used to test arbitrary boolean expression. - + + Used to test arbitrary boolean expression. + - - The opposite of the if task. - - - Check that a property does not exist. - - - - - ]]> - - Check that a property value is not true. - - - - - ]]> - - - - Check that a target does not exist. - - - - - ]]> - - + + The opposite of the if task. + + + Check that a property does not exist. + + + + + ]]> + + Check that a property value is not true. + + + + + ]]> + + + + Check that a target does not exist. + + + + + ]]> + + - - Includes an external build file. - - - - This task is used to break your build file into smaller chunks. You - can load a partial build file and have it included into the build file. - - - Any global (project level) tasks in the included build file are executed - when this task is executed. Tasks in target elements are only executed - if that target is executed. - - - The project element attributes are ignored. - - - This task can only be in the global (project level) section of the - build file. - - - This task can only include files from the file system. - - - - - Include a task that fetches the project version from the - GetProjectVersion.include build file. - - - - ]]> - - + + Includes an external build file. + + + + This task is used to break your build file into smaller chunks. You + can load a partial build file and have it included into the build file. + + + Any global (project level) tasks in the included build file are executed + when this task is executed. Tasks in target elements are only executed + if that target is executed. + + + The project element attributes are ignored. + + + This task can only be in the global (project level) section of the + build file. + + + This task can only include files from the file system. + + + + + Include a task that fetches the project version from the + GetProjectVersion.include build file. + + + + ]]> + + - - Used to check for recursived includes. - + + Used to check for recursived includes. + - - - Verifies parameters. - - Xml taskNode used to define this task instance. + + + Verifies parameters. + - - Build file to include. - + + Build file to include. + - - Load a text file into a single property. - - - - Unless an encoding is specified, the encoding associated with the - system's current ANSI code page is used. - - - An UTF-8, little-endian Unicode, and big-endian Unicode encoded text - file is automatically recognized, if the file starts with the appropriate - byte order marks. - - - - - Load file message.txt into property "message". - - - - ]]> - - - - - Load a file using the "latin-1" encoding. - - - - ]]> - - - - - Load a file, replacing all @NOW@ tokens with the current - date/time. - - - - - - - - - - ]]> - - + + Load a text file into a single property. + + + + Unless an encoding is specified, the encoding associated with the + system's current ANSI code page is used. + + + An UTF-8, little-endian Unicode, and big-endian Unicode encoded text + file is automatically recognized, if the file starts with the appropriate + byte order marks. + + + + + Load file message.txt into property "message". + + + + ]]> + + + + + Load a file using the "latin-1" encoding. + + + + ]]> + + + + + Load a file, replacing all @NOW@ tokens with the current + date/time. + + + + + + + + + + ]]> + + - - The file to load. - + + The file to load. + - - The name of the property to save the content to. - + + The name of the property to save the content to. + - - The encoding to use when loading the file. The default is the encoding - associated with the system's current ANSI code page. - + + The encoding to use when loading the file. The default is the encoding + associated with the system's current ANSI code page. + - - The filterchain definition to use. - + + The filterchain definition to use. + @@ -6229,135 +6757,135 @@ Specified assembly or path does not exist. - + Validates the attributes. Both and are set. - - An assembly to load tasks from. - + + An assembly to load tasks from. + - - A directory to scan for task assemblies. - + + A directory to scan for task assemblies. + - - Used to select which directories or individual assemblies to scan. - + + Used to select which directories or individual assemblies to scan. + - - Loops over a set of items. - - - - Can loop over files in directory, lines in a file, etc. - - - The property value is stored before the loop is done, and restored - when the loop is finished. - - - The property is returned to its normal value once it is used. Read-only - parameters cannot be overridden in this loop. - - - - Loops over the files in c:\. - - - - - ]]> - - - - Loops over all files in the project directory. - - - - - - - - - - - - ]]> - - - - Loops over the folders in c:\. - - - - - ]]> - - - - Loops over all folders in the project directory. - - - - - - - - - - - - ]]> - - - - Loops over a list. - - - - - ]]> - - - - - Loops over lines in the file properties.csv, where each line - is of the format name,value. - - - - - - ]]> - - + + Loops over a set of items. + + + + Can loop over files in directory, lines in a file, etc. + + + The property value is stored before the loop is done, and restored + when the loop is finished. + + + The property is returned to its normal value once it is used. Read-only + parameters cannot be overridden in this loop. + + + + Loops over the files in c:\. + + + + + ]]> + + + + Loops over all files in the project directory. + + + + + + + + + + + + ]]> + + + + Loops over the folders in c:\. + + + + + ]]> + + + + Loops over all folders in the project directory. + + + + + + + + + + + + ]]> + + + + Loops over a list. + + + + + ]]> + + + + + Loops over lines in the file properties.csv, where each line + is of the format name,value. + + + + + + ]]> + + - - The NAnt property name(s) that should be used for the current - iterated item. - - - If specifying multiple properties, separate them with a comma. - + + The NAnt property name(s) that should be used for the current + iterated item. + + + If specifying multiple properties, separate them with a comma. + - - The type of iteration that should be done. - + + The type of iteration that should be done. + @@ -6366,14 +6894,14 @@ - - The source of the iteration. - + + The source of the iteration. + - - The deliminator char. - + + The deliminator char. + @@ -6387,127 +6915,126 @@ - - Tasks to execute for each matching item. - + + Tasks to execute for each matching item. + - - Do not remove any white space characters. - + + Do not remove any white space characters. + - - Remove all white space characters from the end of the current - item. - + + Remove all white space characters from the end of the current + item. + - - Remove all white space characters from the beginning of the - current item. - + + Remove all white space characters from the beginning of the + current item. + - - Remove all white space characters from the beginning and end of - the current item. - + + Remove all white space characters from the beginning and end of + the current item. + - - Sends an SMTP message. - - - - Text and text files to include in the message body may be specified as - well as binary attachments. - - - - - Sends an email from nant@sourceforge.net to three recipients - with a subject about the attachments. The body of the message will be - the combined contents of all .txt files in the base directory. - All zip files in the base directory will be included as attachments. - The message will be sent using the smtpserver.anywhere.com SMTP - server. - - - - - - - - - - - ]]> - - + + Sends an SMTP message. + + + + Text and text files to include in the message body may be specified as + well as binary attachments. + + + + + Sends an email from nant@sourceforge.net to three recipients + with a subject about the attachments. The body of the message will be + the combined contents of all .txt files in the base directory. + All zip files in the base directory will be included as attachments. + The message will be sent using the smtpserver.anywhere.com SMTP + server. + + + + + + + + + + + ]]> + + - - - Initializes task and ensures the supplied attributes are valid. - - Xml node used to define this task instance. + + + Initializes task and ensures the supplied attributes are valid. + - - This is where the work is done. - + + This is where the work is done. + - - Reads a text file and returns the content - in a string. - - The file to read content of. - - The content of the specified file. - + + Reads a text file and returns the content + in a string. + + The file to read content of. + + The content of the specified file. + - - Email address of sender. - + + Email address of sender. + - - Semicolon-separated list of recipient email addresses. - + + Semicolon-separated list of recipient email addresses. + - - Semicolon-separated list of CC: recipient email addresses. - + + Semicolon-separated list of CC: recipient email addresses. + - - Semicolon-separated list of BCC: recipient email addresses. - + + Semicolon-separated list of BCC: recipient email addresses. + - - Host name of mail server. The default is localhost. - + + Host name of mail server. The default is localhost. + - - Text to send in body of email message. - + + Text to send in body of email message. + - - Text to send in subject line of email message. - + + Text to send in subject line of email message. + @@ -6515,35 +7042,35 @@ - - Files that are transmitted as part of the body of the email message. - + + Files that are transmitted as part of the body of the email message. + - - Attachments that are transmitted with the message. - + + Attachments that are transmitted with the message. + - - Creates a directory and any non-existent parent directory if necessary. - - - Create the directory build. - - - ]]> - - - - Create the directory tree one/two/three. - - - ]]> - - + + Creates a directory and any non-existent parent directory if necessary. + + + Create the directory build. + + + ]]> + + + + Create the directory tree one/two/three. + + + ]]> + + @@ -6552,9 +7079,9 @@ The directory could not be created. - - The directory to create. - + + The directory to create. + @@ -6637,24 +7164,24 @@ - - Actually does the file moves. - + + Actually does the file moves. + - - The file to move. - + + The file to move. + - - The file to move to. - + + The file to move to. + - - The directory to move to. - + + The directory to move to. + @@ -6670,38 +7197,38 @@ - - Chain of filters used to alter the file's content as it is moved. - + + Chain of filters used to alter the file's content as it is moved. + - - Creates an XSD File for all available tasks. - - - - This can be used in conjuntion with the command-line option to do XSD - Schema validation on the build file. - - - - Creates a NAnt.xsd file in the current project directory. - - - ]]> - - + + Creates an XSD File for all available tasks. + + + + This can be used in conjuntion with the command-line option to do XSD + Schema validation on the build file. + + + + Creates a NAnt.xsd file in the current project directory. + + + ]]> + + - - Creates a NAnt Schema for given types - - The output stream to save the schema to. If , writing is ignored, no exception generated. - The list of tasks to generate XML Schema for. - The list of datatypes to generate XML Schema for. - The target namespace to output. - The new NAnt Schema. + + Creates a NAnt Schema for given types + + The output stream to save the schema to. If , writing is ignored, no exception generated. + The list of tasks to generate XML Schema for. + The list of datatypes to generate XML Schema for. + The target namespace to output. + The new NAnt Schema. @@ -6720,14 +7247,14 @@ The new instance. - - The name of the output file to which the XSD should be written. - + + The name of the output file to which the XSD should be written. + - - The target namespace for the output. Defaults to "http://tempuri.org/nant-donotuse.xsd" - + + The target namespace for the output. Defaults to "http://tempuri.org/nant-donotuse.xsd" + @@ -6814,140 +7341,139 @@ - + Validates the element. - The XML node of the task to use for initialization. - - The build file to build. - + + The build file to build. + - - The target to execute. To specify more than one target seperate - targets with a space. Targets are executed in order if possible. - The default is to use target specified in the project's default - attribute. - + + The target to execute. To specify more than one target seperate + targets with a space. Targets are executed in order if possible. + The default is to use target specified in the project's default + attribute. + - - Used to specify a set of build files to process. - + + Used to specify a set of build files to process. + - - Specifies whether current property values should be inherited by - the executed project. The default is . - + + Specifies whether current property values should be inherited by + the executed project. The default is . + - - Specifies whether all references will be copied to the new project. - The default is . - + + Specifies whether all references will be copied to the new project. + The default is . + - - Specifies a collection of properties that should be created in the - executed project. Note, existing properties with identical names - that are not read-only will be overwritten. - + + Specifies a collection of properties that should be created in the + executed project. Note, existing properties with identical names + that are not read-only will be overwritten. + - - Sets a property in the current project. - - - NAnt uses a number of predefined properties. - - - - Define a debug property with value . - - - - ]]> - - - - - Use the user-defined debug property. - - - - ]]> - - - - - Define a read-only property. This is just like passing in the param - on the command line. - - - - ]]> - - - - - Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line). - - - - - - - ]]> - - - Executing this build file with the command line option -D:debug=false, - would cause the value specified on the command line to remain unaltered. - - - - - + + Sets a property in the current project. + + + NAnt uses a number of predefined properties. + + + + Define a debug property with value . + + + + ]]> + + + + + Use the user-defined debug property. + + + + ]]> + + + + + Define a read-only property. This is just like passing in the param + on the command line. + + + + ]]> + + + + + Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line). + + + + + + + ]]> + + + Executing this build file with the command line option -D:debug=false, + would cause the value specified on the command line to remain unaltered. + + + + + - - The name of the NAnt property to set. - + + The name of the NAnt property to set. + - - The value to assign to the NAnt property. - + + The value to assign to the NAnt property. + - - Specifies whether the property is read-only or not. - The default is . - + + Specifies whether the property is read-only or not. + The default is . + - - Specifies whether references to other properties should not be - expanded when the value of the property is set, but expanded when - the property is actually used. By default, properties will be - expanded when set. - + + Specifies whether references to other properties should not be + expanded when the value of the property is set, but expanded when + the property is actually used. By default, properties will be + expanded when set. + - - Specifies whether the value of a property should be overwritten if - the property already exists (unless the property is read-only). - The default is . - + + Specifies whether the value of a property should be overwritten if + the property already exists (unless the property is read-only). + The default is . + @@ -7008,21 +7534,21 @@ - - Executes the task. - + + Executes the task. + - - Represents the regular expression to be evalued. - - - The regular expression to be evalued. - - - The pattern must contain one or more named constructs, which may - not contain any punctuation and cannot begin with a number. - + + Represents the regular expression to be evalued. + + + The regular expression to be evalued. + + + The pattern must contain one or more named constructs, which may + not contain any punctuation and cannot begin with a number. + @@ -7031,12 +7557,12 @@ - - Represents the input for the regular expression. - - - The input for the regular expression. - + + Represents the input for the regular expression. + + + The input for the regular expression. + @@ -7102,209 +7628,218 @@ - - Win32 DllImport for the SetEnvironmentVariable function. - - - - + + Win32 DllImport for the SetEnvironmentVariable function. + + + + - - *nix dllimport for the setenv function. - - - - - + + *nix dllimport for the setenv function. + + + + + + 0 if the execution is successful; otherwise, -1. + - - - Checks whether the task is initialized with valid attributes. - - + + + Deletes all instances of the variable name. + + The variable to unset. + + 0 if the execution is successful; otherwise, -1. + + + + + Checks whether the task is initialized with valid attributes. + - - Set the environment variables - + + Set the environment variables + - - Do the actual work here. - - The name of the environment variable. - The value of the environment variable. + + Do the actual work here. + + The name of the environment variable. + The value of the environment variable. - - The name of a single Environment variable to set - + + The name of a single Environment variable to set + - - The literal value for the environment variable. - + + The literal value for the environment variable. + - - The value for a file-based environment variable. NAnt will convert - it to an absolute filename. - + + The value for a file-based environment variable. NAnt will convert + it to an absolute filename. + - - The value for a directory-based environment variable. NAnt will - convert it to an absolute path. - + + The value for a directory-based environment variable. NAnt will + convert it to an absolute path. + - - The value for a PATH like environment variable. You can use - : or ; as path separators and NAnt will convert it to - the platform's local conventions. - + + The value for a PATH like environment variable. You can use + : or ; as path separators and NAnt will convert it to + the platform's local conventions. + - - A task for sleeping a specified period of time, useful when a build or deployment process - requires an interval between tasks. - - - Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds. - - - ]]> - - - - Sleep 123 milliseconds. - - - ]]> - - + + A task for sleeping a specified period of time, useful when a build or deployment process + requires an interval between tasks. + + + Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds. + + + ]]> + + + + Sleep 123 milliseconds. + + + ]]> + + - - - Verify parameters. - - taskNode used to define this task instance + + + Verify parameters. + - - Return time to sleep. - + + Return time to sleep. + - - Sleeps for the specified number of milliseconds. - - Number of milliseconds to sleep. + + Sleeps for the specified number of milliseconds. + + Number of milliseconds to sleep. - - Hours to add to the sleep time. - + + Hours to add to the sleep time. + - - Minutes to add to the sleep time. - + + Minutes to add to the sleep time. + - - Seconds to add to the sleep time. - + + Seconds to add to the sleep time. + - - Milliseconds to add to the sleep time. - + + Milliseconds to add to the sleep time. + - - Processes a document via XSLT. - - - Create a report in HTML. - - - ]]> - - - - Create a report in HTML, with a param. - - - - - - - ]]> - - - - Create a report in HTML, with a expanded param. - - - - - - - ]]> - - - - Create some code based on a directory of templates. - - - - - - - - - - ]]> - - + + Processes a document via XSLT. + + + Create a report in HTML. + + + ]]> + + + + Create a report in HTML, with a param. + + + + + + + ]]> + + + + Create a report in HTML, with a expanded param. + + + + + + + ]]> + + + + Create some code based on a directory of templates. + + + + + + + + + + ]]> + + - - Directory in which to store the results. The default is the project - base directory. - + + Directory in which to store the results. The default is the project + base directory. + - - Desired file extension to be used for the targets. The default is - html. - + + Desired file extension to be used for the targets. The default is + html. + - - URI or path that points to the stylesheet to use. If given as path, it can - be relative to the project's basedir or absolute. - + + URI or path that points to the stylesheet to use. If given as path, it can + be relative to the project's basedir or absolute. + @@ -7319,24 +7854,24 @@ - - Specifies a group of input files to which to apply the stylesheet. - + + Specifies a group of input files to which to apply the stylesheet. + - - XSLT parameters to be passed to the XSLT transformation. - + + XSLT parameters to be passed to the XSLT transformation. + - - XSLT extension objects to be passed to the XSLT transformation. - + + XSLT extension objects to be passed to the XSLT transformation. + - - The network proxy to use to access the Internet resource. - + + The network proxy to use to access the Internet resource. + @@ -7460,9 +7995,70 @@ - - The string to prefix the property names with. The default is "sys.". - + + The string to prefix the property names with. The default is "sys.". + + + + + Touches a file or set of files -- corresponds to the Unix touch command. + + + + If the file specified does not exist, the task will create it. + + + + Touch the Main.cs file. The current time is used. + + + ]]> + + + + + Touch all executable files in the project base directory and its + subdirectories. + + + + + + + + + ]]> + + + + + + Ensures the supplied attributes are valid. + + + + + The file to touch. + + + + + Specifies the new modification time of the file(s) in milliseconds + since midnight Jan 1 1970. + + + + + Specifies the new modification time of the file in the format + MM/DD/YYYY HH:MM:SS. + + + + + Used to select files that should be touched. + @@ -7514,139 +8110,77 @@ - - The property to receive the date/time string in the given pattern. - + + The property to receive the date/time string in the given pattern. + - The date/time pattern to be used. - - 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. - - - Format Character - Description Example Format Pattern (en-US) - - dMM/dd/yyyy - Ddddd, dd MMMM yyyy - fdddd, dd MMMM yyyy HH:mm - Fdddd, dd MMMM yyyy HH:mm:ss - gMM/dd/yyyy HH:mm - GMM/dd/yyyy HH:mm:ss - m, MMMMM dd - r, Rddd, dd MMM yyyy HH':'mm':'ss 'GMT' - syyyy'-'MM'-'dd'T'HH':'mm':'ss - tHH:mm - THH:mm:ss - uyyyy'-'MM'-'dd HH':'mm':'ss'Z' - Udddd, dd MMMM yyyy HH:mm:ss - y, Yyyyy MMMM - - 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. - - - Format - Pattern Description - - dThe day of the month. Single-digit days will not have a leading zero. - ddThe day of the month. Single-digit days will have a leading zero. - dddThe abbreviated name of the day of the week. - ddddThe full name of the day of the week. - MThe numeric month. Single-digit months will not have a leading zero. - MMThe numeric month. Single-digit months will have a leading zero. - MMMThe abbreviated name of the month. - MMMMThe full name of the month. - yThe year without the century. If the year without the century is less than 10, the year is displayed with no leading zero. - yyThe year without the century. If the year without the century is less than 10, the year is displayed with a leading zero. - yyyyThe year in four digits, including the century. - ggThe period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string. - hThe hour in a 12-hour clock. Single-digit hours will not have a leading zero. - hhThe hour in a 12-hour clock. Single-digit hours will have a leading zero. - HThe hour in a 24-hour clock. Single-digit hours will not have a leading zero. - HHThe hour in a 24-hour clock. Single-digit hours will have a leading zero. - mThe minute. Single-digit minutes will not have a leading zero. - mmThe minute. Single-digit minutes will have a leading zero. - sThe second. Single-digit seconds will not have a leading zero. - ssThe second. Single-digit seconds will have a leading zero. - fThe fraction of a second in single-digit precision. The remaining digits are truncated. - ffThe fraction of a second in double-digit precision. The remaining digits are truncated. - fffThe fraction of a second in three-digit precision. The remaining digits are truncated. - ffffThe fraction of a second in four-digit precision. The remaining digits are truncated. - fffffThe fraction of a second in five-digit precision. The remaining digits are truncated. - ffffffThe fraction of a second in six-digit precision. The remaining digits are truncated. - fffffffThe fraction of a second in seven-digit precision. The remaining digits are truncated. - tThe first character in the AM/PM designator. - ttThe AM/PM designator. - zThe 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". - zzThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will have a leading zero. For example, Pacific Standard Time is "-08". - zzzThe 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". - :The default time separator. - /The default date separator. - \ cPattern Where c is any character. Displays the character literally. To display the backslash character, use "\\". - - - - - - Touches a file or set of files -- corresponds to the Unix touch command. - - - - If the file specified does not exist, the task will create it. - - - - Touch the Main.cs file. The current time is used. - - - ]]> - - - - - Touch all executable files in the project base directory and its - subdirectories. - - - - - - - - - ]]> - - - - - - Ensures the supplied attributes are valid. - - Xml node used to define this task instance. - - - - The file to touch. - - - - - Specifies the new modification time of the file(s) in milliseconds - since midnight Jan 1 1970. - - - - - Specifies the new modification time of the file in the format - MM/DD/YYYY HH:MM:SS. - - - - - Used to select files that should be touched. - + The date/time pattern to be used. + + 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. + + + Format Character + Description Example Format Pattern (en-US) + + dMM/dd/yyyy + Ddddd, dd MMMM yyyy + fdddd, dd MMMM yyyy HH:mm + Fdddd, dd MMMM yyyy HH:mm:ss + gMM/dd/yyyy HH:mm + GMM/dd/yyyy HH:mm:ss + m, MMMMM dd + r, Rddd, dd MMM yyyy HH':'mm':'ss 'GMT' + syyyy'-'MM'-'dd'T'HH':'mm':'ss + tHH:mm + THH:mm:ss + uyyyy'-'MM'-'dd HH':'mm':'ss'Z' + Udddd, dd MMMM yyyy HH:mm:ss + y, Yyyyy MMMM + + 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. + + + Format + Pattern Description + + dThe day of the month. Single-digit days will not have a leading zero. + ddThe day of the month. Single-digit days will have a leading zero. + dddThe abbreviated name of the day of the week. + ddddThe full name of the day of the week. + MThe numeric month. Single-digit months will not have a leading zero. + MMThe numeric month. Single-digit months will have a leading zero. + MMMThe abbreviated name of the month. + MMMMThe full name of the month. + yThe year without the century. If the year without the century is less than 10, the year is displayed with no leading zero. + yyThe year without the century. If the year without the century is less than 10, the year is displayed with a leading zero. + yyyyThe year in four digits, including the century. + ggThe period or era. This pattern is ignored if the date to be formatted does not have an associated period or era string. + hThe hour in a 12-hour clock. Single-digit hours will not have a leading zero. + hhThe hour in a 12-hour clock. Single-digit hours will have a leading zero. + HThe hour in a 24-hour clock. Single-digit hours will not have a leading zero. + HHThe hour in a 24-hour clock. Single-digit hours will have a leading zero. + mThe minute. Single-digit minutes will not have a leading zero. + mmThe minute. Single-digit minutes will have a leading zero. + sThe second. Single-digit seconds will not have a leading zero. + ssThe second. Single-digit seconds will have a leading zero. + fThe fraction of a second in single-digit precision. The remaining digits are truncated. + ffThe fraction of a second in double-digit precision. The remaining digits are truncated. + fffThe fraction of a second in three-digit precision. The remaining digits are truncated. + ffffThe fraction of a second in four-digit precision. The remaining digits are truncated. + fffffThe fraction of a second in five-digit precision. The remaining digits are truncated. + ffffffThe fraction of a second in six-digit precision. The remaining digits are truncated. + fffffffThe fraction of a second in seven-digit precision. The remaining digits are truncated. + tThe first character in the AM/PM designator. + ttThe AM/PM designator. + zThe 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". + zzThe time zone offset ("+" or "-" followed by the hour only). Single-digit hours will have a leading zero. For example, Pacific Standard Time is "-08". + zzzThe 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". + :The default time separator. + /The default date separator. + \ cPattern Where c is any character. Displays the character literally. To display the backslash character, use "\\". + + @@ -7676,10 +8210,10 @@ - - Property that will be set to or depending on the - result of the date check. - + + Property that will be set to or depending on the + result of the date check. + @@ -7692,55 +8226,55 @@ - - Extracts text from an XML file at the location specified by an XPath - expression. - - - - If the XPath expression specifies multiple nodes the node index is used - to determine which of the nodes' text is returned. - - - - - The example provided assumes that the following XML file (App.config) - exists in the current build directory. - - - - - - - - - ]]> - - - - - The example will read the server value from the above - configuration file. - - - - - - - - ]]> - - + + Extracts text from an XML file at the location specified by an XPath + expression. + + + + If the XPath expression specifies multiple nodes the node index is used + to determine which of the nodes' text is returned. + + + + + The example provided assumes that the following XML file (App.config) + exists in the current build directory. + + + + + + + + + ]]> + + + + + The example will read the server value from the above + configuration file. + + + + + + + + ]]> + + - - Executes the XML peek task. - + + Executes the XML peek task. + @@ -7753,119 +8287,122 @@ - - Gets the contents of the node specified by the XPath expression. - - The XPath expression used to determine which nodes to choose from. - The XML document to select the nodes from. - The node index in the case where multiple nodes satisfy the expression. - - The contents of the node specified by the XPath expression. - + + Gets the contents of the node specified by the XPath expression. + + The XPath expression used to determine which nodes to choose from. + The XML document to select the nodes from. + The node index in the case where multiple nodes satisfy the expression. + + The contents of the node specified by the XPath expression. + - - The name of the file that contains the XML document - that is going to be peeked at. - + + The name of the file that contains the XML document + that is going to be peeked at. + - - The index of the node that gets its text returned when the query - returns multiple nodes. - + + The index of the node that gets its text returned when the query + returns multiple nodes. + - - The property that receives the text representation of the XML inside - the node returned from the XPath expression. - + + The property that receives the text representation of the XML inside + the node returned from the XPath expression. + - - The XPath expression used to select which node to read. - + + The XPath expression used to select which node to read. + - - Namespace definitions to resolve prefixes in the XPath expression. - + + Namespace definitions to resolve prefixes in the XPath expression. + - - Replaces text in an XML file at the location specified by an XPath - expression. - - - - The location specified by the XPath expression must exist, it will - not create the parent elements for you. However, provided you have - a root element you could use a series of the tasks to build the - XML file up if necessary. - - - - - Change the server setting in the configuration from testhost.somecompany.com - to productionhost.somecompany.com. - - XML file: - - - - - - - - ]]> - - Build fragment: - - - ]]> - - - - - Modify the noNamespaceSchemaLocation in an XML file. - - XML file: - - - - - ]]> - - Build fragment: - - - - - - - ]]> - - + + Replaces text in an XML file at the location specified by an XPath + expression. + + + + The location specified by the XPath expression must exist, it will + not create the parent elements for you. However, provided you have + a root element you could use a series of the tasks to build the + XML file up if necessary. + + + + + Change the server setting in the configuration from testhost.somecompany.com + to productionhost.somecompany.com. + + XML file: + + + + + + + + ]]> + + Build fragment: + + + ]]> + + + + + Modify the noNamespaceSchemaLocation in an XML file. + + XML file: + + + + + ]]> + + Build fragment: + + + + + + + ]]> + + - - Executes the XML poke task. - + + Executes the XML poke task. + - + Loads an XML document from a file on disk. The file name of the file to load the XML document from. + + Value for XmlDocument.PreserveWhitespace that is set before the xml is loaded. + An containing the document object model representing the file. @@ -7892,48 +8429,60 @@ - - Given a node list, replaces the XML within those nodes. - - - The list of nodes to replace the contents of. - - - The text to replace the contents with. - + + Given a node list, replaces the XML within those nodes. + + + The list of nodes to replace the contents of. + + + The text to replace the contents with. + - - Saves the XML document to a file. - - The XML document to be saved. - The file name to save the XML document under. + + Saves the XML document to a file. + + The XML document to be saved. + The file name to save the XML document under. - - The name of the file that contains the XML document that is going - to be poked. - + + The name of the file that contains the XML document that is going + to be poked. + - - The XPath expression used to select which nodes are to be modified. - + + The XPath expression used to select which nodes are to be modified. + - - The value that replaces the contents of the selected nodes. - + + The value that replaces the contents of the selected nodes. + - - Namespace definitions to resolve prefixes in the XPath expression. - + + Namespace definitions to resolve prefixes in the XPath expression. + + + + + Namespace definitions to resolve prefixes in the XPath expression. + Represents a command-line argument. + + + When passed to an external application, the argument will be quoted + when appropriate. This does not apply to the + parameter, which is always passed as is. + + A single command-line argument containing a space character. @@ -8001,76 +8550,76 @@ - - Quotes a command line argument if it contains a single quote or a - space. - - The command line argument. - - A quoted command line argument if - contains a single quote or a space; otherwise, - . - + + Quotes a command line argument if it contains a single quote or a + space. + + The command line argument. + + A quoted command line argument if + contains a single quote or a space; otherwise, + . + - - A single command-line argument; can contain space characters. - + + A single command-line argument; can contain space characters. + - - The name of a file as a single command-line argument; will be - replaced with the absolute filename of the file. - + + The name of a file as a single command-line argument; will be + replaced with the absolute filename of the file. + - - The value for a directory-based command-line argument; will be - replaced with the absolute path of the directory. - + + The value for a directory-based command-line argument; will be + replaced with the absolute path of the directory. + - - The value for a PATH-like command-line argument; you can use - : or ; as path separators and NAnt will convert it - to the platform's local conventions, while resolving references to - environment variables. - - - Individual parts will be replaced with the absolute path, resolved - relative to the project base directory. - + + The value for a PATH-like command-line argument; you can use + : or ; as path separators and NAnt will convert it + to the platform's local conventions, while resolving references to + environment variables. + + + Individual parts will be replaced with the absolute path, resolved + relative to the project base directory. + - - Sets a single command-line argument and treats it like a PATH - ensures - the right separator for the local platform is used. - + + Sets a single command-line argument and treats it like a PATH - ensures + the right separator for the local platform is used. + - - List of command-line arguments; will be passed to the executable - as is. - + + List of command-line arguments; will be passed to the executable + as is. + - - Indicates if the argument should be passed to the external program. - If then the argument will be passed; - otherwise, skipped. The default is . - + + Indicates if the argument should be passed to the external program. + If then the argument will be passed; + otherwise, skipped. The default is . + - - Indicates if the argument should not be passed to the external - program. If then the argument will be - passed; otherwise, skipped. The default is . - + + Indicates if the argument should not be passed to the external + program. If then the argument will be + passed; otherwise, skipped. The default is . + - - Gets string value corresponding with the argument. - + + Gets string value corresponding with the argument. + @@ -8136,11 +8685,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -8173,10 +8722,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -8197,33 +8746,33 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Provides credentials for password-based authentication schemes. - + + Provides credentials for password-based authentication schemes. + @@ -8243,35 +8792,35 @@ - - The domain or computer name that verifies the credentials. - + + The domain or computer name that verifies the credentials. + - - The password for the user name associated with the credentials. - + + The password for the user name associated with the credentials. + - - The user name associated with the credentials. - + + The user name associated with the credentials. + - - Indicates if the credentials should be used to provide authentication - information to the external resource. If then - the credentials will be passed; otherwise, not. The default is - . - + + Indicates if the credentials should be used to provide authentication + information to the external resource. If then + the credentials will be passed; otherwise, not. The default is + . + - - Indicates if the credentials should not be used to provide authentication - information to the external resource. If then the - credentials will be passed; otherwise, not. The default is - . - + + Indicates if the credentials should not be used to provide authentication + information to the external resource. If then the + credentials will be passed; otherwise, not. The default is + . + @@ -8345,6 +8894,12 @@ ** is appended. For example, mypackage/test/ is interpreted as if it were mypackage/test/**. +

Case-Sensitivity

+ + By default, pattern matching is case-sensitive on Unix and case-insensitive + on other platforms. The parameter can be used + to override this. +

Default Excludes

There are a set of definitions that are excluded by default from all @@ -8421,6 +8976,11 @@ **/vssver.scc + + + **/vssver2.scc + + **/_vti_cnf/** @@ -8524,6 +9084,7 @@ + @@ -8531,10 +9092,10 @@ - - copy constructor - - + + copy constructor + +
@@ -8544,6 +9105,11 @@ A shallow copy of the . + + + Adds a nested set of patterns, or references a standalone patternset. + + Copies all instance data of the to a given @@ -8551,30 +9117,37 @@ - - Determines if a file has a more recent last write time than the - given time, or no longer exists. - - A file to check the last write time against. - The datetime to compare against. - - The name of the file that has a last write time greater than - or that no longer exists; - otherwise, . - + + Determines if a file has a more recent last write time than the + given time, or no longer exists. + + A file to check the last write time against. + The datetime to compare against. + + The name of the file that has a last write time greater than + or that no longer exists; + otherwise, . + - - Determines if one of the given files has a more recent last write - time than the given time. If one of the given files no longer exists, - the target will be considered out-of-date. - - A collection of filenames to check the last write time against. - The datetime to compare against. - - The name of the first file that has a last write time greater than - ; otherwise, null. - + + Determines if one of the given files has a more recent last write + time than the given time. If one of the given files no longer exists, + the target will be considered out-of-date. + + A collection of filenames to check the last write time against. + The datetime to compare against. + + The name of the first file that has a last write time greater than + ; otherwise, null. + + + + + Indicates whether include and exclude patterns must be treated in a + case-sensitive way. The default is on Unix; + otherwise, . + @@ -8584,26 +9157,26 @@ - - Indicates whether default excludes should be used or not. - The default is . - + + Indicates whether default excludes should be used or not. + The default is . + - - The base of the directory of this fileset. The default is the project - base directory. - + + The base of the directory of this fileset. The default is the project + base directory. + - - Gets the collection of include patterns. - + + Gets the collection of include patterns. + - - Gets the collection of exclude patterns. - + + Gets the collection of exclude patterns. + @@ -8631,51 +9204,51 @@ - - Gets the collection of directory names that were scanned for files. - - - A collection that contains the directory names that were scanned for - files. - + + Gets the collection of directory names that were scanned for files. + + + A collection that contains the directory names that were scanned for + files. + - - The items to include in the fileset. - + + The items to include in the fileset. + - - The items to include in the fileset. - + + The items to include in the fileset. + - - The items to exclude from the fileset. - + + The items to exclude from the fileset. + - - The items to exclude from the fileset. - + + The items to exclude from the fileset. + - - The files from which a list of patterns or files to include should - be obtained. - + + The files from which a list of patterns or files to include should + be obtained. + - - The files from which a list of patterns or files to include should - be obtained. - + + The files from which a list of patterns or files to include should + be obtained. + - - The files from which a list of patterns or files to exclude should - be obtained. - + + The files from which a list of patterns or files to exclude should + be obtained. + @@ -8686,15 +9259,15 @@ - - The pattern or file name to exclude. - + + The pattern or file name to exclude. + - - If then the pattern will be excluded; - otherwise, skipped. The default is . - + + If then the pattern will be excluded; + otherwise, skipped. The default is . + @@ -8711,21 +9284,21 @@ - - If then the file will be searched for - on the path. The default is . - + + If then the file will be searched for + on the path. The default is . + - - The pattern or file name to include. - + + The pattern or file name to include. + - - If then the pattern will be included; - otherwise, skipped. The default is . - + + If then the pattern will be included; + otherwise, skipped. The default is . + @@ -8740,10 +9313,10 @@ - - If then the patterns will be excluded; - otherwise, skipped. The default is . - + + If then the patterns will be excluded; + otherwise, skipped. The default is . + @@ -8753,10 +9326,10 @@ - - The name of a file; each line of this file is taken to be a - pattern. - + + The name of a file; each line of this file is taken to be a + pattern. + @@ -8767,16 +9340,16 @@ - - If then the patterns in the include file - will be searched for on the path. The default is . - + + If then the patterns in the include file + will be searched for on the path. The default is . + - - If then the patterns will be included; - otherwise, skipped. The default is . - + + If then the patterns will be included; + otherwise, skipped. The default is . + @@ -8799,9 +9372,9 @@ A instance to create a from. - - Represents an environment variable. - + + Represents an environment variable. + @@ -8817,75 +9390,75 @@ - - The name of the environment variable. - + + The name of the environment variable. + - - The literal value for the environment variable. - + + The literal value for the environment variable. + - - The value for a file-based environment variable. NAnt will convert - it to an absolute filename. - + + The value for a file-based environment variable. NAnt will convert + it to an absolute filename. + - - The value for a directory-based environment variable. NAnt will - convert it to an absolute path. - + + The value for a directory-based environment variable. NAnt will + convert it to an absolute path. + - - The value for a PATH like environment variable. You can use - : or ; as path separators and NAnt will convert it to - the platform's local conventions. - + + The value for a PATH like environment variable. You can use + : or ; as path separators and NAnt will convert it to + the platform's local conventions. + - - Sets a single environment variable and treats it like a PATH - - ensures the right separator for the local platform is used. - + + Sets a single environment variable and treats it like a PATH - + ensures the right separator for the local platform is used. + - - Gets the value of the environment variable. - + + Gets the value of the environment variable. + - - Indicates if the environment variable should be passed to the - external program. If then the environment - variable will be passed; otherwise, skipped. The default is - . - + + Indicates if the environment variable should be passed to the + external program. If then the environment + variable will be passed; otherwise, skipped. The default is + . + - - Indicates if the environment variable should not be passed to the - external program. If then the environment - variable will be passed; otherwise, skipped. The default is - . - + + Indicates if the environment variable should not be passed to the + external program. If then the environment + variable will be passed; otherwise, skipped. The default is + . + - - A set of environment variables. - + + A set of environment variables. + - - Environment variable to pass to a program. - + + Environment variable to pass to a program. + - - Environment variable to pass to a program. - + + Environment variable to pass to a program. + @@ -8951,11 +9524,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -8988,10 +9561,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -9012,52 +9585,52 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - The name of the NAnt property to set. - + + The name of the NAnt property to set. + - - The string pattern to use to format the property. - + + The string pattern to use to format the property. + - - Indicates if the formatter should be used to format the timestamp. - If then the formatter will be used; - otherwise, skipped. The default is . - + + Indicates if the formatter should be used to format the timestamp. + If then the formatter will be used; + otherwise, skipped. The default is . + - - Indicates if the formatter should be not used to format the - timestamp. If then the formatter will be - used; otherwise, skipped. The default is . - + + Indicates if the formatter should be not used to format the + timestamp. If then the formatter will be + used; otherwise, skipped. The default is . + @@ -9111,11 +9684,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -9148,10 +9721,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -9166,69 +9739,145 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + Gets the current element in the collection. + + + The current element in the collection. + + + - Gets the current element in the collection. + Specifies the execution mode for managed applications. + + + For backward compatibility, the following string values can also be + used in build files: + + + + Value + Corresponding field + + + "true" + + + + "false" + + + + + Even if set to , the operating system can still + run the program as a managed application. + + On Linux this can be done through binfmt_misc, while on + Windows installing the .NET Framework redistributable caused managed + applications to run on the MS CLR by default. + + + + + + Do not threat the program as a managed application. + + + + + Leave it up to the CLR to determine which specific version of + the CLR will be used to run the application. + + + + + Forces an application to run against the currently targeted + version of a given CLR. + + + + + Specialized that also supports + case-insensitive conversion of "true" to + and "false" to + . + + + + + Initializes a new instance of the + class. + + + + + Converts the given object to the type of this converter, using the + specified context and culture information. + + An that provides a format context. + A object. If a is passed, the current culture is assumed. + The to convert. - The current element in the collection. + An that represents the converted value. - - Represents an option. - + + Represents an option. + - - name, value constructor - - - + + name, value constructor + + + - - Default constructor - + + Default constructor + - - Name of the option. - + + Name of the option. + - - Value of the option. The default is . - + + Value of the option. The default is . + - - Indicates if the option should be passed to the task. - If then the option will be passed; - otherwise, skipped. The default is . - + + Indicates if the option should be passed to the task. + If then the option will be passed; + otherwise, skipped. The default is . + - - Indicates if the option should not be passed to the task. - If then the option will be passed; - otherwise, skipped. The default is . - + + Indicates if the option should not be passed to the task. + If then the option will be passed; + otherwise, skipped. The default is . + @@ -9293,11 +9942,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -9330,10 +9979,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -9354,59 +10003,59 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Represents a nested path element. - + + Represents a nested path element. + - - The name of a file to add to the path. Will be replaced with - the absolute path of the file. - + + The name of a file to add to the path. Will be replaced with + the absolute path of the file. + - - The name of a directory to add to the path. Will be replaced with - the absolute path of the directory. - + + The name of a directory to add to the path. Will be replaced with + the absolute path of the directory. + - - A string that will be treated as a path-like string. You can use - : or ; as path separators and NAnt will convert it - to the platform's local conventions, while resolving references - to environment variables. - + + A string that will be treated as a path-like string. You can use + : or ; as path separators and NAnt will convert it + to the platform's local conventions, while resolving references + to environment variables. + - - If then the entry will be added to the - path; otherwise, skipped. The default is . - + + If then the entry will be added to the + path; otherwise, skipped. The default is . + @@ -9425,27 +10074,27 @@ - - - Paths are groups of files and/or directories that need to be passed as a single - unit. The order in which parts of the path are specified in the build file is - retained, and duplicate parts are automatically suppressed. - - - - - Define a global <path> that can be referenced by other - tasks or types. - - - - - - - ]]> - - + + + Paths are groups of files and/or directories that need to be passed as a single + unit. The order in which parts of the path are specified in the build file is + retained, and duplicate parts are automatically suppressed. + + + + + Define a global <path> that can be referenced by other + tasks or types. + + + + + + + ]]> + + @@ -9461,13 +10110,13 @@ The string representing a path. - - Returns a textual representation of the path, which can be used as - PATH environment variable definition. - - - A textual representation of the path. - + + Returns a textual representation of the path, which can be used as + PATH environment variable definition. + + + A textual representation of the path. + @@ -9482,12 +10131,12 @@ The to add. - - Returns all path elements defined by this path object. - - - A list of path elements. - + + Returns all path elements defined by this path object. + + + A list of path elements. + @@ -9501,12 +10150,382 @@ resolved and duplicate entries removed. - + - Contains HTTP proxy settings used to process requests to Internet - resources. + Initializes a new instance of the class. + + + The name pattern to include/exclude. + + + + + If then the pattern will be used; + otherwise, skipped. The default is . + + + + + If then the pattern will be used; + otherwise, skipped. The default is . + + + + + Contains a collection of elements. + + + + + Initializes a new instance of the class. + + + + + Removes all items from the . + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Copies the entire collection to a compatible one-dimensional array, + starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + A set of patterns, mostly used to include or exclude certain files. + + + + The individual patterns support if and unless attributes + to specify that the element should only be used if or unless a given + condition is met. + + + The and + elements load patterns from a file. When the file is a relative path, + it will be resolved relative to the project base directory in which + the patternset is defined. Each line of this file is taken to be a + pattern. + + + The number sign (#) as the first non-blank character in a line denotes + that all text following it is a comment: + + + + + + Patterns can be grouped to sets, and later be referenced by their + . + + + When used as a standalone element (global type), any properties that + are referenced will be resolved when the definition is processed, not + when it actually used. Passing a reference to a nested build file + will not cause the properties to be re-evaluated. + + + To improve reuse of globally defined patternsets, avoid referencing + any properties altogether. + + + + + Define a set of patterns that matches all .cs files that do not contain + the text Test in their name. + + + + + + + ]]> + + + + + Define two sets. One holding C# sources, and one holding VB sources. + Both sets only include test sources when the test property is + set. A third set combines both C# and VB sources. + + + + + + + + + + + + + + + + + ]]> + + + + + Define a set from patterns in a file. + + + + + + + ]]> + + + + + Defines a patternset with patterns that are loaded from an external + file, and shows the behavior when that patternset is passed as a + reference to a nested build script. + + + External file "c:\foo\build\service.lst" holding patterns + of source files to include for the Foo.Service assembly: + + + + + Main build script located in "c:\foo\default.build": + + + + + + + + + + + + + + + + ]]> + + Nested build script located in "c:\foo\services\default.build" + which uses the patternset to feed sources files to the C# compiler: + + + + + + + + + + + ]]> + + At the time when the patternset is used in the "service" + build script, the following source files in "c:\foo\services\src" + match the defined patterns: + + + + + You should have observed that: + + + + + although the patternset is used from the "service" + build script, the path to the external file is resolved relative + to the base directory of the "main" build script in + which the patternset is defined. + + + + + the "TraceListener.cs" file is included, even though + the "build.debug" property was changed to false + after the patternset was defined (but before it was passed to + the nested build, and used). + + + + + + + + + Initializes a new instance of the class. + + + + + Adds a nested set of patterns, or references other standalone + patternset. + + The to add. + + + + Defines a single pattern for files to include. + + + + + Loads multiple patterns of files to include from a given file, set + using the parameter. + + + + + Defines a single pattern for files to exclude. + + + + + Loads multiple patterns of files to exclude from a given file, set + using the parameter. + + + + + Contains HTTP proxy settings used to process requests to Internet + resources. + + Initializes a new instance of the class. @@ -9524,9 +10543,9 @@ - - The name of the proxy host. - + + The name of the proxy host. + @@ -9534,40 +10553,40 @@ - - Specifies whether to bypass the proxy server for local addresses. - The default is . - + + Specifies whether to bypass the proxy server for local addresses. + The default is . + - - The credentials to submit to the proxy server for authentication. - + + The credentials to submit to the proxy server for authentication. + - - Indicates if the proxy should be used to connect to the external - resource. If then the proxy will be used; - otherwise, not. The default is . - + + Indicates if the proxy should be used to connect to the external + resource. If then the proxy will be used; + otherwise, not. The default is . + - - Indicates if the proxy should not be used to connect to the external - resource. If then the proxy will be used; - otherwise, not. The default is . - + + Indicates if the proxy should not be used to connect to the external + resource. If then the proxy will be used; + otherwise, not. The default is . + - - Represents an element of which the XML is processed by its parent task - or type. - + + Represents an element of which the XML is processed by its parent task + or type. + - - Gets the XML that this element represents. - + + Gets the XML that this element represents. + @@ -9581,48 +10600,48 @@ - - ReplaceTokens filter token. - + + ReplaceTokens filter token. + - - Token to be replaced. - + + Token to be replaced. + - - New value of token. - + + New value of token. + - - Indicates if the token should be used to replace values. - If then the token will be used; - otherwise, not. The default is . - + + Indicates if the token should be used to replace values. + If then the token will be used; + otherwise, not. The default is . + - - Indicates if the token should not be used to replace values. - If then the token will be used; - otherwise, not. The default is . - + + Indicates if the token should not be used to replace values. + If then the token will be used; + otherwise, not. The default is . + - - Represents an XML namespace. - + + Represents an XML namespace. + - - The prefix to associate with the namespace. - + + The prefix to associate with the namespace. + - - The associated XML namespace URI. - + + The associated XML namespace URI. + @@ -9702,11 +10721,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -9739,10 +10758,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -9763,35 +10782,35 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Represents an XSLT extension object. The object should have a default - parameterless constructor and the return value should be one of the - four basic XPath data types of number, string, Boolean or node set. - + + Represents an XSLT extension object. The object should have a default + parameterless constructor and the return value should be one of the + four basic XPath data types of number, string, Boolean or node set. + @@ -9809,28 +10828,28 @@ - - The full type name of the XSLT extension object. - + + The full type name of the XSLT extension object. + - - The assembly which contains the XSLT extension object. - + + The assembly which contains the XSLT extension object. + - - Indicates if the extension object should be added to the XSLT argument - list. If then the extension object will be - added; otherwise, skipped. The default is . - + + Indicates if the extension object should be added to the XSLT argument + list. If then the extension object will be + added; otherwise, skipped. The default is . + - - Indicates if the extension object should not be added to the XSLT argument - list. If then the extension object will be - added; otherwise, skipped. The default is . - + + Indicates if the extension object should not be added to the XSLT argument + list. If then the extension object will be + added; otherwise, skipped. The default is . + @@ -9907,15 +10926,15 @@ - - Copies the entire collection to a compatible one-dimensional array, - starting at the specified index of the target array. - - The one-dimensional array that is the - destination of the elements copied from the collection. The array - must have zero-based indexing. - The zero-based index in - at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, + starting at the specified index of the target array. + + The one-dimensional array that is the + destination of the elements copied from the collection. The array + must have zero-based indexing. + The zero-based index in + at which copying begins. @@ -9957,11 +10976,11 @@ from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get - or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get + or set. @@ -9986,33 +11005,33 @@ enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Represents an XSLT parameter. - + + Represents an XSLT parameter. + @@ -10048,18 +11067,18 @@ - - Indicates if the parameter should be added to the XSLT argument list. - If then the parameter will be added; - otherwise, skipped. The default is . - + + Indicates if the parameter should be added to the XSLT argument list. + If then the parameter will be added; + otherwise, skipped. The default is . + - - Indicates if the parameter should not be added to the XSLT argument - list. If then the parameter will be - added; otherwise, skipped. The default is . - + + Indicates if the parameter should not be added to the XSLT argument + list. If then the parameter will be + added; otherwise, skipped. The default is . + @@ -10125,11 +11144,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -10162,10 +11181,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -10186,33 +11205,33 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Resolves assemblies by caching assemblies that were loaded. - + + Resolves assemblies by caching assemblies that were loaded. + @@ -10233,9 +11252,9 @@ - - Uninstalls the assembly resolver. - + + Uninstalls the assembly resolver. + @@ -10269,9 +11288,9 @@ - - Holds the loaded assemblies. - + + Holds the loaded assemblies. + @@ -10285,9 +11304,9 @@ - - Represents a valid command-line argument. - + + Represents a valid command-line argument. + @@ -10354,12 +11373,12 @@ - - Gets the property that backs the argument. - - - The property that backs the arguments. - + + Gets the property that backs the argument. + + + The property that backs the arguments. + @@ -10374,61 +11393,61 @@ - - Gets the long name of the argument. - - The long name of the argument. + + Gets the long name of the argument. + + The long name of the argument. - - Gets the short name of the argument. - - The short name of the argument. + + Gets the short name of the argument. + + The short name of the argument. - - Gets the description of the argument. - - The description of the argument. + + Gets the description of the argument. + + The description of the argument. - - Gets a value indicating whether the argument is required. - - - if the argument is required; otherwise, - . - + + Gets a value indicating whether the argument is required. + + + if the argument is required; otherwise, + . + - - Gets a value indicating whether a mathing command-line argument - was already found. - - - if a matching command-line argument was - already found; otherwise, . - + + Gets a value indicating whether a mathing command-line argument + was already found. + + + if a matching command-line argument was + already found; otherwise, . + - - Gets a value indicating whether the argument can be specified multiple - times. - - - if the argument may be specified multiple - times; otherwise, . - + + Gets a value indicating whether the argument can be specified multiple + times. + + + if the argument may be specified multiple + times; otherwise, . + - - Gets a value indicating whether the argument can only be specified once - with a certain value. - - - if the argument should always have a unique - value; otherwise, . - + + Gets a value indicating whether the argument can only be specified once + with a certain value. + + + if the argument should always have a unique + value; otherwise, . + @@ -10463,37 +11482,37 @@ - - Gets a value indicating whether the argument is array-based. - - - if the argument is backed by an array; - otherwise, . - + + Gets a value indicating whether the argument is array-based. + + + if the argument is backed by an array; + otherwise, . + - - Gets a value indicating whether the argument is the default argument. - - - if the argument is the default argument; - otherwise, . - + + Gets a value indicating whether the argument is the default argument. + + + if the argument is the default argument; + otherwise, . + - - Gets a value indicating whether the argument cannot be combined with - other arguments. - - - if the argument cannot be combined with other - arguments; otherwise, . - + + Gets a value indicating whether the argument cannot be combined with + other arguments. + + + if the argument cannot be combined with other + arguments; otherwise, . + - - Allows control of command line parsing. - + + Allows control of command line parsing. + @@ -10503,28 +11522,28 @@ Specifies the checking to be done on the argument. - - Gets or sets the checking to be done on the argument. - - The checking that should be done on the argument. + + Gets or sets the checking to be done on the argument. + + The checking that should be done on the argument. - - Gets or sets the long name of the argument. - - The long name of the argument. + + Gets or sets the long name of the argument. + + The long name of the argument. - - Gets or sets the short name of the argument. - - The short name of the argument. + + Gets or sets the short name of the argument. + + The short name of the argument. - - Gets or sets the description of the argument. - - The description of the argument. + + Gets or sets the description of the argument. + + The description of the argument. @@ -10578,11 +11597,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -10615,10 +11634,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -10639,34 +11658,34 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - The exception that is thrown when one of the command-line arguments provided - is not valid. - + + The exception that is thrown when one of the command-line arguments provided + is not valid. + @@ -10697,50 +11716,50 @@ The that contains contextual information about the source or destination. - - Used to control parsing of command-line arguments. - + + Used to control parsing of command-line arguments. + - - Indicates that this field is required. An error will be displayed - if it is not present when parsing arguments. - + + Indicates that this field is required. An error will be displayed + if it is not present when parsing arguments. + - - Only valid in conjunction with Multiple. - Duplicate values will result in an error. - + + Only valid in conjunction with Multiple. + Duplicate values will result in an error. + - - Inidicates that the argument may be specified more than once. - Only valid if the argument is a collection - + + Inidicates that the argument may be specified more than once. + Only valid if the argument is a collection + - - Inidicates that if this argument is specified, no other arguments may be specified. - + + Inidicates that if this argument is specified, no other arguments may be specified. + - - The default type for non-collection arguments. - The argument is not required, but an error will be reported if it is specified more than once. - + + The default type for non-collection arguments. + The argument is not required, but an error will be reported if it is specified more than once. + - - The default type for collection arguments. - The argument is permitted to occur multiple times, but duplicate - values will cause an error to be reported. - + + The default type for collection arguments. + The argument is permitted to occur multiple times, but duplicate + values will cause an error to be reported. + - - Commandline parser. - + + Commandline parser. + @@ -10760,28 +11779,28 @@ is a null reference. The of does not match the argument specification that was used to initialize the parser. - - - Splits a string and removes any empty strings from the - result. Same functionality as the - public string[] Split(char[] separator, StringSplitOptions options) - method in .Net 2.0. Replace with that call when 2.0 is standard. - - - - the array of strings + + + Splits a string and removes any empty strings from the + result. Same functionality as the + public string[] Split(char[] separator, StringSplitOptions options) + method in .Net 2.0. Replace with that call when 2.0 is standard. + + + + the array of strings - - Read a response file and parse the arguments as usual. - - + + Read a response file and parse the arguments as usual. + + The response file to load arguments - - Parse the argument list using the - - + + Parse the argument list using the + + @@ -10805,22 +11824,22 @@ - - Gets the usage instructions. - - The usage instructions. + + Gets the usage instructions. + + The usage instructions. - - Gets a value indicating whether no arguments were specified on the - command line. - + + Gets a value indicating whether no arguments were specified on the + command line. + - - Marks a command-line option as being the default option. When the name of - a command-line argument is not specified, this option will be assumed. - + + Marks a command-line option as being the default option. When the name of + a command-line argument is not specified, this option will be assumed. + @@ -10830,30 +11849,42 @@ Specifies the checking to be done on the argument. - - Provides modified version for Copy and Move from the File class that - allow for filter chain processing. - + + Provides modified version for Copy and Move from the File class that + allow for filter chain processing. + - - Copies a file filtering its content through the filter chain. - - The file to copy - The file to copy to - Chain of filters to apply when copying, or is no filters should be applied. - The encoding used to read the soure file. - The encoding used to write the destination file. + + Copies a file filtering its content through the filter chain. + + The file to copy + The file to copy to + Chain of filters to apply when copying, or is no filters should be applied. + The encoding used to read the soure file. + The encoding used to write the destination file. - - Moves a file filtering its content through the filter chain. - - The file to move - The file to move move to - Chain of filters to apply when moving, or is no filters should be applied. - The encoding used to read the soure file. - The encoding used to write the destination file. + + Moves a file filtering its content through the filter chain. + + The file to move. + The file to move move to. + Chain of filters to apply when moving, or is no filters should be applied. + The encoding used to read the soure file. + The encoding used to write the destination file. + + + + Reads a file filtering its content through the filter chain. + + The file to read. + Chain of filters to apply when reading, or is no filters should be applied. + The encoding used to read the file. + + If is , + then the system's ANSI code page will be used to read the file. + @@ -10897,18 +11928,33 @@ is . - - Returns the home directory of the current user. - - - The home directory of the current user. - + + Returns the home directory of the current user. + + + The home directory of the current user. + + + + + Scans a list of directories for the specified filename. + + The list of directories to search. + The name of the file to look for. + Specifies whether the directory should be searched recursively. + + The directories are scanned in the order in which they are defined. + + + The absolute path to the specified file, or null if the file was + not found. + - - Helper class for determining whether assemblies are located in the - Global Assembly Cache. - + + Helper class for determining whether assemblies are located in the + Global Assembly Cache. + @@ -10968,9 +12014,9 @@ - - Holds a value indicating whether the object has been disposed. - + + Holds a value indicating whether the object has been disposed. + @@ -10993,21 +12039,21 @@ - - Determines whether an assembly is installed in the Global - Assembly Cache given its file name or path. - - The name or path of the file that contains the manifest of the assembly. - - if is - installed in the Global Assembly Cache; otherwise, - . - + + Determines whether an assembly is installed in the Global + Assembly Cache given its file name or path. + + The name or path of the file that contains the manifest of the assembly. + + if is + installed in the Global Assembly Cache; otherwise, + . + - - Provides a set of helper methods related to reflection. - + + Provides a set of helper methods related to reflection. + @@ -11039,10 +12085,10 @@ - - Provides resource support to NAnt assemblies. This class cannot - be inherited from. - + + Provides resource support to NAnt assemblies. This class cannot + be inherited from. + @@ -11173,20 +12219,20 @@ - - Determines the manifest resource name of the resource holding the - localized strings. - - The name of the assembly. - - The manifest resource name of the resource holding the localized - strings for the specified assembly. - - - The manifest resource name of the resource holding the localized - strings should match the name of the assembly, minus Tasks - suffix. - + + Determines the manifest resource name of the resource holding the + localized strings. + + The name of the assembly. + + The manifest resource name of the resource holding the localized + strings for the specified assembly. + + + The manifest resource name of the resource holding the localized + strings should match the name of the assembly, minus Tasks + suffix. + @@ -11227,24 +12273,24 @@ - - Converts an empty string ("") to . - - The value to convert. - - if is an empty - string ("") or ; otherwise, . - + + Converts an empty string ("") to . + + The value to convert. + + if is an empty + string ("") or ; otherwise, . + - - Converts to an empty string. - - The value to convert. - - An empty string if is ; - otherwise, . - + + Converts to an empty string. + + The value to convert. + + An empty string if is ; + otherwise, . + @@ -11281,14 +12327,14 @@ - - Thrown whenever an error occurs during the build. - + + Thrown whenever an error occurs during the build. + - - The location of the exception in the build document (xml file). - + + The location of the exception in the build document (xml file). + @@ -11345,155 +12391,155 @@ The destination for this serialization. - - Creates and returns a string representation of the current - exception. - - - A string representation of the current exception. - + + Creates and returns a string representation of the current + exception. + + + A string representation of the current exception. + - - Gets the raw message as specified when the exception was - constructed. - - - The raw message as specified when the exception was - constructed. - + + Gets the raw message as specified when the exception was + constructed. + + + The raw message as specified when the exception was + constructed. + - - Gets the location in the build file of the element from which the - exception originated. - - - The location in the build file of the element from which the - exception originated. - + + Gets the location in the build file of the element from which the + exception originated. + + + The location in the build file of the element from which the + exception originated. + - - Gets a message that describes the current exception. - - - The error message that explains the reason for the exception. - - - Adds location information to the message, if available. - + + Gets a message that describes the current exception. + + + The error message that explains the reason for the exception. + + + Adds location information to the message, if available. + - - Represents the set of command-line options supported by NAnt. - + + Represents the set of command-line options supported by NAnt. + - - Gets or sets the target framework to use (overrides - NAnt.exe.config settings) - - - The framework that should be used. - - - For a list of possible frameworks, see NAnt.exe.config, possible - values include "net-1.0", "net-1.1", etc. - + + Gets or sets the target framework to use (overrides + NAnt.exe.config settings) + + + The framework that should be used. + + + For a list of possible frameworks, see NAnt.exe.config, possible + values include "net-1.0", "net-1.1", etc. + - - Gets or sets the target framework to use (overrides - NAnt.exe.config settings) - - - The framework that should be used. - - - For a list of possible frameworks, see NAnt.exe.config, possible - values include "net-1.0", "net-1.1", etc. - + + Gets or sets the target framework to use (overrides + NAnt.exe.config settings) + + + The framework that should be used. + + + For a list of possible frameworks, see NAnt.exe.config, possible + values include "net-1.0", "net-1.1", etc. + - - Gets or sets the buildfile that should be executed. - - - The buildfile that should be executed. - - - Can be both a file or an URI. - + + Gets or sets the buildfile that should be executed. + + + The buildfile that should be executed. + + + Can be both a file or an URI. + - - Gets or sets a value indicating whether more information should be - displayed during the build process. - - - if more information should be displayed; - otherwise, . The default is . - + + Gets or sets a value indicating whether more information should be + displayed during the build process. + + + if more information should be displayed; + otherwise, . The default is . + - - Gets or sets a value indicating whether debug information should be - displayed during the build process. - - - if debug information should be displayed; - otherwise, . The default is . - + + Gets or sets a value indicating whether debug information should be + displayed during the build process. + + + if debug information should be displayed; + otherwise, . The default is . + - - Gets or sets a value indicating whether only error and debug debug messages should be - displayed during the build process. - - - if only error or warning messages should be - displayed; otherwise, . The default is - . - + + Gets or sets a value indicating whether only error and debug debug messages should be + displayed during the build process. + + + if only error or warning messages should be + displayed; otherwise, . The default is + . + - - Gets or sets a value indicating whether to produce emacs (and other - editor) friendly output. - - - if output is to be unadorned so that emacs - and other editors can parse files names, etc. The default is - . - + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. The default is + . + - - Gets a value indicating whether parent directories should be searched - for a buildfile. - - - if parent directories should be searched for - a build file; otherwise, . The default is - . - + + Gets a value indicating whether parent directories should be searched + for a buildfile. + + + if parent directories should be searched for + a build file; otherwise, . The default is + . + - - Gets or sets the indentation level of the build output. - - - The indentation level of the build output. The default is 0. - + + Gets or sets the indentation level of the build output. + + + The indentation level of the build output. The default is 0. + - - Gets or sets the list of properties that should be set. - - - The list of properties that should be set. - + + Gets or sets the list of properties that should be set. + + + The list of properties that should be set. + @@ -11509,12 +12555,12 @@ - - Gets or sets the name of the file to log output to. - - - The name of the file to log output to. - + + Gets or sets the name of the file to log output to. + + + The name of the file to log output to. + @@ -11528,12 +12574,12 @@ - - Gets a collection of assemblies to load extensions from. - - - A collection of assemblies to load extensions from. - + + Gets a collection of assemblies to load extensions from. + + + A collection of assemblies to load extensions from. + @@ -11547,75 +12593,75 @@ - - Gets or sets a value indicating whether the logo banner should be - printed. - - - if the logo banner should be printed; otherwise, - . The default is . - + + Gets or sets a value indicating whether the logo banner should be + printed. + + + if the logo banner should be printed; otherwise, + . The default is . + - - Gets or sets a value indicating whether the NAnt help should be - printed. - - - if NAnt help should be printed; otherwise, - . The default is . - + + Gets or sets a value indicating whether the NAnt help should be + printed. + + + if NAnt help should be printed; otherwise, + . The default is . + - - Gets a collection containing the targets that should be executed. - - - A collection that contains the targets that should be executed. - + + Gets a collection containing the targets that should be executed. + + + A collection that contains the targets that should be executed. + - - Custom configuration section handler for the element. - + + Custom configuration section handler for the element. + - - This just passed things through. Return the node read from the config file. - + + This just passed things through. Return the node read from the config file. + - - Main entry point to NAnt that is called by the ConsoleStub. - + + Main entry point to NAnt that is called by the ConsoleStub. + - - Starts NAnt. This is the Main entry point. - - Command Line args, or whatever you want to pass it. They will treated as Command Line args. - - The exit code. - + + Starts NAnt. This is the Main entry point. + + Command Line args, or whatever you want to pass it. They will treated as Command Line args. + + The exit code. + - - Prints the projecthelp to the console. - - The build file to show help for. - - is loaded and transformed with - ProjectHelp.xslt, which is an embedded resource. - + + Prints the projecthelp to the console. + + The build file to show help for. + + is loaded and transformed with + ProjectHelp.xslt, which is an embedded resource. + - - Gets the file name for the build file in the specified directory. - - The directory to look for a build file. When in doubt use Environment.CurrentDirectory for directory. - Look for a build file with this pattern or name. If null look for a file that matches the default build pattern (*.build). - Whether or not to search the parent directories for a build file. - The path to the build file or null if no build file could be found. + + Gets the file name for the build file in the specified directory. + + The directory to look for a build file. When in doubt use Environment.CurrentDirectory for directory. + Look for a build file with this pattern or name. If null look for a file that matches the default build pattern (*.build). + Whether or not to search the parent directories for a build file. + The path to the build file or null if no build file could be found. @@ -11664,17 +12710,37 @@ The to add listeners to. + + Spits out generic help info to the console. + + + - Spits out generic help info to the console. + Write the message of the specified and + the inner exceptions to . + The to write to . - Creates a new instance of the - class for the specified class in the - specified. + Creates a new instance of the class + for the specified class in the specified + . - The containing the . + + An for the specified + is cached for future use. + + The containing the . + The class representing the . + + + + Creates a new instance of the + class for the specified class in the + specified. + + The containing the . The class representing the . @@ -11687,15 +12753,6 @@ using this . - - - Gets the from which the data type will be - created. - - - The containing the data type. - - Gets the name of the data type which the @@ -11770,11 +12827,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -11807,10 +12864,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -11831,28 +12888,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -11866,50 +12923,61 @@ - - Inherits Properties from an existing property - dictionary Instance - - DataType list to inherit + + Inherits Properties from an existing property + dictionary Instance + + DataType list to inherit + + Used for searching filesystem based on given include/exclude rules. + + + Simple client code for testing the class. + + 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(""); + } + + + + - Used for searching filesystem based on given include/exclude rules. + Initializes a new instance of the . - - Simple client code for testing the class. - - 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(""); - } - - + + On unix, patterns are matching case-sensitively; otherwise, they + are matched case-insensitively. + + + + + Initializes a new instance of the + specifying whether patterns are to be match case-sensitively. + + Specifies whether patterns are to be matched case-sensititely. @@ -11926,51 +12994,57 @@ - - Parses specified NAnt search patterns for search directories and - corresponding regex patterns. - - In. NAnt patterns. Absolute or relative paths. - Out. Regex patterns. Absolute canonical paths. - Out. Non-regex files. Absolute canonical paths. - In. Whether to allow a pattern to add search directories. + + Parses specified NAnt search patterns for search directories and + corresponding regex patterns. + + In. NAnt patterns. Absolute or relative paths. + Out. Regex patterns. Absolute canonical paths. + Out. Non-regex files. Absolute canonical paths. + In. Whether to allow a pattern to add search directories. - - Given a NAnt search pattern returns a search directory and an regex - search pattern. - - Whether this pattern is an include or exclude pattern - NAnt searh pattern (relative to the Basedirectory OR absolute, relative paths refering to parent directories ( ../ ) also supported) - Out. Absolute canonical path to the directory to be searched - Out. Whether the pattern is potentially recursive or not - Out. Whether this is a regex pattern or not - Out. Regex search pattern (absolute canonical path) + + Given a NAnt search pattern returns a search directory and an regex + search pattern. + + Whether this pattern is an include or exclude pattern + NAnt searh pattern (relative to the Basedirectory OR absolute, relative paths refering to parent directories ( ../ ) also supported) + Out. Absolute canonical path to the directory to be searched + Out. Whether the pattern is potentially recursive or not + Out. Whether this is a regex pattern or not + Out. Regex search pattern (absolute canonical path) - - Searches a directory recursively for files and directories matching - the search criteria. - - Directory in which to search (absolute canonical path) - Whether to scan recursively or not + + Searches a directory recursively for files and directories matching + the search criteria. + + Directory in which to search (absolute canonical path) + Whether to scan recursively or not - - Converts search pattern to a regular expression pattern. - - Search pattern relative to the search directory. - Regular expresssion + + Converts search pattern to a regular expression pattern. + + Search pattern relative to the search directory. + Regular expresssion + + + + Gets or set a value indicating whether or not to use case-sensitive + pattern matching. + - - Gets the collection of include patterns. - + + Gets the collection of include patterns. + - - Gets the collection of exclude patterns. - + + Gets the collection of exclude patterns. + @@ -11979,19 +13053,19 @@ - - Gets the list of files that match the given patterns. - + + Gets the list of files that match the given patterns. + - - Gets the list of directories that match the given patterns. - + + Gets the list of directories that match the given patterns. + - - Gets the list of directories that were scanned for files. - + + Gets the list of directories that were scanned for files. + @@ -12002,12 +13076,20 @@ + + Creates a string representing a list of the strings in the collection. + + + A string that represents the contents. + + + - Creates a string representing a list of the strings in the collection. + Initialize a new instance of the + class specifying whether or not string comparison should be + case-sensitive. - - A string that represents the contents. - + Specifies whether or not string comparison should be case-sensitive. @@ -12028,8 +13110,8 @@ String comparisons within the - are only case-sensitive if the filesystem on which - is located, is case-sensitive. + are only case-sensitive if is + @@ -12044,86 +13126,122 @@ String comparisons within the - are only case-sensitive if the filesystem on which - is located, is case-sensitive. + are only case-sensitive if is + . - - - Determines whether the filesystem on which the specified path is - located is case-sensitive. - - The path of which should be determined whether its on a case-sensitive filesystem. - - if is located on a - case-sensitive filesystem; otherwise, . - + + + Gets a value indicating whether string comparison is case-sensitive. + + + A value indicating whether string comparison is case-sensitive. + - - Gets the value of the specified property. - - The name of the property to get the value of. - - The value of the specified property. - + + Gets the value of the specified property. + + The name of the property to get the value of. + + The value of the specified property. + - - Splits an input string into a sequence of tokens used during parsing. - + + Splits an input string into a sequence of tokens used during parsing. + - - Available tokens - + + Available tokens + - - Encalsulates information about installed frameworks incuding version - information and directory locations for finding tools. - + + Encalsulates information about installed frameworks incuding version + information and directory locations for finding tools. + - + + + Resolves the specified assembly to a full path by matching it + against the reference assemblies. + + The file name of the assembly to resolve (without path information). + + An absolute path to the assembly, or if the + assembly could not be found or no reference assemblies are configured + for the current framework. + + + Whether the file name is matched case-sensitively depends on the + operating system. + + + - Initializes a new instance of the class - with a name, description, version, runtime engine, directory information - and properties. + Searches the list of tool paths of the current framework for the + given file, and returns the absolute path if found. - The name of the framework. - The family of the framework. - The description of the framework. - The version number of the framework. - The Common Language Runtime version of the framework. - The directory of the framework. - The directory containing the SDK tools for the framework, if available. - The directory containing the system assemblies for the framework. - The name of the runtime engine, if required. - The used to initialized the framework. + The file name of the tool to search for. + + The absolute path to if found in one of the + configured tool paths; otherwise, . + + is . + + + The configured tool paths are scanned in the order in which they + are defined in the framework configuration. + + + The file name of the tool to search should include the extension. + + + + + + Gets the value of the specified attribute from the specified node. + + The node of which the attribute value should be retrieved. + The attribute of which the value should be returned. + + The value of the attribute with the specified name or + if the attribute does not exist or has no value. + - - Gets the name of the framework. - - - The name of the framework. - + + Gets the name of the framework. + + + The name of the framework. + - - Gets the family of the framework. - - - The family of the framework. - + + Gets the family of the framework. + + + The family of the framework. + - - Gets the description of the framework. - - - The description of the framework. - + + Gets the description of the framework. + + + The description of the framework. + + + + + Gets the vendor of the framework. + + + The vendor of the framework. + @@ -12132,24 +13250,44 @@ The version of the framework. + The framework is not valid. + + When is not configured, the framework is not + considered valid. + - Gets the Common Language Runtime of the framework. + Gets the Common Language Runtime version of the framework. - The Common Language Runtime of the framework. + The Common Language Runtime version of the framework. + The framework is not valid. + + When is , the + framework is not considered valid. + + + + + Gets the CLR type of the framework. + + + The CLR type of the framework. + + The framework is not valid. Gets the Visual Studio version that corresponds with this framework. - + The Visual Studio version that corresponds with this framework. - - There is no version of Visual Studio .NET that corresponds with this framework. + + The framework is not valid. + There is no version of Visual Studio that corresponds with this framework. @@ -12158,25 +13296,28 @@ The base directory of the framework tools for the framework. + The framework is not valid. - + - Gets the path to the runtime engine for this framework. + Gets the runtime information for this framework. - The path to the runtime engine for the framework or - if no runtime engine is configured for the framework. + The runtime information for the framework or + if no runtime information is configured for the framework. + The framework is not valid. - Gets the directory where the system assemblies for the framework + Gets the directory where the system assemblies for the framework are located. The directory where the system assemblies for the framework are located. + The framework is not valid. @@ -12184,8 +13325,10 @@ The directory containing the SDK tools for the framework or a null - refererence if the sdk directory + reference if the configured sdk directory does not exist, or is not + valid. + The framework is not valid. @@ -12194,18 +13337,7 @@ The used to initialize this framework. - - - - Gets or sets the collection of environment variables that should be - passed to external programs that are launched in the runtime engine - of the current framework. - - - The collection of environment variables that should be passed to - external programs that are launched in the runtime engine of the - current framework. - + The framework is not valid. @@ -12216,6 +13348,46 @@ The set of assemblies and directories that should be scanned for NAnt tasks, types or functions. + The framework is not valid. + + + + Returns a value indicating whether the current framework is valid. + + + if the framework is installed and correctly + configured; otherwise, . + + + + + Gets the reference assemblies for the current framework. + + + The reference assemblies for the current framework. + + The framework is not valid. + + + + Gets the tool paths for the current framework. + + + The tool paths for the current framework. + + The framework is not valid. + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + @@ -12228,72 +13400,135 @@ with the specified capacity. + + + Defines the types of frameworks. + + + + + Frameworks that are supported on the current platform, but are not + installed. + + + + + Frameworks that are installed on the current system. + + + + + Retrieves installation state attributes. + + + + + Frameworks that typically target full desktop devices. + + + + + Frameworks that target compact devices. + + + + + Frameworks that run in a browser. + + + + + Retrieves device attributes. + + + + + Frameworks released as part of the open-source Mono + project. + + + + + Frameworks released by Microsoft. + + + + + Retrieves vendor attributes. + + + + + All frameworks supported on the current platform, regarless of their + installation state, target device or vendor. + + - - Stores the file name, line number and column number to record a position - in a text file. - + + Stores the file name, line number and column number to record a position + in a text file. + - - Creates a location consisting of a file name, line number and - column number. - - - can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. - + + Creates a location consisting of a file name, line number and + column number. + + + can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. + - - Creates a location consisting of a file name. - - - can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. - + + Creates a location consisting of a file name. + + + can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. + - - Creates an "unknown" location. - + + Creates an "unknown" location. + - Private Init function. + Private Init function. - - Returns the file name, line number and a trailing space. An error - message can be appended easily. For unknown locations, returns - an empty string. - + + Returns the file name, line number and a trailing space. An error + message can be appended easily. For unknown locations, returns + an empty string. + - - Gets a string containing the file name for the location. - - - The file name includes both the file path and the extension. - + + Gets a string containing the file name for the location. + + + The file name includes both the file path and the extension. + - - Gets the line number for the location. - - - Lines start at 1. Will be zero if not specified. - + + Gets the line number for the location. + + + Lines start at 1. Will be zero if not specified. + - - Gets the column number for the location. - - - Columns start a 1. Will be zero if not specified. - + + Gets the column number for the location. + + + Columns start a 1. Will be zero if not specified. + - - Maps XML nodes to the text positions from their original source. - + + Maps XML nodes to the text positions from their original source. + @@ -12301,14 +13536,14 @@ - - Determines if a file has been loaded by the current project. - - The file to check. - - if the specified file has already been loaded - by the current project; otherwise, . - + + Determines if a file has been loaded by the current project. + + The file to check. + + if the specified file has already been loaded + by the current project; otherwise, . + @@ -12328,9 +13563,9 @@ - - Represents a position in the build file. - + + Represents a position in the build file. + @@ -12341,47 +13576,47 @@ The column coordinate of the position. - - The line coordinate of the position. - + + The line coordinate of the position. + - - The column coordinate of the position. - + + The column coordinate of the position. + - - Defines the set of levels recognised by the NAnt logging system. - + + Defines the set of levels recognised by the NAnt logging system. + - - Designates fine-grained informational events that are most useful - to debug a build process. - + + Designates fine-grained informational events that are most useful + to debug a build process. + - - Designates events that offer a more detailed view of the build - process. - + + Designates events that offer a more detailed view of the build + process. + - - Designates informational events that are useful for getting a - high-level view of the build process. - + + Designates informational events that are useful for getting a + high-level view of the build process. + - - Designates potentionally harmful events. - + + Designates potentionally harmful events. + - - Designates error events. - + + Designates error events. + @@ -12391,6 +13626,30 @@ No events should be logged with this . + + + Specialized for + that ignores case when converting from string. + + + + + Initializes a new instance of the + class. + + + + + Converts the given object to the type of this converter, using the + specified context and culture information. + + An that provides a format context. + A object. If a is passed, the current culture is assumed. + The to convert. + + An that represents the converted value. + + Class representing an event occurring during a build. @@ -12441,20 +13700,20 @@ The that emitted the event. - - Gets or sets the message associated with this event. - - - The message associated with this event. - + + Gets or sets the message associated with this event. + + + The message associated with this event. + - - Gets or sets the priority level associated with this event. - - - The priority level associated with this event. - + + Gets or sets the priority level associated with this event. + + + The priority level associated with this event. + @@ -12499,10 +13758,10 @@ A that contains the event data. - - Instances of classes that implement this interface can register to be - notified when things happen during a build. - + + Instances of classes that implement this interface can register to be + notified when things happen during a build. + @@ -12576,30 +13835,30 @@ - - Flushes buffered build events or messages to the underlying storage. - + + Flushes buffered build events or messages to the underlying storage. + - - Gets or sets the highest level of message this logger should respond - to. - - The highest level of message this logger should respond to. - - Only messages with a message level higher than or equal to the given - level should actually be written to the log. - + + Gets or sets the highest level of message this logger should respond + to. + + The highest level of message this logger should respond to. + + Only messages with a message level higher than or equal to the given + level should actually be written to the log. + - - Gets or sets a value indicating whether to produce emacs (and other - editor) friendly output. - - - if output is to be unadorned so that emacs - and other editors can parse files names, etc. - + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. + @@ -12614,9 +13873,9 @@ - - Flushes buffered build events or messages to the underlying storage. - + + Flushes buffered build events or messages to the underlying storage. + @@ -12684,11 +13943,11 @@ - - Empty implementation which allows derived classes to receive the - output that is generated in this logger. - - The message being logged. + + Empty implementation which allows derived classes to receive the + output that is generated in this logger. + + The message being logged. @@ -12715,36 +13974,36 @@ logger. The event to output. - TODO + The number of characters that the message should be indented. - - Holds a stack of reports for all running builds. - + + Holds a stack of reports for all running builds. + - - Gets or sets the highest level of message this logger should respond - to. - - - The highest level of message this logger should respond to. - - - Only messages with a message level higher than or equal to the given - level should be written to the log. - + + Gets or sets the highest level of message this logger should respond + to. + + + The highest level of message this logger should respond to. + + + Only messages with a message level higher than or equal to the given + level should be written to the log. + - - Gets or sets a value indicating whether to produce emacs (and other - editor) friendly output. - - - if output is to be unadorned so that emacs - and other editors can parse files names, etc. The default is - . - + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + if output is to be unadorned so that emacs + and other editors can parse files names, etc. The default is + . + @@ -12756,100 +14015,100 @@ - - Used to store information about a build, to allow better reporting to - the user. - + + Used to store information about a build, to allow better reporting to + the user. + - - Errors encountered so far. - + + Errors encountered so far. + - - Warnings encountered so far. - + + Warnings encountered so far. + - - The start time of the build process. - + + The start time of the build process. + - - Buffers log messages from DefaultLogger, and sends an e-mail with the - results. - - - The following properties are used to send the mail : - - - Property - Description - - - MailLogger.mailhost - Mail server to use. [default: localhost] - - - MailLogger.from - The address of the e-mail sender. - - - MailLogger.failure.notify - Send build failure e-mails ? [default: true] - - - MailLogger.success.notify - Send build success e-mails ? [default: true] - - - MailLogger.failure.to - The address to send build failure messages to. - - - MailLogger.success.to - The address to send build success messages to. - - - MailLogger.failure.subject - The subject of build failure messages. [default: "Build Failure"] - - - MailLogger.success.subject - The subject of build success messages. [default: "Build Success"] - - - MailLogger.success.attachments - The ID of a fileset holdng set of files to attach when the build is successful. - - - MailLogger.failure.attachments - The ID of a fileset holdng set of files to attach when the build fails. - - - MailLogger.body.encoding - The encoding type of the body of the e-mail message. [default: system's ANSI code page] - - - MailLogger.smtp.username - The name of the user to login to the SMTP server. - - - MailLogger.smtp.password - The password of the specified user. - - - MailLogger.smtp.enablessl - Specifies whether to use SSL to encrypt the connection. [default: false] - - - MailLogger.smtp.port - The SMTP server port to connect to. [default: 25] - - - + + Buffers log messages from DefaultLogger, and sends an e-mail with the + results. + + + The following properties are used to send the mail : + + + Property + Description + + + MailLogger.mailhost + Mail server to use. [default: localhost] + + + MailLogger.from + The address of the e-mail sender. + + + MailLogger.failure.notify + Send build failure e-mails ? [default: true] + + + MailLogger.success.notify + Send build success e-mails ? [default: true] + + + MailLogger.failure.to + The address to send build failure messages to. + + + MailLogger.success.to + The address to send build success messages to. + + + MailLogger.failure.subject + The subject of build failure messages. [default: "Build Failure"] + + + MailLogger.success.subject + The subject of build success messages. [default: "Build Success"] + + + MailLogger.success.attachments + The ID of a fileset holdng set of files to attach when the build is successful. + + + MailLogger.failure.attachments + The ID of a fileset holdng set of files to attach when the build fails. + + + MailLogger.body.encoding + The encoding type of the body of the e-mail message. [default: system's ANSI code page] + + + MailLogger.smtp.username + The name of the user to login to the SMTP server. + + + MailLogger.smtp.password + The password of the specified user. + + + MailLogger.smtp.enablessl + Specifies whether to use SSL to encrypt the connection. [default: false] + + + MailLogger.smtp.port + The SMTP server port to connect to. [default: 25] + + + @@ -12876,10 +14135,10 @@ A object that contains the event data. - - Receives and buffers log messages. - - The message being logged. + + Receives and buffers log messages. + + The message being logged. @@ -12896,14 +14155,14 @@ is , and the specified property is not present and no default value has been given. - - Buffer in which the message is constructed prior to sending. - + + Buffer in which the message is constructed prior to sending. + - - Holds the stack of currently executing projects. - + + Holds the stack of currently executing projects. + @@ -12959,11 +14218,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -12996,10 +14255,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -13014,28 +14273,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -13054,27 +14313,27 @@ An object that controls formatting. - - Writes a character array to the buffer. - - The character array to write to the text stream. + + Writes a character array to the buffer. + + The character array to write to the text stream. - - Writes a string to the buffer. - - + + Writes a string to the buffer. + + - - Writes an empty string to the logging infrastructure. - + + Writes an empty string to the logging infrastructure. + - - Writes a string to the logging infrastructure. - - The string to write. If is a null reference, only the line termination characters are written. + + Writes a string to the logging infrastructure. + + The string to write. If is a null reference, only the line termination characters are written. @@ -13085,15 +14344,15 @@ The object array to write into format string. - - Causes any buffered data to be written to the logging infrastructure. - + + Causes any buffered data to be written to the logging infrastructure. + - - Closes the current writer and releases any system resources - associated with the writer. - + + Closes the current writer and releases any system resources + associated with the writer. + @@ -13123,19 +14382,19 @@ - - Used to search for files on the PATH. - - - - The local directory is not searched (since this would already be covered - by normal use of the includes element). - - - Also, advanced pattern matching isn't supported: you need to know the - exact name of the file. - - + + Used to search for files on the PATH. + + + + The local directory is not searched (since this would already be covered + by normal use of the includes element). + + + Also, advanced pattern matching isn't supported: you need to know the + exact name of the file. + + @@ -13154,28 +14413,28 @@ - - Adds a file to the list of files to be scanned for. - - The filename or search pattern to add to the list. + + Adds a file to the list of files to be scanned for. + + The filename or search pattern to add to the list. - - Scans all direcetories in the PATH environment variable for files. - - - List of matching files found in the PATH. - + + Scans all direcetories in the PATH environment variable for files. + + + List of matching files found in the PATH. + - - Scans all directories in the given environment variable for files. - - The environment variable of which the directories should be scanned. - - List of matching files found in the directory of the given - environment variable. - + + Scans all directories in the given environment variable for files. + + The environment variable of which the directories should be scanned. + + List of matching files found in the directory of the given + environment variable. + @@ -13186,6 +14445,37 @@ A shallow copy of the specified . + + + Returns a value indicating whether NAnt is running in 64-bit mode. + + + if NAnt is running in 64-bit mode; otherwise, + . + + + + + Returns a value indicating whether NAnt is running in 32-bit mode. + + + Note that even if the platform is 64-bit, NAnt may be running in + 32-bit mode. + + + if NAnt is running in 32-bit mode; otherwise, + . + + + + + Returns a value indicating whether NAnt is running on Windows. + + + if NAnt is running on Windows; + otherwise, . + + Central representation of a NAnt project. @@ -13216,26 +14506,26 @@ - - Constant for the "visiting" state, used when traversing a DFS of - target dependencies. - + + Constant for the "visiting" state, used when traversing a DFS of + target dependencies. + - - Constant for the "visited" state, used when traversing a DFS of - target dependencies. - + + Constant for the "visited" state, used when traversing a DFS of + target dependencies. + - - Holds the logger for this class. - + + Holds the logger for this class. + - - Holds the default threshold for build loggers. - + + Holds the default threshold for build loggers. + @@ -13323,6 +14613,64 @@ discovery of extension assemblies and framework configuration. + + + Gets the list of supported frameworks filtered by the specified + parameter. + + A bitwise combination of values that filter the frameworks to retrieve. + + An array of type that contains the + frameworks specified by the parameter, + sorted on name. + + + + + Returns the of the given node in an XML + file loaded by NAnt. + + + + The must be from an + that has been loaded by NAnt. + + + NAnt also does not process any of the following node types: + + + + + + + + + + + + + + + + + + + + As a result, no location information is available for these nodes. + + + The to get the for. + + of the given node in an XML file loaded by NAnt, or + if the node was not loaded from + an XML file. + + + is from an XML file that was not loaded by NAnt. + -or + was not processed by NAnt (eg. an XML declaration). + + Dispatches a event to the build listeners @@ -13423,33 +14771,33 @@ - - Executes a specific target, and its dependencies. - - The name of the target to execute. - - Global tasks are not executed. - + + Executes a specific target, and its dependencies. + + The name of the target to execute. + + Global tasks are not executed. + - - Executes a specific target. - - The name of the target to execute. - Whether dependencies should be forced to execute - - Global tasks are not executed. - + + Executes a specific target. + + The name of the target to execute. + Whether dependencies should be forced to execute + + Global tasks are not executed. + - - Executes the default target and wraps in error handling and time - stamping. - - - if the build was successful; otherwise, - . - + + Executes the default target and wraps in error handling and time + stamping. + + + if the build was successful; otherwise, + . + @@ -13534,8 +14882,6 @@ nant.project.buildfile (if doc has baseuri) nant.project.basedir nant.project.default = defaultTarget - nant.tasks.[name] = true - nant.tasks.[name].location = AssemblyFileName An representing the project definition. @@ -13654,20 +15000,20 @@ - - Gets or sets the indentation size of the build output. - - - The indendation size of the build output. - + + Gets or sets the indentation size of the build output. + + + The indendation size of the build output. + - - Gets or sets the default threshold level for build loggers. - - - The default threshold level for build loggers. - + + Gets or sets the default threshold level for build loggers. + + + The default threshold level for build loggers. + @@ -13714,20 +15060,20 @@ - - Gets a collection of available .NET frameworks. - - - A collection of available .NET frameworks. - + + Gets a collection of available .NET frameworks. + + + A collection of available .NET frameworks. + - - Gets the framework in which NAnt is currently running. - - - The framework in which NAnt is currently running. - + + Gets the framework in which NAnt is currently running. + + + The framework in which NAnt is currently running. + @@ -13736,6 +15082,8 @@ The framework to use for compilation. + The value specified is . + The specified framework is not installed, or not configured correctly. We will use compiler tools and system assemblies for this framework in framework-related tasks. @@ -13764,22 +15112,22 @@ NAnt does not support the current platform. - - Gets the current target. - - - The current target, or if no target is - executing. - + + Gets the current target. + + + The current target, or if no target is + executing. + - - Gets the path to the build file. - - - The path to the build file, or if the build - document is not file backed. - + + Gets the path to the build file. + + + The path to the build file, or if the build + document is not file backed. + @@ -13800,70 +15148,70 @@ - - Gets the name of the target that will be executed when no other - build targets are specified. - - - The name of the target that will be executed when no other - build targets are specified, or if no - default target is specified in the build file. - + + Gets the name of the target that will be executed when no other + build targets are specified. + + + The name of the target that will be executed when no other + build targets are specified, or if no + default target is specified in the build file. + - - Gets a value indicating whether tasks should output more build log - messages. - - - if tasks should output more build log message; - otherwise, . - + + Gets a value indicating whether tasks should output more build log + messages. + + + if tasks should output more build log message; + otherwise, . + - - The list of targets to build. - - - Targets are built in the order they appear in the collection. If - the collection is empty the default target will be built. - + + The list of targets to build. + + + Targets are built in the order they appear in the collection. If + the collection is empty the default target will be built. + - - Gets the properties defined in this project. - - The properties defined in this project. - - - This is the collection of properties that are defined by the system - and property task statements. - - - These properties can be used in expansion. - - + + Gets the properties defined in this project. + + The properties defined in this project. + + + This is the collection of properties that are defined by the system + and property task statements. + + + These properties can be used in expansion. + + - - Gets the framework-neutral properties defined in the NAnt - configuration file. - - - The framework-neutral properties defined in the NAnt configuration - file. - - - - This is the collection of read-only properties that are defined in - the NAnt configuration file. - - - These properties can only be used for expansion in framework-specific - and framework-neutral configuration settings. These properties are - not available for expansion in the build file. - - + + Gets the framework-neutral properties defined in the NAnt + configuration file. + + + The framework-neutral properties defined in the NAnt configuration + file. + + + + This is the collection of read-only properties that are defined in + the NAnt configuration file. + + + These properties can only be used for expansion in framework-specific + and framework-neutral configuration settings. These properties are + not available for expansion in the build file. + + @@ -13880,51 +15228,51 @@ - - Gets the targets defined in this project. - - - The targets defined in this project. - + + Gets the targets defined in this project. + + + The targets defined in this project. + - - Gets the build listeners for this project. - - - The build listeners for this project. - + + Gets the build listeners for this project. + + + The build listeners for this project. + - - Allow the project construction to be optimized. - - - Use this with care! - + + Allow the project construction to be optimized. + + + Use this with care! + - - Do not perform any optimizations. - + + Do not perform any optimizations. + - - The project base directory must not be automatically scanned - for extension assemblies. - + + The project base directory must not be automatically scanned + for extension assemblies. + - - Do not scan the project configuration for frameworks, and - do not configure the runtime and target framework. - + + Do not scan the project configuration for frameworks, and + do not configure the runtime and target framework. + - - Holds a value indicating whether a scan for tasks, types and functions - has already been performed for the current runtime framework. - + + Holds a value indicating whether a scan for tasks, types and functions + has already been performed for the current runtime framework. + @@ -13952,23 +15300,16 @@ An representing global properties. - - - Processes the framework environment variables. - - An representing framework environment variables. - The to obtain framework-specific information from. - - - Gets the value of the specified attribute from the specified node. - - The node of which the attribute value should be retrieved. - The attribute of which the value should be returned. - - The value of the attribute with the specified name or - if the attribute does not exist or has no value. - + + Gets the value of the specified attribute from the specified node. + + The node of which the attribute value should be retrieved. + The attribute of which the value should be returned. + + The value of the attribute with the specified name or + if the attribute does not exist or has no value. + @@ -13991,16 +15332,16 @@ - - Constant for the "visiting" state, used when traversing a DFS of - property references. - + + Constant for the "visiting" state, used when traversing a DFS of + property references. + - - Constant for the "visited" state, used when travesing a DFS of - property references. - + + Constant for the "visited" state, used when travesing a DFS of + property references. + @@ -14027,12 +15368,12 @@ The value of the element to remove. - - Performs additional custom processes when validating the element - with the specified key and value. - - The key of the element to validate. - The value of the element to validate. + + Performs additional custom processes when validating the element + with the specified key and value. + + The key of the element to validate. + The value of the element to validate. @@ -14046,45 +15387,45 @@ - - Marks a property as a property of which the value is expanded at - execution time. - - The name of the property to mark as dynamic. + + Marks a property as a property of which the value is expanded at + execution time. + + The name of the property to mark as dynamic. - - Adds a property to the collection. - - The name of the property. - The value to assign to the property. + + Adds a property to the collection. + + The name of the property. + The value to assign to the property. - - Determines whether the specified property is listed as read-only. - - The name of the property to check. - - if the property is listed as read-only; - otherwise, . - + + Determines whether the specified property is listed as read-only. + + The name of the property to check. + + if the property is listed as read-only; + otherwise, . + - - Determines whether the specified property is listed as dynamic. - - The name of the property to check. - - if the property is listed as dynamic; - otherwise, . - + + Determines whether the specified property is listed as dynamic. + + The name of the property to check. + + if the property is listed as dynamic; + otherwise, . + - - Inherits properties from an existing property dictionary Instance. - - Property list to inherit. - The list of properties to exclude during inheritance. + + Inherits properties from an existing property dictionary Instance. + + Property list to inherit. + The list of properties to exclude during inheritance. @@ -14095,20 +15436,20 @@ The expanded and replaced string. - - Determines whether a property already exists. - - The name of the property to check. - - if the specified property already exists; - otherwise, . - + + Determines whether a property already exists. + + The name of the property to check. + + if the specified property already exists; + otherwise, . + - - Removes the property with the specified name. - - The name of the property to remove. + + Removes the property with the specified name. + + The name of the property to remove. @@ -14121,20 +15462,20 @@ The expanded and replaced string. - - Evaluates the given expression string and returns the result - - - - - - + + Evaluates the given expression string and returns the result + + + + + + - - Checks whether the specified property is deprecated. - - The property to check. + + Checks whether the specified property is deprecated. + + The property to check. @@ -14149,33 +15490,33 @@ - - Maintains a list of the property names that are readonly. - + + Maintains a list of the property names that are readonly. + - - Maintains a list of the property names of which the value is expanded - on usage, not at initalization. - + + Maintains a list of the property names of which the value is expanded + on usage, not at initalization. + - - The project for which the dictionary holds properties. - + + The project for which the dictionary holds properties. + - - Indexer property. - + + Indexer property. + - - Gets the project for which the dictionary holds properties. - - - The project for which the dictionary holds properties. - + + Gets the project for which the dictionary holds properties. + + + The project for which the dictionary holds properties. + @@ -14199,14 +15540,14 @@ - - Executes dependent targets first, then the target. - + + Executes dependent targets first, then the target. + - - This indicates whether the target has already executed. - + + This indicates whether the target has already executed. + @@ -14224,19 +15565,19 @@ - - If then the target will be executed; - otherwise, skipped. The default is . - + + If then the target will be executed; + otherwise, skipped. The default is . + - - Gets a value indicating whether the target should be executed. - - - if the target should be executed; otherwise, - . - + + Gets a value indicating whether the target should be executed. + + + if the target should be executed; otherwise, + . + @@ -14246,29 +15587,29 @@ - - Gets a value indicating whether the target should NOT be executed. - - - if the target should NOT be executed; - otherwise, . - + + Gets a value indicating whether the target should NOT be executed. + + + if the target should NOT be executed; + otherwise, . + - - The description of the target. - + + The description of the target. + - - Space separated list of targets that this target depends on. - + + Space separated list of targets that this target depends on. + - - A collection of target names that must be executed before this - target. - + + A collection of target names that must be executed before this + target. + @@ -14305,10 +15646,23 @@ Creates a new instance of the class - for the specified class in the - specified. + for the specified class in the specified + . - The containing the . + + An for the specified + is cached for future use. + + The containing the . + The class representing the . + + + + Creates a new instance of the class + for the specified class in the specified + . + + The containing the . The class representing the . @@ -14321,14 +15675,6 @@ this . - - - Gets the from which the task will be created. - - - The containing the task. - - Gets the name of the task which the @@ -14402,11 +15748,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -14439,10 +15785,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -14463,34 +15809,34 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Comprises all of the loaded, and available, tasks. - Use these static methods to register, initialize and create a task. - + + Comprises all of the loaded, and available, tasks. + Use these static methods to register, initialize and create a task. + @@ -14519,11 +15865,11 @@ indicating whether scanning of the directory should halt on first error. - - Adds any task assemblies in the project base directory - and its tasks subdirectory. - - The project to work from. + + Adds any task assemblies in the project base directory + and its tasks subdirectory. + + The project to work from. @@ -14533,16 +15879,17 @@ The project to work from. Specified whether to scan the for extension assemblies. - + - Looks up a function by name. + Looks up a function by name and argument count. - The name of the function to lookup, including namespace prefix. + The name of the function to lookup, including namespace prefix. + The argument of the function to lookup. The in which the function is invoked. A representing the function, or - if a function with the given name does not - exist. + if a function with the given name and + arguments does not exist. @@ -14556,10 +15903,11 @@ The new instance. - + Scans a given for tasks. + The containing the to scan. The to scan. The which will be used to output messages to the build log. @@ -14567,10 +15915,11 @@ ; otherwise, . - + Scans a given for data type. + The containing the to scan. The to scan. The which will be used to output messages to the build log. @@ -14589,10 +15938,11 @@ valid set of funtions; otherwise, . - + Scans a given for filters. + The containing the to scan. The to scan. The which will be used to output messages to the build log. @@ -14673,84 +16023,15 @@ The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a descriptive message. - - A descriptive message to include with the exception. - - - - Initializes a new instance of the class - with the specified descriptive message and inner exception. - - A descriptive message to include with the exception. - A nested exception that is the cause of the current exception. - - - - Initializes a new instance of the class - with the specified . - - of the invalid volume. - - - - Initializes a new instance of the class - with serialized data. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - - - Represents the different types of drives that may exist in a system. - - - - - Represents the different supporting flags that may be set on a file system. - - - - - Presents information about a volume. - - - - - Initializes a new instance of the class. - - - Uses a private access modifier to prevent instantiation of this class. - - - - - Determines whether the file system is case sensitive. Performs a - P/Invoke to the Win32 API GetVolumeInformation. - - - - if the specified volume is case-sensitive; - otherwise, . - - - - Used to wrap log messages in xml <message/> elements. - + + Used to wrap log messages in xml <message/> elements. + - - Holds the stack of currently executing projects. - + + Holds the stack of currently executing projects. + @@ -14774,9 +16055,9 @@ The destination for this serialization. - - Returns the contents of log captured. - + + Returns the contents of log captured. + @@ -14844,31 +16125,31 @@ - - Flushes buffered build events or messages to the underlying storage. - + + Flushes buffered build events or messages to the underlying storage. + - - Gets or sets the highest level of message this logger should respond - to. - - - The highest level of message this logger should respond to. - - - Only messages with a message level higher than or equal to the given - level should be written to the log. - + + Gets or sets the highest level of message this logger should respond + to. + + + The highest level of message this logger should respond to. + + + Only messages with a message level higher than or equal to the given + level should be written to the log. + - - Gets or sets a value indicating whether to produce emacs (and other - editor) friendly output. - - - as it has no meaning in XML format. - + + Gets or sets a value indicating whether to produce emacs (and other + editor) friendly output. + + + as it has no meaning in XML format. + diff --git a/build-support/tools/nant/bin/NAnt.DotNetTasks.dll b/build-support/tools/nant/bin/NAnt.DotNetTasks.dll index ae0552ce1be0e2b5886a2247a6dc1d78900f090d..3c74d5857d47c8bb950bac5ba377cfeddf649cbc 100644 GIT binary patch literal 131072 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 HzT*6kDFgFACeUlAULWGk_&i%BZJ=+v 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 UL7;*_1%V0z6$B~>d@UjHUjvRu5&!@I literal 122880 zcmeFa349yX^)G%kl1I{5a-ztQoz+T6oJk}(c2+z4%9a%pl9b(XoM7U3!pP1-a2j?B zVQGPurqDu4*(uN;EtI9DEl{BFYoM$p32UMJ3WXNh($d2Jd(OQx8p)CgwD0}j=RKV0 z&YXMBJ@?#m&pmgYnMFrmBK$�Dhl*BE;Re(%&o&dk=O1T~TvSg}5{P#IU=43!fOa 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 l6s9;Nbdr-5umV=V3RnRvU - - Generates an AssemblyInfo file. - + + Generates an AssemblyInfo file. + @@ -79,66 +79,66 @@ - - Name of the AssemblyInfo file to generate. - - - The name of the AssemblyInfo file to generate. - + + Name of the AssemblyInfo file to generate. + + + The name of the AssemblyInfo file to generate. + - - The code language in which the AssemblyInfo file should be - generated. - + + The code language in which the AssemblyInfo file should be + generated. + - - The assembly-level attributes to generate. - - - The assembly-level attributes to generate. - + + The assembly-level attributes to generate. + + + The assembly-level attributes to generate. + - - The namespaces to import. - - - The namespaces to import. - + + The namespaces to import. + + + The namespaces to import. + - - Assembly files used to locate the types of the specified attributes. - + + Assembly files used to locate the types of the specified attributes. + - - Defines the supported code languages for generating an AssemblyInfo - file. - + + Defines the supported code languages for generating an AssemblyInfo + file. + - - A value for generating C# code. - + + A value for generating C# code. + - - A value for generating JScript code. - + + A value for generating JScript code. + - - A value for generating Visual Basic code. - + + A value for generating Visual Basic code. + - - Encapsulates functionality to generate a code file with imports - and assembly-level attributes. - + + Encapsulates functionality to generate a code file with imports + and assembly-level attributes. + @@ -216,51 +216,66 @@ - - Wraps al.exe, the assembly linker for the .NET Framework. - - - - All specified sources will be embedded using the /embed flag. - Other source types are not supported. - - - - - Create a library containing all icon files in the current directory. - - - - - - - - ]]> - - + + Wraps al.exe, the assembly linker for the .NET Framework. + + + + All specified sources will be embedded using the /embed flag. + Other source types are not supported. + + + + + Create a library containing all icon files in the current directory. + + + + + + + + ]]> + + + + + Create an executable assembly manifest from modules. + + + + + + + + + ]]> + + - - Generates an assembly manifest. - + + Generates an assembly manifest. + - - Determines whether the assembly manifest needs compiling or is - uptodate. - - - if the assembly manifest needs compiling; - otherwise, . - + + Determines whether the assembly manifest needs compiling or is + uptodate. + + + if the assembly manifest needs compiling; + otherwise, . + - - Specifies an algorithm (in hexadecimal) to hash all files in a - multifile assembly except the file that contains the assembly - manifest. The default algorithm is CALG_SHA1. - + + Specifies an algorithm (in hexadecimal) to hash all files in a + multifile assembly except the file that contains the assembly + manifest. The default algorithm is CALG_SHA1. + @@ -299,21 +314,21 @@ - - The culture string associated with the output assembly. - The string must be in RFC 1766 format, such as "en-US". - - - - Corresponds with the /c[ulture]: flag. - - + + The culture string associated with the output assembly. + The string must be in RFC 1766 format, such as "en-US". + + + + Corresponds with the /c[ulture]: flag. + + - - Specifies whether the assembly should be partially signed. The default - is . - + + Specifies whether the assembly should be partially signed. The default + is . + @@ -328,194 +343,199 @@ - - Security evidence file to embed. - - - The security evidence file to embed. - - - - Corresponds with the /e[vidence] flag. - - + + Security evidence file to embed. + + + The security evidence file to embed. + + + + Corresponds with the /e[vidence] flag. + + - - Specifies a string for the File Version field in the assembly. - - - A string for the File Version field in the assembly. - + + Specifies a string for the File Version field in the assembly. + + + A string for the File Version field in the assembly. + - - Specifies a value (in hexadecimal) for the Flags field in - the assembly. - - - A value (in hexadecimal) for the Flags field in the assembly. - + + Specifies a value (in hexadecimal) for the Flags field in + the assembly. + + + A value (in hexadecimal) for the Flags field in the assembly. + - - Specifies a container that holds a key pair. - + + Specifies a container that holds a key pair. + - - Specifies a file (filename) that contains a key pair or - just a public key to sign an assembly. - - - The complete path to the key file. - - - - Corresponds with the /keyf[ile]: flag. - - + + Specifies a file (filename) that contains a key pair or + just a public key to sign an assembly. + + + The complete path to the key file. + + + + Corresponds with the /keyf[ile]: flag. + + - - Specifies the fully-qualified name (class.method) of the method to - use as an entry point when converting a module to an executable file. - - - The fully-qualified name (class.method) of the method to use as an - entry point when converting a module to an executable file. - + + Specifies the fully-qualified name (class.method) of the method to + use as an entry point when converting a module to an executable file. + + + The fully-qualified name (class.method) of the method to use as an + entry point when converting a module to an executable file. + + + + + One or more modules to be compiled into an assembly. + - - The name of the output file for the assembly manifest. - - - The complete output path for the assembly manifest. - - - - Corresponds with the /out flag. - - + + The name of the output file for the assembly manifest. + + + The complete output path for the assembly manifest. + + + + Corresponds with the /out flag. + + - - The target type (one of lib, exe, or winexe). - - - - Corresponds with the /t[arget]: flag. - - + + The target type (one of lib, exe, or winexe). + + + + Corresponds with the /t[arget]: flag. + + - - Specifies a string for the Product field in the assembly. - - - A string for the Product field in the assembly. - + + Specifies a string for the Product field in the assembly. + + + A string for the Product field in the assembly. + - - Specifies a string for the Product Version field in the assembly. - - - A string for the Product Version field in the assembly. - + + Specifies a string for the Product Version field in the assembly. + + + A string for the Product Version field in the assembly. + - - The set of resources to embed. - + + The set of resources to embed. + - - The set of compiled resources to embed. - - - Do not yet expose this to build authors. - + + The set of compiled resources to embed. + + + Do not yet expose this to build authors. + - - Indicates whether the assembly linker for a given target framework - supports the "template" option, which takes an assembly from which - to get all options except the culture field. - The default is . - - - TODO: remove this once Mono bug #74814 is fixed. - + + Indicates whether the assembly linker for a given target framework + supports the "template" option, which takes an assembly from which + to get all options except the culture field. + The default is . + + + TODO: remove this once Mono bug #74814 is fixed. + - - Specifies an assembly from which to get all options except the - culture field. - - - The complete path to the assembly template. - - - - Corresponds with the /template: flag. - - + + Specifies an assembly from which to get all options except the + culture field. + + + The complete path to the assembly template. + + + + Corresponds with the /template: flag. + + - - Specifies a string for the Title field in the assembly. - - - A string for the Title field in the assembly. - + + Specifies a string for the Title field in the assembly. + + + A string for the Title field in the assembly. + - - Specifies a string for the Trademark field in the assembly. - - - A string for the Trademark field in the assembly. - + + Specifies a string for the Trademark field in the assembly. + + + A string for the Trademark field in the assembly. + - - Specifies version information for the assembly. The format of the - version string is major.minor.build.revision. - + + Specifies version information for the assembly. The format of the + version string is major.minor.build.revision. + - - Icon to associate with the assembly. - + + Icon to associate with the assembly. + - - Inserts a Win32 resource (.res file) in the output file. - + + Inserts a Win32 resource (.res file) in the output file. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program or - if the task is not being executed. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program or + if the task is not being executed. + - - Provides the abstract base class for compiler tasks. - + + Provides the abstract base class for compiler tasks. + - - Contains a list of extensions for all file types that should be treated as - 'code-behind' when looking for resources. Ultimately this will determine - if we use the "namespace+filename" or "namespace+classname" algorithm, since - code-behind will use the "namespace+classname" algorithm. - + + Contains a list of extensions for all file types that should be treated as + 'code-behind' when looking for resources. Ultimately this will determine + if we use the "namespace+filename" or "namespace+classname" algorithm, since + code-behind will use the "namespace+classname" algorithm. + @@ -532,9 +552,9 @@ - - Compiles the sources and resources. - + + Compiles the sources and resources. + @@ -565,14 +585,14 @@ - - Extracts the associated namespace/classname linkage found in the - given stream. - - The read-only stream of the source file to search. - - The namespace/classname of the source file matching the resource. - + + Extracts the associated namespace/classname linkage found in the + given stream. + + The read-only stream of the source file to search. + + The namespace/classname of the source file matching the resource. + @@ -628,45 +648,45 @@ The name of the option which should be passed to the compiler. The value of the option which should be passed to the compiler. - The combination of and + The combination of and (separated by a colon) is quoted unless is already surrounded by quotes. - - Determines whether compilation is needed. - + + Determines whether compilation is needed. + - - Finds the correct namespace/classname for a resource file from the - given dependent source file. - - The file from which the resource linkage of the resource file should be determined. - The culture of the resource file for which the resource linkage should be determined. - - The namespace/classname of the source file matching the resource or - if the dependent source file does not exist. - - - This behaviour may be overidden by each particular compiler to - support the namespace/classname syntax for that language. - + + Finds the correct namespace/classname for a resource file from the + given dependent source file. + + The file from which the resource linkage of the resource file should be determined. + The culture of the resource file for which the resource linkage should be determined. + + The namespace/classname of the source file matching the resource or + if the dependent source file does not exist. + + + This behaviour may be overidden by each particular compiler to + support the namespace/classname syntax for that language. + - - Link a list of files into a resource assembly. - - The collection of resources. - Resource assembly to generate - Culture of the generated assembly. + + Link a list of files into a resource assembly. + + The collection of resources. + Resource assembly to generate + Culture of the generated assembly. - - Compiles a set of resx files to a .resources files. - - The set of resx files to compile. + + Compiles a set of resx files to a .resources files. + + The set of resx files to compile. @@ -681,140 +701,157 @@ - - Generate debug output. The default is . - - - Only used for <jsc> tasks, but retained for backward - compatibility (Clover.NET). - + + Generate debug output. The default is . + + + Only used for <jsc> tasks, but retained for backward + compatibility (Clover.NET). + - - The output file created by the compiler. - + + The output file created by the compiler. + - - Output type. Possible values are exe, winexe, - library or module. - + + Output type. Possible values are exe, winexe, + library or module. + - - Define conditional compilation symbol(s). - - - - Corresponds to /d[efine]: flag. - - + + Define conditional compilation symbol(s). + + + + Corresponds to /d[efine]: flag. + + - - Icon to associate with the application. - - - - Corresponds to /win32icon: flag. - - + + Icon to associate with the application. + + + + Corresponds to /win32icon: flag. + + + + + + Specifies a Win32 resource file (.res). + + + + Corresponds to /win32res[ource]: flag. + + - - Instructs the compiler to treat all warnings as errors. The default - is . - - - - Corresponds to the /warnaserror[+|-] flag of the compiler. - - - When this property is set to , any messages - that would ordinarily be reported as warnings will instead be - reported as errors. - - + + Instructs the compiler to treat all warnings as errors. The default + is . + + + + Corresponds to the /warnaserror[+|-] flag of the compiler. + + + When this property is set to , any messages + that would ordinarily be reported as warnings will instead be + reported as errors. + + - - Controls which warnings should be reported as errors. - + + Controls which warnings should be reported as errors. + - - Specifies a comma-separated list of warnings that should be suppressed - by the compiler. - - - Comma-separated list of warnings that should be suppressed by the - compiler. - - - - Corresponds with the /nowarn flag. - - + + Specifies a comma-separated list of warnings that should be suppressed + by the compiler. + + + Comma-separated list of warnings that should be suppressed by the + compiler. + + + + Corresponds with the /nowarn flag. + + - - Specifies a list of warnings that you want the compiler to suppress. - + + Specifies a list of warnings that you want the compiler to suppress. + - - Instructs NAnt to recompile the output file regardless of the file timestamps. - - - When this parameter is to , NAnt will always - run the compiler to rebuild the output file, regardless of the file timestamps. - + + Instructs NAnt to recompile the output file regardless of the file timestamps. + + + When this parameter is to , NAnt will always + run the compiler to rebuild the output file, regardless of the file timestamps. + - - Specifies which type contains the Main method that you want to use - as the entry point into the program. - - - - Corresponds to the /m[ain]: flag of the compiler. - - - Use this property when creating an executable file. If this property - is not set, the compiler searches for a valid Main method in all - public classes. - - + + Specifies which type contains the Main method that you want to use + as the entry point into the program. + + + + Corresponds to the /m[ain]: flag of the compiler. + + + Use this property when creating an executable file. If this property + is not set, the compiler searches for a valid Main method in all + public classes. + + - - Specifies the key pair container used to strongname the assembly. - + + Specifies the key pair container used to strongname the assembly. + + + Specifies a strong name key file. + + + - Specifies a strong name key file. + Specifies whether to delay sign the assembly using only the public + portion of the strong name key. The default is + . - - Additional directories to search in for assembly references. - - - - Corresponds with the /lib[path]: flag. - - + + Additional directories to search in for assembly references. + + + + Corresponds with the /lib[path]: flag. + + - - Reference metadata from the specified assembly files. - + + Reference metadata from the specified assembly files. + - - Specifies list of packages to reference. - + + Specifies list of packages to reference. + @@ -844,79 +881,85 @@ - - Link the specified modules into this assembly. - + + Link the specified modules into this assembly. + - - The set of source files for compilation. - + + The set of source files for compilation. + - - Indicates whether package references are supported by compiler for - a given target framework. The default is . - + + Indicates whether package references are supported by compiler for + a given target framework. The default is . + - - Indicates whether the compiler for a given target framework supports - the "warnaserror" option that takes a list of warnings. The default - is . - + + Indicates whether the compiler for a given target framework supports + the "warnaserror" option that takes a list of warnings. The default + is . + - - Indicates whether the compiler for a given target framework supports - a command line option that allows a list of warnings to be - suppressed. The default is . - + + Indicates whether the compiler for a given target framework supports + a command line option that allows a list of warnings to be + suppressed. The default is . + - - Indicates whether the compiler for a given target framework supports - the "keycontainer" option. The default is . - + + Indicates whether the compiler for a given target framework supports + the "keycontainer" option. The default is . + - - Indicates whether the compiler for a given target framework supports - the "keyfile" option. The default is . - + + Indicates whether the compiler for a given target framework supports + the "keyfile" option. The default is . + + + + + Indicates whether the compiler for a given target framework supports + the "delaysign" option. The default is . + - - Gets the file extension required by the current compiler. - - - The file extension required by the current compiler. - + + Gets the file extension required by the current compiler. + + + The file extension required by the current compiler. + - - Gets the class name regular expression for the language of the current compiler. - - class name regular expression for the language of the current compiler + + Gets the class name regular expression for the language of the current compiler. + + class name regular expression for the language of the current compiler - - Gets the namespace regular expression for the language of the current compiler. - - namespace regular expression for the language of the current compiler + + Gets the namespace regular expression for the language of the current compiler. + + namespace regular expression for the language of the current compiler - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Holds class and namespace information for resource (*.resx) linkage. - + + Holds class and namespace information for resource (*.resx) linkage. + @@ -927,12 +970,12 @@ The class name the resource is associated with. - - Returns the resource linkage as a string. - - - A string representation of the resource linkage. - + + Returns the resource linkage as a string. + + + A string representation of the resource linkage. + @@ -967,29 +1010,29 @@ - - Gets the name of namespace the resource is under. - - - The name of namespace the resource is under. - + + Gets the name of namespace the resource is under. + + + The name of namespace the resource is under. + - - Gets the name of the class (most likely a form) that the resource - is associated with. - - - The name of the class the resource is associated with. - + + Gets the name of the class (most likely a form) that the resource + is associated with. + + + The name of the class the resource is associated with. + - - Gets the culture that the resource is associated with. - - - The culture that the resource is associated with. - + + Gets the culture that the resource is associated with. + + + The culture that the resource is associated with. + @@ -1036,23 +1079,23 @@ to which the compiler options should be written. - - Determines whether compilation is needed. - + + Determines whether compilation is needed. + - - The preferred base address at which to load a DLL. The default base - address for a DLL is set by the .NET Framework common language - runtime. - - - The preferred base address at which to load a DLL. - - - This address can be specified as a decimal, hexadecimal, or octal - number. - + + The preferred base address at which to load a DLL. The default base + address for a DLL is set by the .NET Framework common language + runtime. + + + The preferred base address at which to load a DLL. + + + This address can be specified as a decimal, hexadecimal, or octal + number. + @@ -1067,184 +1110,184 @@ - - The name of the XML documentation file to generate. - - - - Corresponds with the /doc: flag. - - + + The name of the XML documentation file to generate. + + + + Corresponds with the /doc: flag. + + - - Specifies the size of sections in the output file. Valid values are - 512, 1024, 2048, 4096, and 8192. - - - The size of sections in the output file. - + + Specifies the size of sections in the output file. Valid values are + 512, 1024, 2048, 4096, and 8192. + + + The size of sections in the output file. + - - Instructs the compiler not to import mscorlib.dll. The default is - . - - - - Corresponds with the /nostdlib[+|-] flag. - - + + Instructs the compiler not to import mscorlib.dll. The default is + . + + + + Corresponds with the /nostdlib[+|-] flag. + + - - Instructs the compiler not to use implicit references to assemblies. - The default is . - - - - Corresponds with the /noconfig flag. - - + + Instructs the compiler not to use implicit references to assemblies. + The default is . + + + + Corresponds with the /noconfig flag. + + - - Specifies whether an integer arithmetic statement that is not in - the scope of the checked or unchecked keywords and - that results in a value outside the range of the data type should - cause a run-time exception. The default is . - - - - Corresponds with the /checked[+|-] flag. - - + + Specifies whether an integer arithmetic statement that is not in + the scope of the checked or unchecked keywords and + that results in a value outside the range of the data type should + cause a run-time exception. The default is . + + + + Corresponds with the /checked[+|-] flag. + + - - Instructs the compiler to allow code that uses the unsafe - keyword. The default is . - - - - Corresponds with the /unsafe[+|-] flag. - - + + Instructs the compiler to allow code that uses the unsafe + keyword. The default is . + + + + Corresponds with the /unsafe[+|-] flag. + + - - Causes the compiler to only accept syntax that is included in a - given specification. - - - - Corresponds with the /langversion flag. - - + + Causes the compiler to only accept syntax that is included in a + given specification. + + + + Corresponds with the /langversion flag. + + - - Specifies whether the compiler should perform optimizations to the - make output files smaller, faster, and more effecient. The default - is . - - - if the compiler should perform optimizations; - otherwise, . - - - - Corresponds with the /optimize[+|-] flag. - - + + Specifies whether the compiler should perform optimizations to the + make output files smaller, faster, and more effecient. The default + is . + + + if the compiler should perform optimizations; + otherwise, . + + + + Corresponds with the /optimize[+|-] flag. + + - - Specifies which platform version of common language runtime (CLR) - can run the output file. - - - The platform version of common language runtime (CLR) that can run - the output file. - - - - Corresponds with the /platform flag. - - + + Specifies which platform version of common language runtime (CLR) + can run the output file. + + + The platform version of common language runtime (CLR) that can run + the output file. + + + + Corresponds with the /platform flag. + + - - Specifies the warning level for the compiler to display. Valid values - are 0-4. The default is 4. - - - The warning level for the compiler to display. - - - - Corresponds with the /warn flag. - - + + Specifies the warning level for the compiler to display. Valid values + are 0-4. The default is 4. + + + The warning level for the compiler to display. + + + + Corresponds with the /warn flag. + + - - Specifies the code page to use for all source code files in the - compilation. - - - - Corresponds with the /codepage flag. - - + + Specifies the code page to use for all source code files in the + compilation. + + + + Corresponds with the /codepage flag. + + - - Specifies whether the compiler for the active target framework - supports generation of XML Documentation file. The default is - . - + + Specifies whether the compiler for the active target framework + supports generation of XML Documentation file. The default is + . + - - Specifies whether the compiler for the active target framework - supports limiting the platform on which the compiled code can run. - The default is . - + + Specifies whether the compiler for the active target framework + supports limiting the platform on which the compiled code can run. + The default is . + - - Specifies whether the compiler for the active target framework - supports accepting only a specific language syntax. - The default is . - + + Specifies whether the compiler for the active target framework + supports accepting only a specific language syntax. + The default is . + - - Gets the file extension required by the current compiler. - - - For the C# compiler, the file extension is always cs. - + + Gets the file extension required by the current compiler. + + + For the C# compiler, the file extension is always cs. + - - Gets the class name regular expression for the language of the - current compiler. - - - Class name regular expression for the language of the current - compiler. - + + Gets the class name regular expression for the language of the + current compiler. + + + Class name regular expression for the language of the current + compiler. + - - Gets the namespace regular expression for the language of the current compiler. - - - Namespace regular expression for the language of the current - compiler. - + + Gets the namespace regular expression for the language of the current compiler. + + + Namespace regular expression for the language of the current + compiler. + @@ -1272,61 +1315,61 @@ - - Converts a single file or group of files. - + + Converts a single file or group of files. + - - List of assemblies/executables to sign. - + + List of assemblies/executables to sign. + - - Specifies the filesystem path to the signing key. - + + Specifies the filesystem path to the signing key. + - - Specifies the key container. - + + Specifies the key container. + - - Gets the command line arguments for the external program. - - - The command line arguments for the external program. - + + Gets the command line arguments for the external program. + + + The command line arguments for the external program. + - - Compiles ILASM programs. - - - - Compiles helloworld.il to helloworld.exe. - - - - - - - - ]]> - - + + Compiles ILASM programs. + + + + Compiles helloworld.il to helloworld.exe. + + + + + + + + ]]> + + - - Compiles the sources. - + + Compiles the sources. + - - Writes the compiler options. - + + Writes the compiler options. + @@ -1359,88 +1402,88 @@ - - Determines whether or not compilation is needed. - - - if compilation is needed; otherwise, - . - + + Determines whether or not compilation is needed. + + + if compilation is needed; otherwise, + . + - - Specifies whether or not the compiler should measure and report - the compilation times. - - - if the compilation times should be - measured and reported; otherwise, . The - default is . - - - - Corresponds to the /CLOCK flag. - - + + Specifies whether or not the compiler should measure and report + the compilation times. + + + if the compilation times should be + measured and reported; otherwise, . The + default is . + + + + Corresponds to the /CLOCK flag. + + - - Specifies whether or not the compiler should generate debug - information. - - - if debug information should be generated; - otherwise, . The default is - . - - - - Corresponds to the /DEBUG flag. - - + + Specifies whether or not the compiler should generate debug + information. + + + if debug information should be generated; + otherwise, . The default is + . + + + + Corresponds to the /DEBUG flag. + + - - Specifies whether or not the compiler should attempt to create a - PE file even if compilation errors have been reported. - - - if a PE file has to be created even if - compilation errors have been reported; otherwise, - . The default is . - - - - Corresponds to the /ERROR flag. - - + + Specifies whether or not the compiler should attempt to create a + PE file even if compilation errors have been reported. + + + if a PE file has to be created even if + compilation errors have been reported; otherwise, + . The default is . + + + + Corresponds to the /ERROR flag. + + - - Instructs NAnt to recompile the output file regardless of the file - timestamps. - - - if the output file should be recompiled - regardless of its timestamps; otherwise . - The default is . - + + Instructs NAnt to recompile the output file regardless of the file + timestamps. + + + if the output file should be recompiled + regardless of its timestamps; otherwise . + The default is . + - - Specifies whether or not the compiler should type a formatted - listing of the compilation result. - - - if a formatted listing of the compilation - result should be typed; otherwise, . The - default is . - - - - Corresponds to the /LISTING flag. - - + + Specifies whether or not the compiler should type a formatted + listing of the compilation result. + + + if a formatted listing of the compilation + result should be typed; otherwise, . The + default is . + + + + Corresponds to the /LISTING flag. + + @@ -1600,21 +1643,21 @@ - - Compiles JScript.NET programs. - - - Compile helloworld.js to helloworld.exe. - - - - - - - ]]> - - + + Compiles JScript.NET programs. + + + Compile helloworld.js to helloworld.exe. + + + + + + + ]]> + + @@ -1628,189 +1671,246 @@ to which the compiler options should be written. - + + + Automatically references assemblies if they have the same name as + an imported namespace or as a type annotation when declaring a + variable. The default is . + + + + Corresponds with the /autoref flag. + + + + - Specifies which platform version of common language runtime (CLR) - can run the output file. + Instructs the compiler not to import standard library, and changes + to . The default is + . - - The platform version of common language runtime (CLR) that can run - the output file. - - Corresponds with the /platform flag. + Corresponds with the /noconfig flag. + + + Specifies which platform version of common language runtime (CLR) + can run the output file. + + + The platform version of common language runtime (CLR) that can run + the output file. + + + + Corresponds with the /platform flag. + + + + + + Causes the compiler to generate errors for implicit method + overrides. The default is . + + + + Corresponds with the /versionsafe flag. + + + - - Specifies the warning level for the compiler to display. Valid - values are 0-4. The default is 4. - - - The warning level for the compiler to display. - - - - Corresponds with the /warn flag. - - + + Specifies the warning level for the compiler to display. Valid + values are 0-4. The default is 4. + + + The warning level for the compiler to display. + + + + Corresponds with the /warn flag. + + - - Controls which warnings should be reported as errors. - - - Override to avoid exposing this to build authors, as the JScript.NET - compiler does not allow control over which warnings should be - reported as errors. - + + Controls which warnings should be reported as errors. + + + Override to avoid exposing this to build authors, as the JScript.NET + compiler does not allow control over which warnings should be + reported as errors. + - - Specifies a comma-separated list of warnings that should be suppressed - by the compiler. - - - Override to avoid exposing this to build authors, as the JScript.NET - compiler does not support package references. - + + Specifies a comma-separated list of warnings that should be suppressed + by the compiler. + + + Override to avoid exposing this to build authors, as the JScript.NET + compiler does not support package references. + - - Specifies a list of warnings that you want the compiler to suppress. - - - Override to avoid exposing this to build authors, as the JScript.NET - compiler does not support suppressing warnings. - + + Specifies a list of warnings that you want the compiler to suppress. + + + Override to avoid exposing this to build authors, as the JScript.NET + compiler does not support suppressing warnings. + - - Specifies the code page to use for all source code files in the - compilation. - - - - Corresponds with the /codepage flag. - - + + Specifies the code page to use for all source code files in the + compilation. + + + + Corresponds with the /codepage flag. + + - - Specifies the key pair container used to strongname the assembly. - - - Override to avoid exposing this to build authors, as the JScript.NET - does not support this. - + + Specifies the key pair container used to strongname the assembly. + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + - - Specifies a strong name key file. - - - Override to avoid exposing this to build authors, as the JScript.NET - does not support this. - + + Specifies a strong name key file. + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + + + + + Specifies whether to delay sign the assembly using only the public + portion of the strong name key. + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + - - Indicates whether the compiler for a given target framework supports - the "keycontainer" option. The default is . - - - . - - - Override to avoid exposing this to build authors, as the JScript.NET - does not support this. - + + Indicates whether the compiler for a given target framework supports + the "keycontainer" option. The default is . + + + . + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + - - Indicates whether the compiler for a given target framework supports - the "keyfile" option. The default is . - - - . - - - Override to avoid exposing this to build authors, as the JScript.NET - does not support this. - + + Indicates whether the compiler for a given target framework supports + the "keyfile" option. The default is . + + + . + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + + + + + Indicates whether the compiler for a given target framework supports + the "delaysign" option. The default is . + + + . + + + Override to avoid exposing this to build authors, as the JScript.NET + does not support this. + - - Specifies whether the compiler for the active target framework - supports limiting the platform on which the compiled code can run. - The default is . - + + Specifies whether the compiler for the active target framework + supports limiting the platform on which the compiled code can run. + The default is . + - - Link the specified modules into this assembly. - - - Override to avoid exposing this to build authors, as the JScript.NET - compiler does not support linking modules. - + + Link the specified modules into this assembly. + + + Override to avoid exposing this to build authors, as the JScript.NET + compiler does not support linking modules. + - - Gets the file extension required by the current compiler. - - - For the JScript.NET compiler, the file extension is always js. - + + Gets the file extension required by the current compiler. + + + For the JScript.NET compiler, the file extension is always js. + - - Gets the class name regular expression for the language of the - current compiler. - - - Class name regular expression for the language of the current - compiler. - + + Gets the class name regular expression for the language of the + current compiler. + + + Class name regular expression for the language of the current + compiler. + - - Gets the namespace regular expression for the language of the - current compiler. - - - Namespace regular expression for the language of the current - compiler. - + + Gets the namespace regular expression for the language of the + current compiler. + + + Namespace regular expression for the language of the current + compiler. + - - Generates a .licence file from a .licx file. - - - - If no output file is specified, the default filename is the name of the - target file with the extension .licenses appended. - - - - - Generate the file component.exe.licenses file from component.licx. - - - - ]]> - - + + Generates a .licence file from a .licx file. + + + + If no output file is specified, the default filename is the name of the + target file with the extension .licenses appended. + + + + + Generate the file component.exe.licenses file from component.licx. + + + + ]]> + + - + Initializes the class. - The used to initialize the task. @@ -1820,104 +1920,104 @@ The of which the should be updated. - - Generates the license file. - + + Generates the license file. + - - Determines whether the .licenses file needs to be recompiled - or is uptodate. - - The .licenses file. - - if the .licenses file needs compiling; - otherwise, . - + + Determines whether the .licenses file needs to be recompiled + or is uptodate. + + The .licenses file. + + if the .licenses file needs compiling; + otherwise, . + - - Input file to process. - + + Input file to process. + - - Name of the license file to output. - + + Name of the license file to output. + - - Names of the references to scan for the licensed component. - + + Names of the references to scan for the licensed component. + - - Specifies the executable for which the .licenses file is generated. - + + Specifies the executable for which the .licenses file is generated. + - - Specifies the executable for which the .licenses file is generated. - + + Specifies the executable for which the .licenses file is generated. + - - Indicates whether assembly references are supported by the current - target framework. The default is . - - - Applies only to frameworks having a command line tool for compiling - licenses files. - + + Indicates whether assembly references are supported by the current + target framework. The default is . + + + Applies only to frameworks having a command line tool for compiling + licenses files. + - - Indicates whether the current target framework has a command line - tool for compiling licenses files. The default is - . - + + Indicates whether the current target framework has a command line + tool for compiling licenses files. The default is + . + - - Gets the working directory for the application. - - - The working directory for the application. - + + Gets the working directory for the application. + + + The working directory for the application. + - - The command-line arguments for the external program. - - - Override to avoid exposing these elements in build file. - + + The command-line arguments for the external program. + + + Override to avoid exposing these elements in build file. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Gets the filename of the external program to start. - - - The filename of the external program. - - - Override in derived classes to explicitly set the location of the - external tool. - + + Gets the filename of the external program to start. + + + The filename of the external program. + + + Override in derived classes to explicitly set the location of the + external tool. + - - Responsible for reading the license and writing them to a license - file. - + + Responsible for reading the license and writing them to a license + file. + @@ -1939,15 +2039,15 @@ The .licenses file to create. - - Determines whether the given object is serializable in binary - format. - - The object to check. - - if is - serializable in binary format; otherwise, . - + + Determines whether the given object is serializable in binary + format. + + The object to check. + + if is + serializable in binary format; otherwise, . + @@ -2024,16 +2124,15 @@ - - - Initializes the taks and verifies the parameters. - - containing the XML fragment used to define this task instance. + + + Initializes the taks and verifies the parameters. + - - Generates an NDoc project and builds the documentation. - + + Generates an NDoc project and builds the documentation. + @@ -2069,104 +2168,104 @@ for which expansion should be performed. - - The set of assemblies to document. - + + The set of assemblies to document. + - - The set of namespace summary files. - + + The set of namespace summary files. + - - Specifies the formats in which the documentation should be generated. - + + Specifies the formats in which the documentation should be generated. + - - Collection of additional directories to search for referenced - assemblies. - + + Collection of additional directories to search for referenced + assemblies. + - - Installs or removes .NET Services. - - - - This tasks provides the same functionality as the regsvcs tool - provided in the .NET SDK. - - - It performs the following actions: - - - - Loads and registers an assembly. - - - Generates, registers, and installs a type library into a specified COM+ application. - - - Configures services that are added programmatically to your class. - - - - Refer to the .NET Services Installation Tool (Regsvcs.exe) for more information. - - - - - Adds all public classes contained in myTest.dll to a COM+ - application and produces the myTest.tlb type library. If the - application already exists, it is overwritten. - - - - ]]> - - - - - Adds all public classes contained in myTest.dll to myTargetApp - and produces the myTest.tlb type library. If the application already - exists, it is overwritten. - - - - ]]> - - - - - Adds all public classes contained in myTest.dll to a COM+ - application and produces the myTest.tlb type library. A new - application is always created. - - - - ]]> - - - - - Uninstalls the COM+ application contained in myTest.dll. - - - - ]]> - - + + Installs or removes .NET Services. + + + + This tasks provides the same functionality as the regsvcs tool + provided in the .NET SDK. + + + It performs the following actions: + + + + Loads and registers an assembly. + + + Generates, registers, and installs a type library into a specified COM+ application. + + + Configures services that are added programmatically to your class. + + + + Refer to the .NET Services Installation Tool (Regsvcs.exe) for more information. + + + + + Adds all public classes contained in myTest.dll to a COM+ + application and produces the myTest.tlb type library. If the + application already exists, it is overwritten. + + + + ]]> + + + + + Adds all public classes contained in myTest.dll to myTargetApp + and produces the myTest.tlb type library. If the application already + exists, it is overwritten. + + + + ]]> + + + + + Adds all public classes contained in myTest.dll to a COM+ + application and produces the myTest.tlb type library. A new + application is always created. + + + + ]]> + + + + + Uninstalls the COM+ application contained in myTest.dll. + + + + ]]> + + - - Performs the specified action. - + + Performs the specified action. + @@ -2175,78 +2274,78 @@ - - The source assembly file. - - - The assembly must be signed with a strong name. - + + The source assembly file. + + + The assembly must be signed with a strong name. + - - Specifies the type library file to install. - + + Specifies the type library file to install. + - - Uses an existing type library. The default is . - + + Uses an existing type library. The default is . + - - Do not reconfigure an existing target application. - The default is . - + + Do not reconfigure an existing target application. + The default is . + - - Configures components only; ignores methods and interfaces. - The default is . - + + Configures components only; ignores methods and interfaces. + The default is . + - - Expect an existing application. The default is . - + + Expect an existing application. The default is . + - - Specifies the name of the COM+ application to either find or create. - + + Specifies the name of the COM+ application to either find or create. + - - Specifies the name or id of the COM+ application to either find or - create. - + + Specifies the name or id of the COM+ application to either find or + create. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Defines the possible actions for a .NET Service. - + + Defines the possible actions for a .NET Service. + - - Finds or creates the target application. - + + Finds or creates the target application. + - - Creates the target application. - + + Creates the target application. + - - Uninstalls the target application. - + + Uninstalls the target application. + @@ -2292,155 +2391,155 @@ The of which the should be updated. - - Converts a single file or group of files. - + + Converts a single file or group of files. + - - Cleans up generated files. - + + Cleans up generated files. + - - Determines whether the specified input file needs to be compiled. - - The input file. - The output file. - - if the input file need to be compiled; - otherwise . - + + Determines whether the specified input file needs to be compiled. + + The input file. + The output file. + + if the input file need to be compiled; + otherwise . + - - Determines the full path and extension for the output file. - - The output file for which the full path and extension should be determined. - - The full path (with extensions) for the specified file. - + + Determines the full path and extension for the output file. + + The output file for which the full path and extension should be determined. + + The full path (with extensions) for the specified file. + - - Determines whether the specified resource file references third - party assemblies by checking whether a <data> element exists - with a "type" attribute that does not start with - "System.". - - The resource file to check. - - if the resource file references third party - assemblies, or an error occurred; otherwise, . - - - This check will only be accurate for 1.0 resource file, but the - 2.0 resx files can only be compiled with a resgen tool that supported - assembly references, so this method will not be used anyway. - + + Determines whether the specified resource file references third + party assemblies by checking whether a <data> element exists + with a "type" attribute that does not start with + "System.". + + The resource file to check. + + if the resource file references third party + assemblies, or an error occurred; otherwise, . + + + This check will only be accurate for 1.0 resource file, but the + 2.0 resx files can only be compiled with a resgen tool that supports + assembly references, so this method will not be used anyway. + - - Returns a list of external file references for the specified file. - - The resx file for which a list of external file references should be returned. - - A list of external file references for the specified file, or - if does not - exist or does not support external file references. - + + Returns a list of external file references for the specified file. + + The resx file for which a list of external file references should be returned. + + A list of external file references for the specified file, or + if does not + exist or does not support external file references. + - - Input file to process. - - - The full path to the input file. - + + Input file to process. + + + The full path to the input file. + - - The resource file to output. - + + The resource file to output. + - - The target type. The default is resources. - + + The target type. The default is resources. + - - The directory to which outputs will be stored. - + + The directory to which outputs will be stored. + - - Use each source file's directory as the current directory for - resolving relative file paths. The default is . - Only supported when targeting .NET 2.0 (or higher). - + + Use each source file's directory as the current directory for + resolving relative file paths. The default is . + Only supported when targeting .NET 2.0 (or higher). + - - Takes a list of .resx or .txt files to convert to .resources files. - + + Takes a list of .resx or .txt files to convert to .resources files. + - - Reference metadata from the specified assembly files. - + + Reference metadata from the specified assembly files. + - - Indicates whether assembly references are supported by the - resgen tool for the current target framework. The default - is . - + + Indicates whether assembly references are supported by the + resgen tool for the current target framework. The default + is . + - - Indicates whether external file references are supported by the - resgen tool for the current target framework. The default - is . - + + Indicates whether external file references are supported by the + resgen tool for the current target framework. The default + is . + - - For internal use only ! - + + For internal use only ! + - - Gets the working directory for the application. - - - The working directory for the application. - + + Gets the working directory for the application. + + + The working directory for the application. + - - Gets the command line arguments for the external program. - - - The command line arguments for the external program. - + + Gets the command line arguments for the external program. + + + The command line arguments for the external program. + - - Gets the filename of the external program to start. - - - The filename of the external program. - - - Override in derived classes to explicitly set the location of the - external tool. - + + Gets the filename of the external program to start. + + + The filename of the external program. + + + Override in derived classes to explicitly set the location of the + external tool. + - - For internal use only ! - + + For internal use only ! + @@ -2451,37 +2550,44 @@ The compiled resource. - - Gets the resource file to compile. - - - The resource file to compile. - + + Gets the resource file to compile. + + + The resource file to compile. + - - Gets the compiled resource file. - - - The compiled resource file. - + + Gets the compiled resource file. + + + The compiled resource file. + - Executes the code contained within the task. This code can include custom extension function definitions. - Once the script task has executed those custom functions will be available for use in the buildfile. + Executes the code contained within the task. +
Code
The must contain a single code element, which in turn contains the script code. - A static entry point named ScriptMain is required if no custom functions have been defined. It must - have a single parameter. + This code can include extensions such as functions, or tasks. Once + the script task has executed those extensions will be available for + use in the buildfile. - The following namespaces are loaded by default: + If no extensions have been defined, a static entry point named + ScriptMain - which must have a single + argument - is required. + +
Namespaces
+ + The following namespaces are imported by default: @@ -2490,22 +2596,28 @@ System.Collections - - System.Collections.Specialized - System.IO System.Text - - System.Text.RegularExpressions - NAnt.Core + + NAnt.Core.Attributes + +
Assembly References
+ + The assembly references that are specified will be used to compile + the script, and will be loaded into the NAnt appdomain. + + + By default, only the NAnt.Core and mscorlib assemblies + are referenced. +
Run C# code that writes a message to the build log. @@ -2602,24 +2714,17 @@ [TaskName("usertask")] public class TestTask : Task { #region Private Instance Fields - - private string _message; - - #endregion Private Instance Fields - - #region Public Instance Properties - - [TaskAttribute("message", Required=true)] + private string _message; + #endregion Private Instance Fields + #region Public Instance Properties + [TaskAttribute("message", Required=true)] public string FileName { get { return _message; } set { _message = value; } } - - #endregion Public Instance Properties - - #region Override implementation of Task - - protected override void ExecuteTask() { + #endregion Public Instance Properties + #region Override implementation of Task + protected override void ExecuteTask() { Log(Level.Info, _message.ToUpper()); } #endregion Override implementation of Task @@ -2650,15 +2755,15 @@
- - - Initializes the task using the specified xml node. - + + + Initializes the task. + - - Executes the script block. - + + Executes the script block. + @@ -2668,31 +2773,31 @@ - - Any required references. - + + Any required references. + - - The name of the main class containing the static ScriptMain - entry point. - + + The name of the main class containing the static ScriptMain + entry point. + - - The namespace prefix for any custom functions defined in the script. - If ommitted the prefix will default to 'script' - + + The namespace prefix for any custom functions defined in the script. + If ommitted the prefix will default to 'script' + - - The namespaces to import. - + + The namespaces to import. + - - The code to execute. - + + The code to execute. +
@@ -2769,22 +2874,22 @@ to which the compiler options should be written. - - Determines whether compilation is needed. - + + Determines whether compilation is needed. + - - The preferred base address at which to load a DLL. The default base - address for a DLL is set by the .NET Framework common language - runtime. - - - The preferred base address at which to load a DLL. - - - This address must be specified as a hexadecimal number. - + + The preferred base address at which to load a DLL. The default base + address for a DLL is set by the .NET Framework common language + runtime. + + + The preferred base address at which to load a DLL. + + + This address must be specified as a hexadecimal number. + @@ -2799,179 +2904,179 @@ - - The name of the XML documentation file to generate. Only supported - when targeting .NET 2.0 (or higher). - - - - Corresponds with the /doc: flag. - - + + The name of the XML documentation file to generate. Only supported + when targeting .NET 2.0 (or higher). + + + + Corresponds with the /doc: flag. + + - - Specifies whether the /imports option gets passed to the - compiler. - - - The value of this attribute is a string that contains one or more - namespaces separated by commas. - - - See the Microsoft.NET Framework SDK documentation for details. - - Example of an imports attribute - - + + Specifies whether the /imports option gets passed to the + compiler. + + + The value of this attribute is a string that contains one or more + namespaces separated by commas. + + + See the Microsoft.NET Framework SDK documentation for details. + + Example of an imports attribute + + - - The namespaces to import. - + + The namespaces to import. + - - Instructs the compiler not to reference standard libraries - (system.dll and VBC.RSP). The default is . - Only supported when targeting .NET 2.0 (or higher). - - - - Corresponds with the /nostdlib flag. - - + + Instructs the compiler not to reference standard libraries + (system.dll and VBC.RSP). The default is . + Only supported when targeting .NET 2.0 (or higher). + + + + Corresponds with the /nostdlib flag. + + - - Specifies whether /optioncompare option gets passed to the - compiler. - - - text, binary, or an empty string. If the value is - or an empty string, the option will not be - passed to the compiler. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether /optioncompare option gets passed to the + compiler. + + + text, binary, or an empty string. If the value is + or an empty string, the option will not be + passed to the compiler. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether the /optionexplicit option gets passed to - the compiler. The default is . - - - if the option should be passed to the compiler; - otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the /optionexplicit option gets passed to + the compiler. The default is . + + + if the option should be passed to the compiler; + otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether the /optimize option gets passed to the - compiler. The default is . - - - if the option should be passed to the compiler; - otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the /optimize option gets passed to the + compiler. The default is . + + + if the option should be passed to the compiler; + otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether the /optionstrict option gets passed to - the compiler. The default is . - - - if the option should be passed to the compiler; - otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the /optionstrict option gets passed to + the compiler. The default is . + + + if the option should be passed to the compiler; + otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies which platform version of common language runtime (CLR) - can run the output file. - - - The platform version of common language runtime (CLR) that can run - the output file. - - - - Corresponds with the /platform flag. - - + + Specifies which platform version of common language runtime (CLR) + can run the output file. + + + The platform version of common language runtime (CLR) that can run + the output file. + + + + Corresponds with the /platform flag. + + - - Specifies whether the /removeintchecks option gets passed to - the compiler. The default is . - - - if the option should be passed to the compiler; - otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the /removeintchecks option gets passed to + the compiler. The default is . + + + if the option should be passed to the compiler; + otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether the /rootnamespace option gets passed to - the compiler. - - - The value of this attribute is a string that contains the root - namespace of the project. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the /rootnamespace option gets passed to + the compiler. + + + The value of this attribute is a string that contains the root + namespace of the project. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether the compiler for the active target framework - supports generation of XML Documentation file. The default is - . - + + Specifies whether the compiler for the active target framework + supports generation of XML Documentation file. The default is + . + - - Specifies whether the compiler for the active target framework - supports NOT referencing standard libraries (system.dll and VBC.RSP). - The default is . - + + Specifies whether the compiler for the active target framework + supports NOT referencing standard libraries (system.dll and VBC.RSP). + The default is . + - - Specifies whether the compiler for the active target framework - supports limiting the platform on which the compiled code can run. - The default is . - + + Specifies whether the compiler for the active target framework + supports limiting the platform on which the compiled code can run. + The default is . + - - Gets the file extension required by the current compiler. - - - For the VB.NET compiler, the file extension is always vb. - + + Gets the file extension required by the current compiler. + + + For the VB.NET compiler, the file extension is always vb. + - - Gets the class name regular expression for the language of the - current compiler. - - - Class name regular expression for the language of the current - compiler. - + + Gets the class name regular expression for the language of the + current compiler. + + + Class name regular expression for the language of the current + compiler. + - - Gets the namespace regular expression for the language of the - current compiler. - - - Namespace regular expression for the language of the current - compiler. - + + Gets the namespace regular expression for the language of the + current compiler. + + + Namespace regular expression for the language of the current + compiler. + @@ -3023,18 +3128,18 @@ to which the compiler options should be written. - - The preferred base address at which to load a DLL. The default base - address for a DLL is set by the .NET Framework common language - runtime. - - - The preferred base address at which to load a DLL. - - - This address can be specified as a decimal, hexadecimal, or octal - number. - + + The preferred base address at which to load a DLL. The default base + address for a DLL is set by the .NET Framework common language + runtime. + + + The preferred base address at which to load a DLL. + + + This address can be specified as a decimal, hexadecimal, or octal + number. + @@ -3049,185 +3154,185 @@ - - Specifies whether package-scoped members are accessible outside of - the assembly. In other words, package scope is treated as assembly - scope when emitting metadata. The default is . - - - if the option should be passed to the compiler; - otherwise, . - - - - Corresponds to the /securescoping flag. - - - See the Visual J# Reference for details. - - - - ]]> - + + Specifies whether package-scoped members are accessible outside of + the assembly. In other words, package scope is treated as assembly + scope when emitting metadata. The default is . + + + if the option should be passed to the compiler; + otherwise, . + + + + Corresponds to the /securescoping flag. + + + See the Visual J# Reference for details. + + + + ]]> + - - Specifies whether to disable language extensions. - - - The value of this property must be either all, net, - or an empty string. - - - - Corresponds to the /x flag. - - - See the Visual J# Reference for details. - - - - To disable only the .NET Framework extensions: - ]]> - To disable the .NET Framework extensions and the VJ++ 6.0 extensions: - ]]> - + + Specifies whether to disable language extensions. + + + The value of this property must be either all, net, + or an empty string. + + + + Corresponds to the /x flag. + + + See the Visual J# Reference for details. + + + + To disable only the .NET Framework extensions: + ]]> + To disable the .NET Framework extensions and the VJ++ 6.0 extensions: + ]]> + - - Specifies the location of assemblies referenced by way of the /reference flag. - - - - Corresponds to the /libpath:dir[;dir2] flag. - - - See the Visual J# Reference for details. - - + + Specifies the location of assemblies referenced by way of the /reference flag. + + + + Corresponds to the /libpath:dir[;dir2] flag. + + + See the Visual J# Reference for details. + + - - Associate Java-language/COM package names. - - - The value of this propery. must be package=namespace, @filename, - or an empty string. - - - - Corresponds to the /jcpa:package=namespace and /jcpa:@filename flags. - - - See the Visual J# Reference for details. - - - - Map package 'x' to namespace 'y': - ]]> - + + Associate Java-language/COM package names. + + + The value of this propery. must be package=namespace, @filename, + or an empty string. + + + + Corresponds to the /jcpa:package=namespace and /jcpa:@filename flags. + + + See the Visual J# Reference for details. + + + + Map package 'x' to namespace 'y': + ]]> + - - Specifies the code page to use for all source code files in the - compilation. - - - - Corresponds with the /codepage flag. - - - See the Visual J# Reference for details. - - + + Specifies the code page to use for all source code files in the + compilation. + + + + Corresponds with the /codepage flag. + + + See the Visual J# Reference for details. + + - - Specifies the warning level for the compiler to display. Valid values - are 0-4. The default is 4. - - - The warning level for the compiler to display. - - - - Corresponds with the /warn option. - - + + Specifies the warning level for the compiler to display. Valid values + are 0-4. The default is 4. + + + The warning level for the compiler to display. + + + + Corresponds with the /warn option. + + - - Controls which warnings should be reported as errors. - - - Override to avoid exposing this to build authors, as the Visual J# - compiler does not allow control over which warnings should be - reported as errors. - + + Controls which warnings should be reported as errors. + + + Override to avoid exposing this to build authors, as the Visual J# + compiler does not allow control over which warnings should be + reported as errors. + - - Reference packages - - - Override to avoid exposing this to build authors, as the Visual J# - compiler does not support package references. - + + Reference packages + + + Override to avoid exposing this to build authors, as the Visual J# + compiler does not support package references. + - - Link the specified modules into this assembly. - - - Override to avoid exposing this to build authors, as the Visual J# - compiler does not support linking modules. - + + Link the specified modules into this assembly. + + + Override to avoid exposing this to build authors, as the Visual J# + compiler does not support linking modules. + - - Gets the file extension required by the current compiler. - - - For the J# compiler, the file extension is always jsl. - + + Gets the file extension required by the current compiler. + + + For the J# compiler, the file extension is always jsl. + - - Gets the class name regular expression for the language of the - current compiler. - - - Class name regular expression for the language of the current - compiler. - + + Gets the class name regular expression for the language of the + current compiler. + + + Class name regular expression for the language of the current + compiler. + - - Gets the namespace regular expression for the language of the - current compiler. - - - Namespace regular expression for the language of the current - compiler. - + + Gets the namespace regular expression for the language of the + current compiler. + + + Namespace regular expression for the language of the current + compiler. + - - Override to avoid exposing the configuration setting for this - task as Visual J# will never support package references. - - - , as the Visual J# compiler will never - support package references. - + + Override to avoid exposing the configuration setting for this + task as Visual J# will never support package references. + + + , as the Visual J# compiler will never + support package references. + - - Represents an assembly-level attribute. - + + Represents an assembly-level attribute. + @@ -3236,43 +3341,43 @@ - - Typename of the assembly-level attribute. - + + Typename of the assembly-level attribute. + - - Value of the attribute. - + + Value of the attribute. + - - If then the value of the attribute will be - set as is, without actually looking for a matching constructor or - named properties. The default is . - - - if the value of the attribute should be set - as is; otherwise, . - + + If then the value of the attribute will be + set as is, without actually looking for a matching constructor or + named properties. The default is . + + + if the value of the attribute should be set + as is; otherwise, . + - - Indicates if the attribute should be generated. - - - if the attribute should be generated; - otherwise, . - + + Indicates if the attribute should be generated. + + + if the attribute should be generated; + otherwise, . + - - Indicates if the attribute should be not generated. - - - if the attribute should be not generated; - otherwise, . - + + Indicates if the attribute should be not generated. + + + if the attribute should be not generated; + otherwise, . + @@ -3339,11 +3444,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -3376,10 +3481,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -3400,28 +3505,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -3440,11 +3545,11 @@ - - override this. We will always use the base directory of the parent. - overriding without the TaskAttribute attribute prevents it being set - in the source xml - + + override this. We will always use the base directory of the parent. + overriding without the TaskAttribute attribute prevents it being set + in the source xml + @@ -3468,10 +3573,15 @@ - The assembly directory of the current target framework. + The list of reference assemblies of the current target framework. + + The reference assemblies of a given target framework are defined using + <reference-assemblies> filesets in the <framework> node + of the NAnt configuration file. + @@ -3533,17 +3643,17 @@ - - copy constructor for FileSet. Required in order to - assign references of FileSet type where - AssemblyFileSets are used - - + + copy constructor for FileSet. Required in order to + assign references of FileSet type where + AssemblyFileSets are used + + - - Do a normal scan and then resolve assemblies. - + + Do a normal scan and then resolve assemblies. + @@ -3552,37 +3662,37 @@ - - Additional directories to search in for assembly references. - - - - loosely Corresponds with the /lib[path]: flag of the various compiler tasks. - - + + Additional directories to search in for assembly references. + + + + loosely Corresponds with the /lib[path]: flag of the various compiler tasks. + + - - Represents a compiler warning. - + + Represents a compiler warning. + - - A warning number, or comma-separated list of warnings, that you want - the compiler to suppress or report. - + + A warning number, or comma-separated list of warnings, that you want + the compiler to suppress or report. + - - If then the element will be processed; - otherwise, skipped. The default is . - + + If then the element will be processed; + otherwise, skipped. The default is . + - - If then the element will be skipped; - otherwise, processed. The default is . - + + If then the element will be skipped; + otherwise, processed. The default is . + @@ -3636,11 +3746,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -3673,10 +3783,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -3691,28 +3801,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -3752,25 +3862,25 @@ - - Create no debug information. - + + Create no debug information. + - - Enable attaching a debugger to the running program. - + + Enable attaching a debugger to the running program. + - - Enable attaching a debugger to the running program. - + + Enable attaching a debugger to the running program. + - - Only display assembler when the running program is attached to the - debugger. - + + Only display assembler when the running program is attached to the + debugger. + @@ -3798,14 +3908,82 @@ An that represents the converted value. - + - Represents an embedded resource. + Specifies whether the generated assembly is strongly named and will + be signed later. - Do not yet expose this to build authors. + + For backward compatibility, the following string values can also be + used in build files: + + + + Value + Corresponding field + + + "true" + + + + "false" + + + + + + Not specified. + + + + + Fully sign the assembly. + + + + + Only place the public key in the assembly, allowing the signature + to be added later. + + + + + Specialized that also supports + case-insensitive conversion of "true" to + and "false" to + . + + + + + Initializes a new instance of the + class. + + + + + Converts the given object to the type of this converter, using the + specified context and culture information. + + An that provides a format context. + A object. If a is passed, the current culture is assumed. + The to convert. + + An that represents the converted value. + + + + + Represents an embedded resource. + + + Do not yet expose this to build authors. + + Initializes a new instance of the @@ -3815,20 +3993,20 @@ The manifest resource name of the embedded resource. - - Gets the physical location of the resource to embed. - - - The physical location of the resource to embed. - + + Gets the physical location of the resource to embed. + + + The physical location of the resource to embed. + - - Gets the manifest resource name to use when embedding the resource. - - - The manifest resource name to use when embedding the resource. - + + Gets the manifest resource name to use when embedding the resource. + + + The manifest resource name to use when embedding the resource. + @@ -3839,9 +4017,9 @@ - - Base class for collections that needs to be globally referencable. - + + Base class for collections that needs to be globally referencable. + @@ -3867,15 +4045,15 @@ - - Removes an item at a specific index. - - The zero-based index of the item to remove. + + Removes an item at a specific index. + + The zero-based index of the item to remove. - - Removes all items from the collection. - + + Removes all items from the collection. + @@ -3885,53 +4063,53 @@ The instance to verify. - - Checks whether the specified index is within the range of this - collection. - - The index to check. + + Checks whether the specified index is within the range of this + collection. + + The index to check. - - Gets a value indicating whether access to the collection is - synchronized (thread-safe). - - - . - + + Gets a value indicating whether access to the collection is + synchronized (thread-safe). + + + . + - - Gets the number of items in the collection. - - - The number of items in the collection. - + + Gets the number of items in the collection. + + + The number of items in the collection. + - - Gets an object that can be used to synchronize access to the - collection. - - - An object that can be used to synchronize access to the collection. - + + Gets an object that can be used to synchronize access to the + collection. + + + An object that can be used to synchronize access to the collection. + - - Gets a value indicating whether the collection has a fixed size. - - - . - + + Gets a value indicating whether the collection has a fixed size. + + + . + - - Gets a value indicating whether the collection has a fixed size. - - - . - + + Gets a value indicating whether the collection has a fixed size. + + + . + @@ -3964,7 +4142,7 @@ Inserts a into the collection at the specified index. - The zero-based index at which should be inserted. + The zero-based index at which should be inserted. The to insert. @@ -4027,7 +4205,7 @@ Inserts a into the collection at the specified index. - The zero-based index at which should be inserted. + The zero-based index at which should be inserted. The to insert. @@ -4062,10 +4240,10 @@ - - Gets or sets the item at the specified index. - - The zero-based index of the item to get or set. + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. @@ -4083,10 +4261,10 @@ - - Gets or sets the item at the specified index. - - The zero-based index of the item to get or set. + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. @@ -4101,41 +4279,372 @@ The collection that should be enumerated. - - Advances the enumerator to the next item of the collection. - - - if the enumerator was successfully advanced - to the next item; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next item of the collection. + + + if the enumerator was successfully advanced + to the next item; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first item in the collection. - + + Sets the enumerator to its initial position, which is before the + first item in the collection. + - - Gets the current item in the collection. - - - The current item in the collection. - + + Gets the current item in the collection. + + + The current item in the collection. + + + Gets the current item in the collection. + + + The current item in the collection. + + + + + Represents a metadata file without assembly manifest. + + + + + Returns a textual representation of the module, which can be used as + argument for command-line tools. + + + A textual representation of the path, file[,target]. + + + + + The path of the module. + + + + + File name where the module should be copied to before it is compiled + into an assembly. + + + - Gets the current item in the collection. + Gets or sets the that contains the module. + + + + + Contains a collection of items. + + + Do not yet expose this to build authors. + + + + + Initializes a new instance of the + for the specified . + + The containing the collection. + is . + + + + Returns an enumerator that can iterate through the collection. - The current item in the collection. + A for the entire collection. - + - Represents a namespace to import. + Copies the items of the collection to an , + starting at a particular index. + The one-dimensional that is the destination of the items copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Removes all items from the collection. + + + + + Inserts a into the collection at the + specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Removes the specified from the + collection. + + The to remove from the collection. + + + + Removes an item at a specific index. + + The zero-based index of the item to remove. + The parameter is less than 0 or greater than or equal to the value of the property of the . + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Gets the location of a in the collection. + + The object to locate. + + The zero-based location of the in the + collection. + + + If the is not currently a member of + the collection, -1 is returned. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + + The position into which the new item was inserted. + + + + + Adds the items of a to the end of the collection. + + The to be added to the end of the collection. + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + + The position into which the new item was inserted. + + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Inserts a into the collection at the + specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Removes the specified from the + collection. + + The to remove from the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Gets the location of a in the collection. + + The object to locate. + + The zero-based location of the in the + collection. + + + If the is not currently a member of + the collection, -1 is returned. + + + + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. + The parameter is less than 0 or greater than or equal to the value of the property of the . + + + + Gets the list of elements contained in the + instance. + + + An containing the elements of the + collection. + + + + + Gets a value indicating whether access to the collection is + synchronized (thread-safe). + + + . + + + + + Gets the number of items in the collection. + + + The number of items in the collection. + + + + + Gets an object that can be used to synchronize access to the + collection. + + + An object that can be used to synchronize access to the collection. + + + + + Gets a value indicating whether the collection has a fixed size. + + + . + + + + + Gets a value indicating whether the collection has a fixed size. + + + . + + + + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. + The parameter is less than 0 or greater than or equal to the value of the property of the . + + + + Enumerates the items of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next item of the collection. + + + if the enumerator was successfully advanced + to the next item; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first item in the collection. + + + + + Gets the current item in the collection. + + + The current item in the collection. + + + + + Gets the current item in the collection. + + + The current item in the collection. + + + + + + One or more modules to compile into an assembly. + + + + + Define a global <moduleset> that can be referenced by + other tasks or types. + + + + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + The base of the directory of this . + The default is the project base directory. + + + + + The modules to add to this . + + + + + Represents a namespace to import. + @@ -4152,38 +4661,38 @@ is . - - The name of the namespace to import. - - - The name of the namespace to import. - + + The name of the namespace to import. + + + The name of the namespace to import. + - - The name of the namespace to import. - - - The name of the namespace to import. - + + The name of the namespace to import. + + + The name of the namespace to import. + - - Indicates if the import should be generated. - - - if the import should be generated; otherwise, - . - + + Indicates if the import should be generated. + + + if the import should be generated; otherwise, + . + - - Indicates if the import should be not generated. - - - if the import should be not generated; - otherwise, . - + + Indicates if the import should be not generated. + + + if the import should be not generated; + otherwise, . + @@ -4241,7 +4750,7 @@ Inserts a into the collection at the specified index. - The zero-based index at which should be inserted. + The zero-based index at which should be inserted. The to insert. @@ -4304,7 +4813,7 @@ Inserts a into the collection at the specified index. - The zero-based index at which should be inserted. + The zero-based index at which should be inserted. The to insert. @@ -4339,10 +4848,10 @@ - - Gets or sets the item at the specified index. - - The zero-based index of the item to get or set. + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. @@ -4359,10 +4868,10 @@ - - Gets or sets the item at the specified index. - - The zero-based index of the item to get or set. + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. @@ -4377,62 +4886,62 @@ The collection that should be enumerated. - - Advances the enumerator to the next item of the collection. - - - if the enumerator was successfully advanced - to the next item; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next item of the collection. + + + if the enumerator was successfully advanced + to the next item; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first item in the collection. - + + Sets the enumerator to its initial position, which is before the + first item in the collection. + - - Gets the current item in the collection. - - - The current item in the collection. - + + Gets the current item in the collection. + + + The current item in the collection. + - - Gets the current item in the collection. - - - The current item in the collection. - + + Gets the current item in the collection. + + + The current item in the collection. + - - Represents a package. - + + Represents a package. + - - Name of the package to reference. Multiple package can be specified - with a single element as a semi-colon separated list of - package names. - + + Name of the package to reference. Multiple package can be specified + with a single element as a semi-colon separated list of + package names. + - - Indicates if the package should be passed to the task. - If then the package will be passed; - otherwise, skipped. The default is . - + + Indicates if the package should be passed to the task. + If then the package will be passed; + otherwise, skipped. The default is . + - - Indicates if the package should not be passed to the task. - If then the package will be passed; - otherwise, skipped. The default is . - + + Indicates if the package should not be passed to the task. + If then the package will be passed; + otherwise, skipped. The default is . + @@ -4487,11 +4996,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -4524,10 +5033,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -4542,32 +5051,32 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - Specialized class for managing resource files. + Specialized class for managing resource files. @@ -4576,12 +5085,12 @@ - - copy constructor for FileSet. Required in order to - assign references of FileSet type where - ResourceFileSet are used - - + + copy constructor for FileSet. Required in order to + assign references of FileSet type where + ResourceFileSet are used + + @@ -4592,41 +5101,41 @@ - - Gets the manifest resource name for the specified resource file. - - The physical path of the resource file. - - The manifest resource name to be sent to the compiler. - + + Gets the manifest resource name for the specified resource file. + + The physical path of the resource file. + + The manifest resource name to be sent to the compiler. + - - Gets the manifest resource name for the file using both its physical - and logical path. - - The physical path of the resource file. - The logical location of the resource file. - - The manifest resource name to be sent to the compiler. - - - We use the relative path of the logical path, but the filename and - and the extension of the physical path to match VS.NET - + + Gets the manifest resource name for the file using both its physical + and logical path. + + The physical path of the resource file. + The logical location of the resource file. + + The manifest resource name to be sent to the compiler. + + + We use the relative path of the logical path, but the filename and + and the extension of the physical path to match VS.NET + - - Indicates the prefix to prepend to the actual resource. - This is usually the default namspace of the assembly. - + + Indicates the prefix to prepend to the actual resource. + This is usually the default namspace of the assembly. + - - Indicates that prefixes should be dynamically generated by taking - the path of the resource relative to the basedir and appending it - to the specified prefix. - + + Indicates whether prefixes should be dynamically generated by taking + the path of the resource relative to the basedir and appending it + to the specified prefix. The default is . + @@ -4697,11 +5206,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -4734,10 +5243,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -4752,59 +5261,59 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Controls the behaviour of a compiler with regards to the reporting of - warnings. - - - - Instruct a compiler to report warning 0519 as an error. - - - - - - ]]> - - - - - Instruct a compiler not to report warning 0519 as an error, if the - release property is . - - - - - - ]]> - - + + Controls the behaviour of a compiler with regards to the reporting of + warnings. + + + + Instruct a compiler to report warning 0519 as an error. + + + + + + ]]> + + + + + Instruct a compiler not to report warning 0519 as an error, if the + release property is . + + + + + + ]]> + + diff --git a/build-support/tools/nant/bin/NAnt.MSNetTasks.dll b/build-support/tools/nant/bin/NAnt.MSNetTasks.dll index a679416a3af6abbaa8646a9d1b56bba628e266d2..be8f81e6c842c2459d753a27f4e2e17c74ad9697 100644 GIT binary patch delta 2851 zcmb7`4R91^8ONVzcW>`@FFBIShY7hPcO-!vZD=kK=1yoVBoR_72GU@T424**Il&r2 zY6-2}r8sS45x6eQkdDAa>(Df%rJmL)ttc%c-jp&(QK8xiqf9jel`lWq@$Tm$ho4j-&&eqXqDvGiK-V)wf5(iKpn~73Eo-I2<|92!v0iC z;b#??=ZYF&E)~7UTxXr1`V2ykl+1;Gxnw@{56h~pGG9>CG^?lFRYJr*dp|_?+(T*= ztmrP9UuPxDOP(yztmk|yGgEIXEf!U4^_RLcu|uW*)Xr`-*>8OOX20>vnSNHdY{^86 ztb+>mR2LGNMPIWwHZRk!vixSh{OrjM{r*pAkV=+6=(>G#7E#4kqKg>U*t)H+H+KJh zo9ulz6%(CR5NmIvB5WoHv5H0QEln7!;k&Ko>KVDS;WV7(I2YiYVSTx}f;DTn`V(=J zf?6|s=y}Iphlkz)O?pi~tef-;;U9%QryZ#mE)~XvUlHyTz9jsq@Vd}&Z6}i&T;(p4 z*149ublUG41P=?-pf^r`cKs6Ruu);?)NMo!lM;qK?J?mFP^WJhW#A#<>!6n|81}3( zvzc{jHp@`|1!$9=79Kb44!;F;DtFsU&K0%_W5T%GUduJ&wo5O&t;@k9kvX_XrUk;K z`U&V2`WvL{kLo|C6^R{)tVrw@4he^a2lW%Fv6&Gi{u?z)`E*6YLM~MdL zZ|ZHxoy|Cpwu%a&(zy0v=3&DAzg5iS1EZKA2PHscm*4^b&;LA&zNqINBc zds;N<;$r7dSl3KPJ(724+{YaexSou=6FEQa&A64w`RO|u_j$(w3ed@nd%*ED+=Yxw zIG&|x^nS)|cRUZ5HPhaVeYx={RS?}`+X4EK<5jqD#$9n7gZpvD{ROU)p1F0R(xo4x zDms~QAA_4t;aL;8O1K%2Oh0q|PsabBqK{CMZ`w=Vq(Wbn$T?7w1VY2kU z?fPxE-TFTO2wW5P6egMK3M^Pqzb zI{t+tfyjLVs>+oK5aJOUuTsWB}1Nt2(Lx9g?r6@Zs9H90<=Ju_aJWY zKJ#&2#xIx=yraI0$TB{Pxluk1+VS0zeG1!JVh(eJubCs*mg;^17i0H{#j(=}Z3Ls# zFC36auA~R~33mf8gRW7R(SG-)ZE{)0P;xSq8J z%+CrSzFV?>(ZkRlyj-)%Mez;vHijM=1N-PAxS7Vmhv|3txl%j^j`C5SMfZ|hn?;-G zEp-+>M601YX(70tqF@P~M|`$q+h{H#d7|CIdGu>!8>Pb%D$p8f8+`!(M4a5*BFnU3 znG<|364`1D`V7Y;J_tR=gQ7>EFL7FQ8d_1tMUO-0DF)lyHF%Uum7wS#bdAy?x&`_U zB?hhp?aD#u_~(>CF(WX&%82N+olw%E$Ds$6aejplD26h@QU10PR7Uxf(gMD##FW?h zuSy#FVKpr^<%j4SPkz+B|2Lnxehd_vZvS zoEn>RRW)1gkM+g6HpI59OI;0L(oz?1@6dCudh*WQ7%-Z@S=!N7y3cyox~nPbSN+7g zpS=a%0;gY*QMbo{$LUuwSZ_2fa#lI~%-*0?+}y|;tyRszc@JQo3!ezyevR1UF-Y}z z6N8>opTkeyMAB}BKvLY0?o?og3^dG53|q&VD=PyIyTYd<jEGuvhNsDg4j6{Jgjrc?DM_CQ)E z7p*Iggzy=|G_CQAJ^j70`?~x5)r~=aU2Scsrmi+rYqc&8n{Fn(YeP?WSDj@ouJ(Q% zpQ4k;QCs_yfkNeQM>3F~y1v-wd{Vi?^0aO-I;AK$r8AXm-O1Sz3X%OVhVd7&YL@R) rLsVtb%8st*4 ztUF+y&m1Ul?{zEYTe(lBmR96VXH{wT=GjuQpXGg{ooF@HFPXgGFL@)?&#cW~GTFj@ zM1roeYycytUmUD1)vvhVe!tALsRK>?g&HIV3SO|zf5Q$?^fEoYG=QkkEj^pU>!0fu z=iWXY;Ic%q))olTVbUp9w750UNb`5ecbQFPGo4lB6dDCI>S>gjTg!@2H4m39j5y$~ zd`&iBkW%_6jq`4}_Aj4}^0PccWCH<-FrtSYqb1Or;F zHC6+*Si@EgPFoKVF9=3poThAW>wl$mP;byRcunus4LGEWWk;ANh#GvP=MzVne;|ry zDON2onoxs~kx%vgqzxEmUNJ-mt4*w3XcJqmWOgxQOvjIHVzUt{GQe&(|L8sEUqXjQ z2r@(3DCu?DCD61%?Q>We9iqs}Xq@>r^9=L6Hkufl<(DE~$!(AcpA^%BhGEc^cF2O_ z65;wFOQ|4tIps=})pQeG^qPyDPx&59gV|-1?r~)kOo!%wx?XU@nv`o(`XC<^uc&-A zr;~Olgq$fCVLNZqTIsYCD}Tuiy0>Tz=8 zDfdJ5Z76~-Q|_ngDRTB%;xOWNBke%9{*bVJ@VWW{x!RP|vMqsGjCaCh>h=4g5wTx?|m*ZX|g3Iv$F+eTa z!HK6S?!n8-57DZz$4+zoWGsc$+BV2RM6(j7>o1ZbO4Tn(>4h8!mS8HPC?BYhQPtdEhtgCnd*NL!^O>m=#vl8)lII>xa`^0M}l z_DKQO0n*==!o*d?1V*kxj7+B#6zB$ld&h?S}+dR`OU#@wY{CcRG^OH}w~Vs(8=?)hrV$DM8xc@ zDxZdMO%?&9afN>W#dQ`=nuApy3?|;Ix-ENJdb@i<>&k=cI)TR04QoOWSRd{QcXWnd z46W$sUYj^udtI^gkfLPbC-a}w(znm|^-j!4EIK(-^f&J_+EUZr*jB0*BDy?sA)r=> zt}IuUrBLEo6LX2fQYh18?r2#X!Y!?jfbbU1X79j<7< zBQIAi1XpyQXhng2>;^T9L}pN@hR*1a`BGDHafvD_ay1G$a&tvFWgJxQjGnfDI`*shs?*C%N%fp{<}_He>eM@-O}w~;?3qVi|JVQ zqTb4>6MAc6VA*a=tA%PPhlimGz6G`BoF@k5N~keMpSUhl#(bw`uJd0isJ1e32Nk=% T3_!f7>HdUs)vX5xDlPv2#7|)> diff --git a/build-support/tools/nant/bin/NAnt.MSNetTasks.xml b/build-support/tools/nant/bin/NAnt.MSNetTasks.xml index 31e25845..51409dc7 100644 --- a/build-support/tools/nant/bin/NAnt.MSNetTasks.xml +++ b/build-support/tools/nant/bin/NAnt.MSNetTasks.xml @@ -49,22 +49,21 @@ - - - Checks whether the task is initialized with valid attributes. - - The used to initialize the task. + + + Checks whether the task is initialized with valid attributes. + - - Disassembles the PE file(s). - + + Disassembles the PE file(s). + - - Disassembles the specified PE file. - - The PE file to disassemble. + + Disassembles the specified PE file. + + The PE file to disassemble. @@ -81,9 +80,9 @@ The path of the output file could not be determined. - - Writes the disassembler options. - + + Writes the disassembler options. + @@ -116,76 +115,76 @@ - - Determines whether or not disassembling is needed. - - - if disassembling is needed; otherwise, - . - + + Determines whether or not disassembling is needed. + + + if disassembling is needed; otherwise, + . + - - Specifies whether or not the disassembler should combine the - /HEADER, /BYTE, and /TOKENS options. The default - is . - - - if the disassembler should combine the - /HEADER, /BYTE, and /TOKENS options; - otherwise, . The default is - . - - - - Corresponds to the /ALL flag. - - + + Specifies whether or not the disassembler should combine the + /HEADER, /BYTE, and /TOKENS options. The default + is . + + + if the disassembler should combine the + /HEADER, /BYTE, and /TOKENS options; + otherwise, . The default is + . + + + + Corresponds to the /ALL flag. + + - - Specifies whether or not the disassembler should generate the - IL stream bytes (in hexadecimal notation) as instruction comments. - The default is . - - - if the IL stream bytes should be generated - as instruction comments; otherwise, . The - default is . - - - - Corresponds to the /BYTE flag. - - + + Specifies whether or not the disassembler should generate the + IL stream bytes (in hexadecimal notation) as instruction comments. + The default is . + + + if the IL stream bytes should be generated + as instruction comments; otherwise, . The + default is . + + + + Corresponds to the /BYTE flag. + + - - Instructs NAnt to rebuild the output file regardless of the file - timestamps. The default is . - - - if the output file should be rebuilt - regardless of its timestamps; otherwise . - The default is . - + + Instructs NAnt to rebuild the output file regardless of the file + timestamps. The default is . + + + if the output file should be rebuilt + regardless of its timestamps; otherwise . + The default is . + - - Specifies whether or not the disassembler should include PE header - information and runtime header information in the output. The default - is . - - - if PE header information and runtime header - information should be included in the output; otherwise, - . The default is . - - - - Corresponds to the /HEADER flag. - - + + Specifies whether or not the disassembler should include PE header + information and runtime header information in the output. The default + is . + + + if PE header information and runtime header + information should be included in the output; otherwise, + . The default is . + + + + Corresponds to the /HEADER flag. + + @@ -197,36 +196,36 @@ - - Specifies whether or not the disassembler should include - references to original source lines. The default is . - - - if references to original source lines - should be included; otherwise, . The - default is . - - - - Corresponds to the /LINENUM flag. - - + + Specifies whether or not the disassembler should include + references to original source lines. The default is . + + + if references to original source lines + should be included; otherwise, . The + default is . + + + + Corresponds to the /LINENUM flag. + + - - Specifies whether or not the disassembler should suppress ILASM - code output. The default is . - - - if ILASM code output should be suppresses; - otherwise, . The default is - . - - - - Corresponds to the /NOIL flag. - - + + Specifies whether or not the disassembler should suppress ILASM + code output. The default is . + + + if ILASM code output should be suppresses; + otherwise, . The default is + . + + + + Corresponds to the /NOIL flag. + + @@ -246,103 +245,103 @@ - - Specifies whether or not the disassembler should enclose all names - in single quotation marks. By default, only names that don't match - the ILASM definition of a simple name are quoted. The default is - . - - - if all names should be enclosed in single - quotation marks; otherwise, . The default - is . - - - - Corresponds to the /QUOTEALLNAMES flag. - - + + Specifies whether or not the disassembler should enclose all names + in single quotation marks. By default, only names that don't match + the ILASM definition of a simple name are quoted. The default is + . + + + if all names should be enclosed in single + quotation marks; otherwise, . The default + is . + + + + Corresponds to the /QUOTEALLNAMES flag. + + - - Specifies whether or not the disassembler should generate - structured exception handling clauses in canonical (label) form. - The default is . - - - if structured exception handling clauses - should be generated in canonical form; otherwise, - . The default is . - - - - Corresponds to the /RAWEH flag. - - + + Specifies whether or not the disassembler should generate + structured exception handling clauses in canonical (label) form. + The default is . + + + if structured exception handling clauses + should be generated in canonical form; otherwise, + . The default is . + + + + Corresponds to the /RAWEH flag. + + - - Specifies whether or not the disassembler should generate - original source lines as comments. The default is . - - - if original source lines should be - generated as comments; otherwise, . - The default is . - - - - Corresponds to the /SOURCE flag. - - + + Specifies whether or not the disassembler should generate + original source lines as comments. The default is . + + + if original source lines should be + generated as comments; otherwise, . + The default is . + + + + Corresponds to the /SOURCE flag. + + - - Specifies whether or not the disassembler should generate metadata - token values as comments. The default is . - - - if metadata token values should be - generated as comments; otherwise, . The - default is . - - - - Corresponds to the /TOKENS flag. - - + + Specifies whether or not the disassembler should generate metadata + token values as comments. The default is . + + + if metadata token values should be + generated as comments; otherwise, . The + default is . + + + + Corresponds to the /TOKENS flag. + + - - Specifies whether or not the disassembler should use the UNICODE - encoding when generating the output. The default is ANSI. - - - if the output should be generated using - the UNICODE encoding; otherwise, . The - default is . - - - - Corresponds to the /UNICODE flag. - - + + Specifies whether or not the disassembler should use the UNICODE + encoding when generating the output. The default is ANSI. + + + if the output should be generated using + the UNICODE encoding; otherwise, . The + default is . + + + + Corresponds to the /UNICODE flag. + + - - Specifies whether or not the disassembler should use the UTF-8 - encoding when generating the output. The default is ANSI. - - - if the output should be generated using - the UTF-8 encoding; otherwise, . The - default is . - - - - Corresponds to the /UTF8 flag. - - + + Specifies whether or not the disassembler should use the UTF-8 + encoding when generating the output. The default is ANSI. + + + if the output should be generated using + the UTF-8 encoding; otherwise, . The + default is . + + + + Corresponds to the /UTF8 flag. + + @@ -409,13 +408,13 @@ - - The command-line arguments for the external program. - - - Overridden to ensure the <arg> elements would not be exposed - to build authors. - + + The command-line arguments for the external program. + + + Overridden to ensure the <arg> elements would not be exposed + to build authors. + @@ -427,25 +426,25 @@ - - Allows a Windows service to be controlled. - - - Starts the World Wide Web Publishing Service on the local computer. - - - ]]> - - - - Stops the Alerter service on computer 'MOTHER'. - - - ]]> - - + + Allows a Windows service to be controlled. + + + Starts the World Wide Web Publishing Service on the local computer. + + + ]]> + + + + Stops the Alerter service on computer 'MOTHER'. + + + ]]> + + @@ -454,9 +453,9 @@ - - Peforms actions on the service in order to reach the desired status. - + + Peforms actions on the service in order to reach the desired status. + @@ -504,77 +503,77 @@ instance for controlling the service identified by and . - - Holds the name of the service that should be controlled. - + + Holds the name of the service that should be controlled. + - - Holds the name of the computer on which the service resides. - + + Holds the name of the computer on which the service resides. + - - Holds the action that should be performed on the service. - + + Holds the action that should be performed on the service. + - - Holds the time, in milliseconds, the task will wait for a service - to reach the desired status. - + + Holds the time, in milliseconds, the task will wait for a service + to reach the desired status. + - - The name of the service that should be controlled. - + + The name of the service that should be controlled. + - - The name of the computer on which the service resides. The default - is the local computer. - + + The name of the computer on which the service resides. The default + is the local computer. + - - The action that should be performed on the service. - + + The action that should be performed on the service. + - - The time, in milliseconds, the task will wait for the service to - reach the desired status. The default is 5000 milliseconds. - + + The time, in milliseconds, the task will wait for the service to + reach the desired status. The default is 5000 milliseconds. + - - Defines the actions that can be performed on a service. - + + Defines the actions that can be performed on a service. + - - Starts a service. - + + Starts a service. + - - Stops a service. - + + Stops a service. + - - Restarts a service. - + + Restarts a service. + - - Pauses a running service. - + + Pauses a running service. + - - Continues a paused service. - + + Continues a paused service. + diff --git a/build-support/tools/nant/bin/NAnt.NUnit.dll b/build-support/tools/nant/bin/NAnt.NUnit.dll index e78b7b7fa10dec72baeb24bd99b840b7a437ccb4..70aa55b7ddd45e02f809a2eb0a69ba03d1cde2fc 100644 GIT binary patch delta 190 zcmZp0X>gg)!Sc>I+h=2shyY{7`wez?SDp9XcVWr=lN+CG*}O#J2P2cE;pBNz(oBX1lXpv5aB(v-uqEac zWF#6*{wJljSy?)jku#bB1T^`hH&2x5XXLeHFl5kUFlMj-Lc__ra#NWN84M;Lm3zz# Yl$pF*-cS%l1yHTQL`9L!j0*o50h)O<(EtDd delta 191 zcmZp0X>gg)!E)-Yf$PQ|5dp@^$qNPad1ILL7^)dmfMhd6@#eb%>5MF)4C^>2dk86k z8JqKj)Yt@+yS`_Xcj$R;^FKc=p>qPy<|Pt87?~_gC(o0TW->6Fyj#kGn}?Bsy(l#& zHL*B#@?R;n%_`C{}};`xHN+R diff --git a/build-support/tools/nant/bin/NAnt.NUnit.xml b/build-support/tools/nant/bin/NAnt.NUnit.xml index 39d46d6b..e5dfa343 100644 --- a/build-support/tools/nant/bin/NAnt.NUnit.xml +++ b/build-support/tools/nant/bin/NAnt.NUnit.xml @@ -5,31 +5,31 @@ - - Carries data specified through the formatter element. - + + Carries data specified through the formatter element. + - - Gets or sets the type of the formatter. - - The type of the formatter. + + Gets or sets the type of the formatter. + + The type of the formatter. - - Gets or sets a value indicating whether output should be persisted - to a file. - - - if output should be written to a file; otherwise, - . The default is . - + + Gets or sets a value indicating whether output should be persisted + to a file. + + + if output should be written to a file; otherwise, + . The default is . + - - Gets or sets the extension to append to the output filename. - - The extension to append to the output filename. + + Gets or sets the extension to append to the output filename. + + The extension to append to the output filename. @@ -92,11 +92,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -129,10 +129,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -147,64 +147,64 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - The built-in formatter types. - + + The built-in formatter types. + - - A plaintext formatter. - + + A plaintext formatter. + - - An XML formatter. - + + An XML formatter. + - - Represents the FormatterElement of the NUnit task. - + + Represents the FormatterElement of the NUnit task. + - - Type of formatter. - + + Type of formatter. + - - Extension to append to the output filename. - + + Extension to append to the output filename. + - - Determines whether output should be persisted to a file. The default - is . - + + Determines whether output should be persisted to a file. The default + is . + @@ -271,11 +271,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -308,10 +308,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -326,28 +326,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + diff --git a/build-support/tools/nant/bin/NAnt.NUnit1Tasks.dll b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.dll index a95b4d01836db765ad24ead2f8d3f93dbb7ffcd9..62b7379f5901489a8823772edba87594af3a0cb6 100644 GIT binary patch delta 240 zcmZozz|^pSX+j6fd*^JQjXhlwvIY!{0)`AAkekaO%*(*QSj3Rekj_xVkjRj`*;uks zjhByIkD;5PgH4ZNGK0wEgZ7$?-#5RupUlh>&7jFYxyji~0>l8D0VF;_86dIE7o1m! z3H)FBTFRPT$Yt&NH!ssP`)xLNL``91vNW75mnh9-XfWA2(SnPck%28SrywKIXmVYm z+UCWHPx&~b!6s?)M{k~3(9g(g$zaH!$6(B00fdH=b&D1<8!{M7zF73087MRPaIqn( Kip`8A|D^$9Mn3fb delta 241 zcmZozz|^pSX+j6fska8M8+*DWWEmJ31sK2}HEZiWsv zJ%-5)qLUBWYcl@W{MvppGfODLI?l;W&SnxI229&0C<7$6`GWHbF@b0Ujbj46TfEjj znf`lmlY7tRj;JYYOcth-wB=HF!XDHaH zb)2D_Cl>TG@>(#MGUzcFF_gM#fGRVHZzv|mj(dG C2|rc< diff --git a/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml index 941273b9..1dc317da 100644 --- a/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml +++ b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml @@ -5,14 +5,14 @@ - - The whole test suite started. - + + The whole test suite started. + - - The whole test suite ended. - + + The whole test suite ended. + @@ -72,11 +72,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -109,10 +109,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -127,42 +127,42 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Prints information about running tests directly to the build log. - + + Prints information about running tests directly to the build log. + - Not used, all output goes to Log class. + Not used, all output goes to Log class. - Called when the whole test suite has started. + Called when the whole test suite has started. - Called when the whole test suite has ended. + Called when the whole test suite has ended. Convert a stack trace line into something that can be clicked on in an IDE output window. @@ -207,35 +207,35 @@ - - Stops running tests when a test causes an error. The default is - . - - - Implies haltonfailure. - + + Stops running tests when a test causes an error. The default is + . + + + Implies haltonfailure. + - - Stops running tests if a test fails (errors are considered failures - as well). The default is . - + + Stops running tests if a test fails (errors are considered failures + as well). The default is . + - - Cancel the individual tests if they do not finish in the specified - time (measured in milliseconds). Ignored if fork is disabled. - + + Cancel the individual tests if they do not finish in the specified + time (measured in milliseconds). Ignored if fork is disabled. + - - Tests to run. - + + Tests to run. + - - Formatters to output results of unit tests. - + + Formatters to output results of unit tests. + @@ -243,25 +243,25 @@ - - Base name of the test result. The full filename is determined by this - attribute and the extension of formatter. - + + Base name of the test result. The full filename is determined by this + attribute and the extension of formatter. + - - Directory to write the reports to. - + + Directory to write the reports to. + - - Class name of the test. - + + Class name of the test. + - - Assembly to load the test from. - + + Assembly to load the test from. + @@ -269,20 +269,20 @@ - - Stop the build process if an error occurs during the test run. - + + Stop the build process if an error occurs during the test run. + - - Stop the build process if a test fails (errors are considered failures - as well). - + + Stop the build process if a test fails (errors are considered failures + as well). + - - The application configuration file to use for the NUnit test domain. - + + The application configuration file to use for the NUnit test domain. + @@ -336,11 +336,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -373,10 +373,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -391,98 +391,98 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Carries data specified through the test element. - + + Carries data specified through the test element. + - - Determines if the unit test needs running. - - - if unit test needs running, otherwise, - . - - - - Determines if the test needs running by looking at the date stamp - of the test assembly and the test results log. - - + + Determines if the unit test needs running. + + + if unit test needs running, otherwise, + . + + + + Determines if the test needs running by looking at the date stamp + of the test assembly and the test results log. + + - - Runs a Suite extracted from a TestCase subclass. - + + Runs a Suite extracted from a TestCase subclass. + - - Creates the formatters to be used when running this test. - + + Creates the formatters to be used when running this test. + - - Returns the output file or null if does not use a file. - + + Returns the output file or null if does not use a file. + - - Returns the test suite from a given class. - - - The assemblyQualifiedName parameter needs to be in form: - "full.qualified.class.name,Assembly" - + + Returns the test suite from a given class. + + + The assemblyQualifiedName parameter needs to be in form: + "full.qualified.class.name,Assembly" + - - Gets the collection of registered formatters. - - Collection of registered formatters. + + Gets the collection of registered formatters. + + Collection of registered formatters. - - Gets the result of the test. - - The result of the test. + + Gets the result of the test. + + The result of the test. - - Prints information about running tests in plain text. - + + Prints information about running tests in plain text. + - Sets the Writer the formatter is supposed to write its results to. + Sets the Writer the formatter is supposed to write its results to. - Called when the whole test suite has started. + Called when the whole test suite has started. - Called when the whole test suite has ended. + Called when the whole test suite has ended. Convert a stack trace line into something that can be clicked on in an IDE output window. @@ -502,15 +502,15 @@ - - Gets or sets the total run-time of a test. - - The total run-time of a test. + + Gets or sets the total run-time of a test. + + The total run-time of a test. - - Prints detailed information about running tests in XML format. - + + Prints detailed information about running tests in XML format. + @@ -525,14 +525,14 @@ - - Called when the whole test suite has started. - + + Called when the whole test suite has started. + - - Called when the whole test suite has ended. - + + Called when the whole test suite has ended. + diff --git a/build-support/tools/nant/bin/NAnt.NUnit2Tasks.dll b/build-support/tools/nant/bin/NAnt.NUnit2Tasks.dll index 7eab179cdb155a99a2abf287b6f75a5271f1bd8c..da3d6b6030b5d6396ec91a754ab191abb361e0dc 100644 GIT binary patch delta 8142 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 delta 7557 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 - - Specifies a list of categories to include. - + + Specifies a list of categories to include. + - - Specifies a list of categories to exclude. - + + Specifies a list of categories to exclude. + - - Represents a certain group of test cases or fixtures. - + + Represents a certain group of test cases or fixtures. + - - A name of a category, or comma-separated list of names. - + + A name of a category, or comma-separated list of names. + - - If then the category will be processed; - otherwise, skipped. The default is . - + + If then the category will be processed; + otherwise, skipped. The default is . + - - If then the category will be skipped; - otherwise, processed. The default is . - + + If then the category will be skipped; + otherwise, processed. The default is . + @@ -138,11 +138,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -175,10 +175,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -199,158 +199,28 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - - - - - Contains a strongly typed collection of objects. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with the specified instance. - - - - - Initializes a new instance of the class - with the specified array of instances. - - - - - Adds a to the end of the collection. - - The to be added to the end of the collection. - The position into which the new element was inserted. - - - - Adds the elements of a array to the end of the collection. - - The array of elements to be added to the end of the collection. - - - - Adds the elements of a to the end of the collection. - - The to be added to the end of the collection. - - - - Determines whether a is in the collection. - - The to locate in the collection. - - if is found in the - collection; otherwise, . - - - - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - - Retrieves the index of a specified object in the collection. - - The object for which the index is returned. - - The index of the specified . If the is not currently a member of the collection, it returns -1. - - - - - Inserts a into the collection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - - - Returns an enumerator that can iterate through the collection. - - - A for the entire collection. - - - - - Removes a member from the collection. - - The to remove from the collection. - - - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. - - - - Enumerates the elements of a . - - - - - Initializes a new instance of the class - with the specified . - - The collection that should be enumerated. - - - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - - - - - Sets the enumerator to its initial position, which is before the - first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + @@ -422,6 +292,10 @@ + + + + ]]> @@ -429,24 +303,24 @@ - - Runs the tests and sets up the formatters. - + + Runs the tests and sets up the formatters. + - - Stop the test run if a test fails. The default is . - + + Stop the test run if a test fails. The default is . + - - Tests to run. - + + Tests to run. + - - Formatters to output results of unit tests. - + + Formatters to output results of unit tests. + @@ -454,30 +328,35 @@ - - Name of the assembly to search for tests. - + + Name of the assembly to search for tests. + - - Name of a specific testfixture to run. If not specified then all - testfixtures are run. - + + Name of a specific testfixture to run. If not specified then all + testfixtures are run. + - - Assemblies to include in test. - + + Assemblies to include in test. + + + + + Assemblies to scan for missing assembly references. + - - Categories of test cases to include or exclude. - + + Categories of test cases to include or exclude. + - - Build fails on failure. The default is . - + + Build fails on failure. The default is . + @@ -486,25 +365,155 @@ - - The application configuration file to use for the NUnit test domain. - If not specified, NAnt will try to use a configuration name matching - the file name of the assembly with extension ".config". - + + The application configuration file to use for the NUnit test domain. + If not specified, NAnt will try to use a configuration name matching + the file name of the assembly with extension ".config". + + + Gets all assemblies specified for these tests. + + + All assemblies specified for these tests. + + + - Gets all assemblies specified for these tests. + Contains a strongly typed collection of objects. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. + The position into which the new element was inserted. + + + + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. - All assemblies specified for these tests. + if is found in the + collection; otherwise, . - + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + - Custom TestDomain, similar to the one included with NUnit, in order - to workaround some limitations in it. + Retrieves the index of a specified object in the collection. + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Enumerates the elements of a . + + + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Custom TestDomain, similar to the one included with NUnit, in order + to workaround some limitations in it. + @@ -512,24 +521,25 @@ class. - - - Runs a single testcase. - - The test assembly. - The application configuration file for the test domain. - - The result of the test. - + + + Runs a single testcase. + + The test assembly. + The application configuration file for the test domain. + List of files to scan for missing assembly references. + + The result of the test. + - - Helper class called when an assembly resolve event is raised. - + + Helper class called when an assembly resolve event is raised. + - + - Initializes an instanse of the + Initializes an instanse of the class. @@ -554,15 +564,21 @@ An that contains the event data. - - Holds the list of directories that will be scanned for missing - assembly references. - + + Holds the list of directories that will be scanned for missing + assembly references. + + + + + Holds the list of assemblies that can be scanned for missing + assembly references. + - - Holds the loaded assemblies. - + + Holds the loaded assemblies. + diff --git a/build-support/tools/nant/bin/NAnt.SourceControlTasks.dll b/build-support/tools/nant/bin/NAnt.SourceControlTasks.dll index c44fd3a521cab59d5ceac6ba010d78878ef38fe6..756484b929f1e1d6800a65a579a3b41084a6c06d 100644 GIT binary patch delta 4955 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 delta 4914 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 GW%>_PsrRP< diff --git a/build-support/tools/nant/bin/NAnt.SourceControlTasks.xml b/build-support/tools/nant/bin/NAnt.SourceControlTasks.xml index e8bc7664..e01efa61 100644 --- a/build-support/tools/nant/bin/NAnt.SourceControlTasks.xml +++ b/build-support/tools/nant/bin/NAnt.SourceControlTasks.xml @@ -5,44 +5,44 @@ - - A base class for creating tasks for executing CVS client commands on a - CVS repository. - + + A base class for creating tasks for executing CVS client commands on a + CVS repository. + - - A base class for creating tasks for executing CVS client commands on a - CVS repository. - + + A base class for creating tasks for executing CVS client commands on a + CVS repository. + - - Name of the environmental variable specifying a users' home - in a *nix environment. - + + Name of the environmental variable specifying a users' home + in a *nix environment. + - - Used on windows to specify the location of application data. - + + Used on windows to specify the location of application data. + - - The environment variable that holds path information. - + + The environment variable that holds path information. + - - The environment variable that holds the location of the - .cvspass file. - + + The environment variable that holds the location of the + .cvspass file. + - - Property name used to specify the source control executable. This is - used as a readonly property. - + + Property name used to specify the source control executable. This is + used as a readonly property. + @@ -51,245 +51,245 @@ - - Build up the command line arguments, determine which executable is being - used and find the path to that executable and set the working - directory. - - The process to prepare. + + Build up the command line arguments, determine which executable is being + used and find the path to that executable and set the working + directory. + + The process to prepare. - - Adds a new global option if none exists. If one does exist then - the use switch is toggled on or of. - - The common name of the option. - The option value or command line switch - of the option. - true if the option should be - appended to the commandline, otherwise false. + + Adds a new global option if none exists. If one does exist then + the use switch is toggled on or of. + + The common name of the option. + The option value or command line switch + of the option. + true if the option should be + appended to the commandline, otherwise false. - - Adds a new command option if none exists. If one does exist then - the use switch is toggled on or of. - - The common name of the option. - The option value or command line switch - of the option. - true if the option should be - appended to the commandline, otherwise false. + + Adds a new command option if none exists. If one does exist then + the use switch is toggled on or of. + + The common name of the option. + The option value or command line switch + of the option. + true if the option should be + appended to the commandline, otherwise false. - - Set up the environment variables for a process. - - A process to setup. + + Set up the environment variables for a process. + + A process to setup. - - Append the files specified in the fileset to the command line argument. - Files are changed to use a relative path from the working directory - that the task is spawned in. - + + Append the files specified in the fileset to the command line argument. + Files are changed to use a relative path from the working directory + that the task is spawned in. + - - Derive the location of the version control system from the environment - variable PATH. - - The file information of the version control system, - or null if this cannot be found. + + Derive the location of the version control system from the environment + variable PATH. + + The file information of the version control system, + or null if this cannot be found. - - The name of the passfile, overriden for each version control system (VCS). - + + The name of the passfile, overriden for each version control system (VCS). + - - The path to the specific home directory of the version control system, - this can be where the binary files are kept, or other app - information. - + + The path to the specific home directory of the version control system, + this can be where the binary files are kept, or other app + information. + - - The environment variable that defines where the version control system - (VCS) home variable is kept. - + + The environment variable that defines where the version control system + (VCS) home variable is kept. + - - The name of the version control system (VCS) executable file. - + + The name of the version control system (VCS) executable file. + - - - The root variable contains information on how to locate a repository. - Although this information is in different formats it typically must - define the following: - - server location - protocol used to communicate with the repository - repository location on the server - project location in the repository - - - + + + The root variable contains information on how to locate a repository. + Although this information is in different formats it typically must + define the following: + + server location + protocol used to communicate with the repository + repository location on the server + project location in the repository + + + - - Destination directory for the local sandbox. If destination is not specified - then the current directory is used. - - - Root path of the local sandbox. - - - - Root path of the local sandbox. - - + + Destination directory for the local sandbox. If destination is not specified + then the current directory is used. + + + Root path of the local sandbox. + + + + Root path of the local sandbox. + + - - The password for logging in to the repository. - - - The password for logging in to the repository. - + + The password for logging in to the repository. + + + The password for logging in to the repository. + - - The full path to the cached password file. If not specified then the - environment variables are used to try and locate the file. - + + The full path to the cached password file. If not specified then the + environment variables are used to try and locate the file. + - - Holds a collection of globally available options. - + + Holds a collection of globally available options. + - - A collection of options that can be used to modify the default behavoir - of the version control commands. See the sub-tasks for implementation - specifics. - + + A collection of options that can be used to modify the default behavoir + of the version control commands. See the sub-tasks for implementation + specifics. + - - Command-line arguments for the program. The command line arguments are used to specify - any cvs command options that are not available as attributes. These are appended - after the command itself and are additive to whatever attributes are currently specified. - - - <cvs-checkout cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" - module="nant" - destination="e:\test\merillcornish\working" - readonly="true" - quiet="true" - commandline="-n" - cvsfullpath="C:\Program Files\TortoiseCVS\cvs.exe" - /> -
- Produces the cvs command: - c:\Program Files\TortoiseCVS\cvs.exe -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant -q checkout -n nant -
+ + Command-line arguments for the program. The command line arguments are used to specify + any cvs command options that are not available as attributes. These are appended + after the command itself and are additive to whatever attributes are currently specified. + + + <cvs-checkout cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + destination="e:\test\merillcornish\working" + readonly="true" + quiet="true" + commandline="-n" + cvsfullpath="C:\Program Files\TortoiseCVS\cvs.exe" + /> +
+ Produces the cvs command: + c:\Program Files\TortoiseCVS\cvs.exe -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant -q checkout -n nant +
- - The name of the command that is going to be executed. - + + The name of the command that is going to be executed. + - - Used to specify the version control system (VCS) files that are going - to be acted on. - + + Used to specify the version control system (VCS) files that are going + to be acted on. + - - The executable to use for ssh communication. - + + The executable to use for ssh communication. + - - The environment name for the ssh variable. - + + The environment name for the ssh variable. + - - The name of the version control system executable. - + + The name of the version control system executable. + - - Get the command line arguments for the task. - + + Get the command line arguments for the task. + - - Default value for the recursive directive. The default is - . - + + Default value for the recursive directive. The default is + . + - - Default value for the quiet command. - + + Default value for the quiet command. + - - Default value for the really quiet command. - + + Default value for the really quiet command. + - - An environment variable that holds path information about where - cvs is located. - + + An environment variable that holds path information about where + cvs is located. + - - Name of the password file that cvs stores pserver - cvsroot/ password pairings. - + + Name of the password file that cvs stores pserver + cvsroot/ password pairings. + - - The default compression level to use for cvs commands. - + + The default compression level to use for cvs commands. + - - The default use of binaries, defaults to use sharpcvs. - + + The default use of binaries, defaults to use sharpcvs. + - - The name of the cvs executable. - + + The name of the cvs executable. + - - The temporary name of the sharpcvslib binary file, to avoid - conflicts in the path variable. - + + The temporary name of the sharpcvslib binary file, to avoid + conflicts in the path variable. + - - Environment variable that holds the executable name that is used for - ssh communication. - + + Environment variable that holds the executable name that is used for + ssh communication. + - - Property name used to specify on a project level whether sharpcvs is - used or not. - + + Property name used to specify on a project level whether sharpcvs is + used or not. + @@ -298,246 +298,246 @@ - - Build up the command line arguments, determine which executable is being - used and find the path to that executable and set the working - directory. - - The process to prepare. + + Build up the command line arguments, determine which executable is being + used and find the path to that executable and set the working + directory. + + The process to prepare. - - Override to append any commands before the modele and files. - + + Override to append any commands before the modele and files. + - - Append the command line options or commen names for the options - to the generic options collection. This is then piped to the - command line as a switch. - + + Append the command line options or commen names for the options + to the generic options collection. This is then piped to the + command line as a switch. + - - Add the given argument to the command line options. Note that are not explicitly - quoted are split into seperate arguments. This is to resolve a recent issue - with quoting command line arguments. - - + + Add the given argument to the command line options. Note that are not explicitly + quoted are split into seperate arguments. This is to resolve a recent issue + with quoting command line arguments. + + - - The environment name for the ssh variable. - + + The environment name for the ssh variable. + - - The name of the cvs binary, or cvs.exe at the time this - was written. - + + The name of the cvs binary, or cvs.exe at the time this + was written. + - - The name of the pass file, or .cvspass at the time - of this writing. - + + The name of the pass file, or .cvspass at the time + of this writing. + - - The name of the version control system specific home environment - variable. - + + The name of the version control system specific home environment + variable. + - - Specify if the module is needed for this cvs command. It is - only needed if there is no module information on the local file - system. - + + Specify if the module is needed for this cvs command. It is + only needed if there is no module information on the local file + system. + - - Used to specify the version control system (VCS) files that are going - to be acted on. - + + Used to specify the version control system (VCS) files that are going + to be acted on. + - - Get the cvs file set. - + + Get the cvs file set. + - - The name of the cvs executable. - + + The name of the cvs executable. + - - The full path to the cvs binary used. The cvs tasks will attempt to - "guess" the location of your cvs binary based on your path. If the - task is unable to resolve the location, or resolves it incorrectly - this can be used to manually specify the path. - - - A full path (i.e. including file name) of your cvs binary: - On Windows: c:\vcs\cvs\cvs.exe - On *nix: /usr/bin/cvs - + + The full path to the cvs binary used. The cvs tasks will attempt to + "guess" the location of your cvs binary based on your path. If the + task is unable to resolve the location, or resolves it incorrectly + this can be used to manually specify the path. + + + A full path (i.e. including file name) of your cvs binary: + On Windows: c:\vcs\cvs\cvs.exe + On *nix: /usr/bin/cvs + - - - The cvs root variable has the following components: - - - [protocol]:[username]@[servername]:[server path] -
    -
  • protocol: ext, pserver, ssh (sharpcvslib); if you are not using sharpcvslib consult your cvs documentation.
  • -
  • username: [username]
  • -
  • servername: cvs.sourceforge.net
  • -
  • server path: /cvsroot/nant
  • -
-
-
- - NAnt anonymous cvsroot: - - :pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant - - + + + The cvs root variable has the following components: + + + [protocol]:[username]@[servername]:[server path] +
    +
  • protocol: ext, pserver, ssh (sharpcvslib); if you are not using sharpcvslib consult your cvs documentation.
  • +
  • username: [username]
  • +
  • servername: cvs.sourceforge.net
  • +
  • server path: /cvsroot/nant
  • +
+
+
+ + NAnt anonymous cvsroot: + + :pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant + +
- - The module to perform an operation on. - - - The module to perform an operation on. This is a normal file/folder - name without path information. - - - In NAnt the module name would be: - nant - + + The module to perform an operation on. + + + The module to perform an operation on. This is a normal file/folder + name without path information. + + + In NAnt the module name would be: + nant + - - - if the SharpCvsLib binaries that come bundled - with NAnt should be used to perform the cvs commands, - otherwise. - - - You may also specify an override value for all cvs tasks instead - of specifying a value for each. To do this set the property - sourcecontrol.usesharpcvslib to . - - - If you choose not to use SharpCvsLib to checkout from cvs you will - need to include a cvs.exe binary in your path. - - - - To use a cvs client in your path instead of sharpcvslib specify - the property: - >property name="sourcecontrol.usesharpcvslib" value="false"< - - The default settings is to use sharpcvslib and the setting closest - to the task execution is used to determine which value is used - to execute the process. - - For instance if the attribute usesharpcvslib was set to false - and the global property was set to true, the usesharpcvslib is - closes to the point of execution and would be used and is false. - Therefore the sharpcvslib binary would NOT be used. - + + + if the SharpCvsLib binaries that come bundled + with NAnt should be used to perform the cvs commands, + otherwise. + + + You may also specify an override value for all cvs tasks instead + of specifying a value for each. To do this set the property + sourcecontrol.usesharpcvslib to . + + + If you choose not to use SharpCvsLib to checkout from cvs you will + need to include a cvs.exe binary in your path. + + + + To use a cvs client in your path instead of sharpcvslib specify + the property: + >property name="sourcecontrol.usesharpcvslib" value="false"< + + The default settings is to use sharpcvslib and the setting closest + to the task execution is used to determine which value is used + to execute the process. + + For instance if the attribute usesharpcvslib was set to false + and the global property was set to true, the usesharpcvslib is + closes to the point of execution and would be used and is false. + Therefore the sharpcvslib binary would NOT be used. + - - The executable to use for ssh communication. - + + The executable to use for ssh communication. + - - Indicates if the output from the cvs command should be supressed. - The default is . - + + Indicates if the output from the cvs command should be supressed. + The default is . + - - Indicates if the output from the cvs command should be stopped. - The default is . - + + Indicates if the output from the cvs command should be stopped. + The default is . + - - if the sandbox files should be checked out in - read only mode. The default is . - + + if the sandbox files should be checked out in + read only mode. The default is . + - - if the sandbox files should be checked out in - read/write mode. The default is . - + + if the sandbox files should be checked out in + read/write mode. The default is . + - - Compression level to use for all net traffic. This should be a value from 1-9. -
-
- NOTE: This is not available on sharpcvslib. -
+ + Compression level to use for all net traffic. This should be a value from 1-9. +
+
+ NOTE: This is not available on sharpcvslib. +
- - Produces an XML report that represents the cvs changes from the given - start day, to a given end date. - - - Report changes in NAnt from 1st of June 2004 until 25th of July 2004. - - - ]]> - - + + Produces an XML report that represents the cvs changes from the given + start day, to a given end date. + + + Report changes in NAnt from 1st of June 2004 until 25th of July 2004. + + + ]]> + + - - The command being executed. - + + The command being executed. + - - Name of the xml file that will contain the cvs log information. - + + Name of the xml file that will contain the cvs log information. + - - The earliest change to use in the cvs log command. - + + The earliest change to use in the cvs log command. + - - The latest date to use in the cvs log command. - + + The latest date to use in the cvs log command. + - - The cvs command to execute. - + + The cvs command to execute. + - - Override use of sharpcvslib, needs to be true. - + + Override use of sharpcvslib, needs to be true. +
@@ -567,61 +567,61 @@ - - Checks out a CVS module to the required directory. - - - Checkout NAnt. - - - ]]> - - - - - Checkout NAnt revision named 0_85 to the - folder c:\src\nant\v0.85. - - - - ]]> - - So the nant module tagged with revision 0_85 will be checked - out in the folder v0.85 under the working/ destination directory. -
This could be used to work on different - branches of a repository at the same time.
-
- - - Checkout NAnt with specified revision date to the - folder c:\src\nant\2003_08_16. - - - - ]]> - - + + Checks out a CVS module to the required directory. + + + Checkout NAnt. + + + ]]> + + + + + Checkout NAnt revision named 0_85 to the + folder c:\src\nant\v0.85. + + + + ]]> + + So the nant module tagged with revision 0_85 will be checked + out in the folder v0.85 under the working/ destination directory. +
This could be used to work on different + branches of a repository at the same time.
+
+ + + Checkout NAnt with specified revision date to the + folder c:\src\nant\2003_08_16. + + + + ]]> + +
- - The command being executed. - + + The command being executed. + @@ -629,168 +629,167 @@ - - Specify the revision to checkout. This corresponds to the "sticky-tag" - of the file. - + + Specify the revision to checkout. This corresponds to the "sticky-tag" + of the file. + - - Sticky tag or revision to checkout. - + + Sticky tag or revision to checkout. + - - Specify the revision date to checkout. The date specified is validated - and then passed to the cvs binary in a standard format recognized by - cvs. - + + Specify the revision date to checkout. The date specified is validated + and then passed to the cvs binary in a standard format recognized by + cvs. + - - Specify a directory name to replace the module name. Valid names - include any valid filename, excluding path information. - + + Specify a directory name to replace the module name. Valid names + include any valid filename, excluding path information. + - - Specify a directory name to replace the module name. Valid names - include any valid filename, excluding path information. - + + Specify a directory name to replace the module name. Valid names + include any valid filename, excluding path information. + - - The name of the cvs command that is going to be executed. - + + The name of the cvs command that is going to be executed. + - - Executes the cvs login command which appends or updates an entry to the - specified .cvspass file. - - - Update .cvspass file to include the NAnt anonymous login. - - - ]]> - - + + Executes the cvs login command which appends or updates an entry to the + specified .cvspass file. + + + Update .cvspass file to include the NAnt anonymous login. + + + ]]> + + - + Ensures all information is available to execute the . - The used to initialize the . - - Update the .cvspass file with the given password. If the passfile - is not specified then the default search locations are used: - - CVS_PASSFILE/.cvspass - HOME/.cvspass - USERPROFILE/.cvspass TODO: Confirm that this is valid - behavior or if it is going to give problems with the - cvsnt implementation. - - + + Update the .cvspass file with the given password. If the passfile + is not specified then the default search locations are used: + + CVS_PASSFILE/.cvspass + HOME/.cvspass + USERPROFILE/.cvspass TODO: Confirm that this is valid + behavior or if it is going to give problems with the + cvsnt implementation. + + - - Password to append or update to the .cvspass file. - + + Password to append or update to the .cvspass file. + - - The full path to the .cvspass file. The default is ~/.cvspass. - - + + The full path to the .cvspass file. The default is ~/.cvspass. + + - - The current working directory. - + + The current working directory. + - - The repository root string. - + + The repository root string. + - - Executes the cvs command specified by the command attribute. - - - Checkout NAnt. - - - ]]> - - + + Executes the cvs command specified by the command attribute. + + + Checkout NAnt. + + + ]]> + + - - The cvs command to execute. - + + The cvs command to execute. + - - Specify if the module is needed for this cvs command. - + + Specify if the module is needed for this cvs command. + - - Exports a cvs module in preperation for a release (i.e. the CVS version - folders are not exported). - - - Export the most recent NAnt sources from cvs. - - - ]]> - - - - - Export NAnt revision named your_favorite_revision_here to the - folder c:\src\nant\replacement_for_module_directory_name. - - **NOTE**: filesets names for the export task must be - prefixed with the module name. This is different than other tasks. - - - - - - - - - ]]> - - + + Exports a cvs module in preperation for a release (i.e. the CVS version + folders are not exported). + + + Export the most recent NAnt sources from cvs. + + + ]]> + + + + + Export NAnt revision named your_favorite_revision_here to the + folder c:\src\nant\replacement_for_module_directory_name. + + **NOTE**: filesets names for the export task must be + prefixed with the module name. This is different than other tasks. + + + + + + + + + ]]> + + - - The command being executed. - + + The command being executed. +
@@ -804,9 +803,9 @@ - - No shortening. Do not shorten module paths if -d specified. - + + No shortening. Do not shorten module paths if -d specified. + @@ -820,84 +819,82 @@ - - If a directory is specified indicates whether sub-directories should - also be processed. - - - if the sub-directories should be tagged; - otherwise, . The default is . - + + If a directory is specified indicates whether sub-directories should + also be processed. + + + if the sub-directories should be tagged; + otherwise, . The default is . + - - Specify the revision to update the file to. This corresponds to the "sticky-tag" - of the file. - + + Specify the revision to update the file to. This corresponds to the "sticky-tag" + of the file. + - - Specify the revision date to update to. The version of the file that - existed at the date specified is retrieved. - - - A valid date time value, which is then converted to a format that - cvs can parse. - + + Specify the revision date to update to. The version of the file that + existed at the date specified is retrieved. + + + A valid date time value, which is then converted to a format that + cvs can parse. + - - Specify a directory name to replace the module name. Valid names - include any valid filename, excluding path information. - + + Specify a directory name to replace the module name. Valid names + include any valid filename, excluding path information. + - - The export command name for the cvs client. - + + The export command name for the cvs client. + - - Tags all sources in the remote repository with a given tag. - - - - Unlike tag, the rtag command acts only on sources that are in the repository. - Any modified sources on the local file system will NOT be tagged with this - command, so a commit should be performed before an rtag is done. - - - NOTE: Although a working directory is not necessary to perform the command - one must be specified in order to remain in compliance with the cvs library. - - - - Tag NAnt sources remotely. - - - ]]> - - - - Remove a tag from the remote repository. - - - ]]> - - + + Tags all sources in the remote repository with a given tag. + + + + Unlike tag, the rtag command acts only on sources that are in the repository. + Any modified sources on the local file system will NOT be tagged with this + command, so a commit should be performed before an rtag is done. + + + NOTE: Although a working directory is not necessary to perform the command + one must be specified in order to remain in compliance with the cvs library. + + + + Tag NAnt sources remotely. + + + ]]> + + + + Remove a tag from the remote repository. + + + ]]> + + @@ -906,17 +903,17 @@ - - Append the tag information to the commandline. - + + Append the tag information to the commandline. + - - The name of the tag to assign or remove. - - - The name of the tag to assign or remove. - + + The name of the tag to assign or remove. + + + The name of the tag to assign or remove. + @@ -940,14 +937,14 @@ - - If a directory is specified indicates whether sub-directories should - also be processed. - - - if the sub-directories should be tagged; - otherwise, . The default is . - + + If a directory is specified indicates whether sub-directories should + also be processed. + + + if the sub-directories should be tagged; + otherwise, . The default is . + @@ -961,14 +958,14 @@ - - Indicates the revision date of the file that the tag should be - applied to. - - - A valid date which specifies the revision point that the tag will - be applied to. - + + Indicates the revision date of the file that the tag should be + applied to. + + + A valid date which specifies the revision point that the tag will + be applied to. + @@ -982,9 +979,9 @@ - - The name of the cvs command that is going to be executed. - + + The name of the cvs command that is going to be executed. + @@ -1006,8 +1003,7 @@ ]]> @@ -1019,8 +1015,7 @@ @@ -1029,9 +1024,9 @@ - - Cvs command to be executed. - + + Cvs command to be executed. + @@ -1040,17 +1035,17 @@ - - Append the tag information to the commandline. - + + Append the tag information to the commandline. + - - The name of the tag to assign or remove. - - - The name of the tag to assign or remove. - + + The name of the tag to assign or remove. + + + The name of the tag to assign or remove. + @@ -1074,14 +1069,14 @@ - - If a directory is specified indicates whether sub-directories should - also be processed. - - - if the sub-directories should be tagged; - otherwise, . The default is . - + + If a directory is specified indicates whether sub-directories should + also be processed. + + + if the sub-directories should be tagged; + otherwise, . The default is . + @@ -1095,14 +1090,14 @@ - - Indicates the revision date of the file that the tag should be - applied to. - - - A valid date which specifies the revision point that the tag will - be applied to. - + + Indicates the revision date of the file that the tag should be + applied to. + + + A valid date which specifies the revision point that the tag will + be applied to. + @@ -1127,64 +1122,64 @@ - - The name of the cvs command that is going to be executed. - + + The name of the cvs command that is going to be executed. + - - Not used - + + Not used + - - Specify if the module is needed for this cvs command. It is - only needed if there is no module information on the local file - system. - + + Specify if the module is needed for this cvs command. It is + only needed if there is no module information on the local file + system. + - - Updates a CVS module in a local working directory. - - - Update nant. - - - ]]> - - - - - Update your NAnt revision named your_favorite_revision_here in - the folder c:\src\nant\replacement_for_module_directory_name. - - - - - - - - ]]> - - + + Updates a CVS module in a local working directory. + + + Update nant. + + + ]]> + + + + + Update your NAnt revision named your_favorite_revision_here in + the folder c:\src\nant\replacement_for_module_directory_name. + + + + + + + + ]]> + + - - The command being executed. - + + The command being executed. + @@ -1197,69 +1192,69 @@ - - If . new directories will be created on the local - sandbox. The default is . - + + If . new directories will be created on the local + sandbox. The default is . + - - If empty directories copied down from the - remote repository will be removed from the local sandbox. - The default is . - + + If empty directories copied down from the + remote repository will be removed from the local sandbox. + The default is . + - - If the local copy of the file will be - overwritten with the copy from the remote repository. The default - is . - + + If the local copy of the file will be + overwritten with the copy from the remote repository. The default + is . + - - Specifies if the command should be executed recursively. The - default is . - - - The -R option is on by default in cvs. - + + Specifies if the command should be executed recursively. The + default is . + + + The -R option is on by default in cvs. + - - Specify the revision to update the file to. This corresponds to the - "sticky-tag" of the file. - + + Specify the revision to update the file to. This corresponds to the + "sticky-tag" of the file. + - - Sticky tag or revision to update the local file to. - - - A valid cvs tag. - + + Sticky tag or revision to update the local file to. + + + A valid cvs tag. + - - Specify the revision date to update to. The version of the file that - existed at the date specified is retrieved. - - - A valid date time value, which is then converted to a format that - cvs can parse. - + + Specify the revision date to update to. The version of the file that + existed at the date specified is retrieved. + + + A valid date time value, which is then converted to a format that + cvs can parse. + - - Specify if the module is needed for this cvs command. It is - only needed if there is no module information on the local file - system. - + + Specify if the module is needed for this cvs command. It is + only needed if there is no module information on the local file + system. + - - The name of the cvs command that is going to be executed. - + + The name of the cvs command that is going to be executed. + @@ -1267,19 +1262,18 @@ attributes useful in the context of the . - + Initialize the object and locate the .cvsignore files to add to the exclude list. - - - Indicates whether the entires in the .cvsignore should be used to limit the - file list; to exclude files in .cvsignore, otherwise - . The default is . - + + Indicates whether the entires in the .cvsignore should be used to limit the + file list; to exclude files in .cvsignore, otherwise + . The default is . + diff --git a/build-support/tools/nant/bin/NAnt.VSNetTasks.dll b/build-support/tools/nant/bin/NAnt.VSNetTasks.dll index da9d97543360b6b15de42f89a463cfac8faad9ec..a09a89d6e035141a379682ca74bc5c24555edf9b 100644 GIT binary patch literal 167936 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

u+ROQgD9+w#d`GQZ3vY@J*G$ja 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 diff --git a/build-support/tools/nant/bin/NAnt.VSNetTasks.xml b/build-support/tools/nant/bin/NAnt.VSNetTasks.xml index a782968c..8108b824 100644 --- a/build-support/tools/nant/bin/NAnt.VSNetTasks.xml +++ b/build-support/tools/nant/bin/NAnt.VSNetTasks.xml @@ -5,9 +5,9 @@ -

- Analyses Microsoft Visual Studio .NET 2003 (Everett) solution files. - + + Analyses Microsoft Visual Studio .NET 2003 (Everett) solution files. +
@@ -20,14 +20,14 @@ No project with unique identifier could be located. - - Logs a message with the given priority. - - The message priority at which the specified message is to be logged. - The message to be logged. - - The actual logging is delegated to the underlying task. - + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + The actual logging is delegated to the underlying task. + @@ -51,17 +51,17 @@ A project GUID in the solution file does not match the actual GUID of the project in the project file. - - Translates a project path, in the form of a relative file path or - a URL, to an absolute file path. - - The directory of the solution. - The project path to translate to an absolute file path. - - The project path translated to an absolute file path. - + + Translates a project path, in the form of a relative file path or + a URL, to an absolute file path. + + The directory of the solution. + The project path to translate to an absolute file path. + + The project path translated to an absolute file path. + - + Converts assembly references to projects to project references, adding a build dependency.c @@ -83,176 +83,21 @@ yet been built; otherwise, . - - - Gets or sets the in memory representation of the project. - - - The in memory representation of the project, or - if the project is not (yet) loaded. - - - This property will always be for - projects that are not supported. - - - - - Contains a collection of elements. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with the specified instance. - - - - - Initializes a new instance of the class - with the specified array of instances. - - - - - Adds a to the end of the collection. - - The to be added to the end of the collection. - - The position into which the new element was inserted. - - - - - Adds the elements of a array to the end of the collection. - - The array of elements to be added to the end of the collection. - - - - Adds the elements of a to the end of the collection. - - The to be added to the end of the collection. - - - - Determines whether a is in the collection. - - The to locate in the collection. - - if is found in the - collection; otherwise, . - - - - - Determines whether a with the specified - GUID is in the collection, using a case-insensitive lookup. - - The GUID to locate in the collection. - - if a with GUID - is found in the collection; otherwise, - . - - - - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. - - - - Retrieves the index of a specified object in the collection. - - The object for which the index is returned. - - The index of the specified . If the is not currently a member of the collection, it returns -1. - - - - - Inserts a into the collection at the specified index. - - The zero-based index at which should be inserted. - The to insert. - - - - Returns an enumerator that can iterate through the collection. - - - A for the entire collection. - - - - - Removes a member from the collection. - - The to remove from the collection. - - - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. - - - - Gets the with the specified GUID. - - The GUID of the to get. - - Performs a case-insensitive lookup. - - - - - Enumerates the elements of a . - - - - - Initializes a new instance of the class - with the specified . - - The collection that should be enumerated. - - - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - - - - - Sets the enumerator to its initial position, which is before the - first element in the collection. - - - - - Gets the current element in the collection. - - - The current element in the collection. - + + + Returns a number representing how much this file fits this project type. + + + + + + This enables the override in other providers. Do not return big numbers, mainly when compring only on filename. + - - Analyses Microsoft Visual Studio .NET 2002 (Rainier) solution files. - + + Analyses Microsoft Visual Studio .NET 2002 (Rainier) solution files. + @@ -417,29 +262,29 @@ The macro cannot be expanded. - - Builds the list of folders that should be scanned for assembly - references. - - - The list of folders that should be scanned for assembly references. - + + Builds the list of folders that should be scanned for assembly + references. + + + The list of folders that should be scanned for assembly references. + - - The projects to build. - + + The projects to build. + - - The projects to scan, but not build. - - - These projects are used to resolve project references and are - generally external to the solution being built. References to - these project's output files are converted to use the appropriate - solution configuration at build time. - + + The projects to scan, but not build. + + + These projects are used to resolve project references and are + generally external to the solution being built. References to + these project's output files are converted to use the appropriate + solution configuration at build time. + @@ -453,42 +298,52 @@ - - The name of the solution configuration to build. - - - - Generally release or debug. Not case-sensitive. - - + + The name of the solution configuration to build. + + + + Generally release or debug. Not case-sensitive. + + + + + + The name of platform to build the solution for. + + + + + Gets the solution configuration to build. + - - The directory where compiled targets will be placed. This - overrides path settings contained in the solution/project. - + + The directory where compiled targets will be placed. This + overrides path settings contained in the solution/project. + - - WebMap of URL's to project references. - + + WebMap of URL's to project references. + - - Fileset of projects to exclude. - + + Fileset of projects to exclude. + - - Set of folders where references are searched when not found in path - from project file (HintPath). - + + Set of folders where references are searched when not found in path + from project file (HintPath). + - - Includes Visual Studio search folders in reference search path. - The default is . - + + Includes Visual Studio search folders in reference search path. + The default is . + @@ -502,153 +357,153 @@ - - Gets the list of folders to scan for assembly references. - - - The list of folders to scan for assembly references. - + + Gets the list of folders to scan for assembly references. + + + The list of folders to scan for assembly references. + - - Defines how the project is using the ATL library. - + + Defines how the project is using the ATL library. + - - Don't use ATL. - + + Don't use ATL. + - - Use ATL in a Static Library. - + + Use ATL in a Static Library. + - - Use ATL in a Shared DLL. - + + Use ATL in a Shared DLL. + - - Defines how the project is using the MFC library. - + + Defines how the project is using the MFC library. + - - Don't use MFC. - + + Don't use MFC. + - - Use MFC in a Static Library. - + + Use MFC in a Static Library. + - - Use MFC in a Shared DLL. - + + Use MFC in a Shared DLL. + - - Indicates the possible ways in which precompiled header file use is - specified in a Visual C++ project. - - - The integer values assigned match those specified in the Visual C++ - project file for each setting. - > + + Indicates the possible ways in which precompiled header file use is + specified in a Visual C++ project. + + + The integer values assigned match those specified in the Visual C++ + project file for each setting. + > - - Precompiled header file use not specified. - + + Precompiled header file use not specified. + - - Don't use a precompiled header file. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yc. - + + Don't use a precompiled header file. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yc. + - - Create precompiled header file. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yc. - + + Create precompiled header file. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yc. + - - Automatically create precompiled header file if necessary. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yc. - + + Automatically create precompiled header file if necessary. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yc. + - - Use a precompiled header file. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yu. - + + Use a precompiled header file. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yu. + - - Represents a single mapping from URL project path to physical project - path. - + + Represents a single mapping from URL project path to physical project + path. + - - Specifies the URL of the project file, or a URL fragment to match. - - - The URL of the project file or the URL fragment to match. - + + Specifies the URL of the project file, or a URL fragment to match. + + + The URL of the project file or the URL fragment to match. + - - Specifies the actual path to the project file, or the path fragment - to replace. - - - The actual path to the project file or the path fragment to replace - the URL fragment with. - + + Specifies the actual path to the project file, or the path fragment + to replace. + + + The actual path to the project file or the path fragment to replace + the URL fragment with. + - - Specifies whether the mapping is case-sensitive or not. - - - A boolean flag representing the case-sensitivity of the mapping. Default is . - + + Specifies whether the mapping is case-sensitive or not. + + + A boolean flag representing the case-sensitivity of the mapping. Default is . + - - Indicates if the URL of the project file should be mapped. - - - if the URL of the project file should be - mapped; otherwise, . - + + Indicates if the URL of the project file should be mapped. + + + if the URL of the project file should be + mapped; otherwise, . + - - Indicates if the URL of the project file should not be mapped. - - - if the URL of the project file should not - be mapped; otherwise, . - + + Indicates if the URL of the project file should not be mapped. + + + if the URL of the project file should not + be mapped; otherwise, . + @@ -721,11 +576,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -758,10 +613,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -782,40 +637,40 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - - Gets the output path of the reference, without taking the "copy local" - setting into consideration. - - The solution configuration that is built. - - The full output path of the reference. - + + + Gets the output path of the reference, without taking the "copy local" + setting into consideration. + + The solution configuration that is built. + + The full output path of the reference. + - + Gets the complete set of output files of the reference for the specified configuration. @@ -828,36 +683,36 @@ the output directory. - - - Gets the complete set of assemblies that need to be referenced when - a project references this component. - - The solution configuration that is built. - - The complete set of assemblies that need to be referenced when a - project references this component. - + + + Gets the complete set of assemblies that need to be referenced when + a project references this component. + + The solution configuration that is built. + + The complete set of assemblies that need to be referenced when a + project references this component. + - - - Gets the timestamp of the reference. - - The solution configuration that is built. - - The timestamp of the reference. - + + + Gets the timestamp of the reference. + + The solution configuration that is built. + + The timestamp of the reference. + - - - Gets a value indicating whether the reference is managed for the - specified configuration. - - The solution configuration that is built. - - if the reference is managed for the - specified configuration; otherwise, . - + + + Gets a value indicating whether the reference is managed for the + specified configuration. + + The solution configuration that is built. + + if the reference is managed for the + specified configuration; otherwise, . + @@ -872,14 +727,14 @@ - - Logs a message with the given priority. - - The message priority at which the specified message is to be logged. - The message to be logged. - - The actual logging is delegated to the underlying task. - + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + The actual logging is delegated to the underlying task. + @@ -893,39 +748,39 @@ - - Gets a value indicating whether the output file(s) of this reference - should be copied locally. - - - if the output file(s) of this reference - should be copied locally; otherwise, . - + + Gets a value indicating whether the output file(s) of this reference + should be copied locally. + + + if the output file(s) of this reference + should be copied locally; otherwise, . + - - Gets a value indicating whether this reference represents a system - assembly. - - - if this reference represents a system - assembly; otherwise, . - + + Gets a value indicating whether this reference represents a system + assembly. + + + if this reference represents a system + assembly; otherwise, . + - - Gets the project in which the reference is defined. - + + Gets the project in which the reference is defined. + - - - Gets a value indicating whether the reference is managed for the - specified configuration. - - The build configuration of the reference. - - . - + + + Gets a value indicating whether the reference is managed for the + specified configuration. + + The build configuration of the reference. + + . + @@ -940,17 +795,17 @@ the output directory. - - - Gets the path of the reference, without taking the "copy local" - setting into consideration. - - The solution configuration that is built. - - The output path of the reference. - + + + Gets the path of the reference, without taking the "copy local" + setting into consideration. + + The solution configuration that is built. + + The output path of the reference. + - + Gets the complete set of output files for the referenced project. @@ -962,56 +817,56 @@ the output directory. - - - Gets the complete set of assemblies that need to be referenced when - a project references this component. - - The solution configuration that is built. - - The complete set of assemblies that need to be referenced when a - project references this component. - + + + Gets the complete set of assemblies that need to be referenced when + a project references this component. + + The solution configuration that is built. + + The complete set of assemblies that need to be referenced when a + project references this component. + - - - Gets the timestamp of the reference. - - The solution configuration that is built. - - The timestamp of the reference. - + + + Gets the timestamp of the reference. + + The solution configuration that is built. + + The timestamp of the reference. + - - Resolves an assembly reference. - - - The full path to the resolved assembly, or - if the assembly reference could not be resolved. - + + Resolves an assembly reference. + + + The full path to the resolved assembly, or + if the assembly reference could not be resolved. + - - Searches for the given file in all paths in . - - The folders to search. - The file to search for. - - The path of the assembly if was found - in ; otherwise, . - + + Searches for the given file in all paths in . + + The folders to search. + The file to search for. + + The path of the assembly if was found + in ; otherwise, . + - - Resolves an assembly reference in the framework assembly directory - of the target framework. - - The file to search for. - - The full path of the assembly file if the assembly could be located - in the framework assembly directory; otherwise, . - + + Resolves an assembly reference in the framework assembly directory + of the target framework. + + The file to search for. + + The full path of the assembly file if the assembly could be located + in the framework assembly directory; otherwise, . + @@ -1025,68 +880,223 @@ - - Gets a value indicating whether the output file(s) of this reference - should be copied locally. - - - if the output file(s) of this reference - should be copied locally; otherwise, . - + + Gets a value indicating whether the output file(s) of this reference + should be copied locally. + + + if the output file(s) of this reference + should be copied locally; otherwise, . + - - Gets a value indicating whether this reference represents a system - assembly. - - - if this reference represents a system - assembly; otherwise, . - + + Gets a value indicating whether this reference represents a system + assembly. + + + if this reference represents a system + assembly; otherwise, . + - + - Base class for all project classes. + Initializes a new instance of the + class with the given . + The project of the configuration. - + - Initializes a new instance of the class. + Expands the given macro. + The macro to expand. + + The expanded macro. + + + The macro is not supported. + -or- + The macro is not implemented. + -or- + The macro cannot be expanded. + + + Expansion of a given macro is not yet implemented. + - + - Gets the complete set of output files for the project. + Is called each time a regular expression match is found during a + operation. + + The resulting from a single regular expression match during a . + + The expanded . + + + + + Gets the project. + + + + + Gets the name of the configuration. + + + + + Get the directory in which intermediate build output will be stored + for this configuration. + + + + This is a directory relative to the project directory named + obj\<configuration name>. + + + .resx and .licx files will only be recompiled if the + compiled resource files in the are not + uptodate. + + + + + + Gets the output directory. + + + + + Gets the path for the output file. + + + + + Gets the path in which the output file will be created before its + copied to the actual output path. + + + + + Get the path of the output directory relative to the project + directory. + + + + + Gets the platform that the configuration targets. + + + The platform targeted by the configuration. + + + + + Gets the set of output files that is specific to the project configuration. - The solution configuration that is built. - The set of output files to be updated. + + The set of output files that is specific to the project + configuration. + The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. - + - Gets a value indicating whether building the project for the specified - build configuration results in managed output. + Initializes a new instance of the class. - The build configuration. - - if the project output for the given build - configuration is managed; otherwise, . - + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class with the specified initial capacity. + + The appropriate number of entries that the can initially contain. + + + + Gets the platform that the configuration targets. + + + The platform targeted by the configuration. + + + + + Gets the path in which the output file will be created before its + copied to the actual output path. + + + + + Gets a value indicating whether to register the project output for + use with COM components. + + + if the project output should be registered + for use with COM components; otherwise, . + + + + + Base class for all project classes. + + + + + Initializes a new instance of the class. + + + + + Gets the complete set of output files for the project configuration + matching the specified solution configuration. + + The solution configuration that is built. + The set of output files to be updated. + + + The key of the case-insensitive is the + full path of the output file and the value is the path relative to + the output directory. + + + If the project is not configured to be built for the specified + solution configuration, then no output files are added. + + + + + + Gets a value indicating whether building the project for the specified + build configuration results in managed output. + + The build configuration. + + if the project output for the given build + configuration is managed; otherwise, . + - - Expands the given macro. - - The macro to expand. - - The expanded macro or if the macro is not - supported. - + + Expands the given macro. + + The macro to expand. + + The expanded macro or if the macro is not + supported. + @@ -1116,15 +1126,15 @@ The XML fragment does not represent a valid project (for this ). - - - Prepares the project for being built. - - The solution configuration that is built. - - The default implementation will ensure that none of the output files - are marked read-only. - + + + Prepares the project for being built. + + The solution configuration that is built. + + The default implementation will ensure that none of the output files + are marked read-only. + @@ -1136,14 +1146,14 @@ The in which context the operation will be performed. - - Logs a message with the given priority. - - The message priority at which the specified message is to be logged. - The message to be logged. - - The actual logging is delegated to the underlying task. - + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to be logged. + + The actual logging is delegated to the underlying task. + @@ -1157,40 +1167,40 @@ - - Gets the Visual Studio product version of the project. - - - The Visual Studio product version of the project. - + + Gets the Visual Studio product version of the project. + + + The Visual Studio product version of the project. + - - Gets the name of the VS.NET project. - + + Gets the name of the VS.NET project. + - - Gets the type of the project. - - - The type of the project. - + + Gets the type of the project. + + + The type of the project. + - - Gets the path of the VS.NET project. - + + Gets the path of the VS.NET project. + - - Gets the directory containing the VS.NET project. - + + Gets the directory containing the VS.NET project. + - - Get the location of the project. - + + Get the location of the project. + @@ -1209,35 +1219,25 @@ - - Gets or sets the unique identifier of the VS.NET project. - + + Gets or sets the unique identifier of the VS.NET project. + - - Gets a case-insensitive list of project configurations. - - - The key of the is the name of the - configuration and the value is a - instance. - + + Gets a list of all configurations defined in the project. + - - Gets a list of project configurations that can be build. - - - - Project configurations that are not in this list do not need to be - compiled (unless the project was not loaded through a solution file). - - - The key of the is the name of the - configuration and the value is a - instance. - - + + Gets a list of project configurations that can be build. + + + + Project configurations that are not in this list do not need to be + compiled. + + @@ -1253,36 +1253,55 @@ - - Gets the set of projects that the project depends on. - - - The set of projects that the project depends on. - + + Gets the set of projects that the project depends on. + + + The set of projects that the project depends on. + - - TODO: refactor this !!! - + + TODO: refactor this !!! + - + + + Gets a value indicating whether building the project for the specified + build configuration results in managed output. + + The solution configuration that is built. + + . + + + + + Prepares the project for being built. + + The solution configuration that is built. + + Ensures the configuration-level object directory exists and ensures + that none of the output files are marked read-only. + + + - Gets a value indicating whether building the project for the specified - build configuration results in managed output. - - The solution configuration that is built. - - . - - - - - Prepares the project for being built. + Gets the complete set of output files for the project configuration + matching the specified solution configuration. The solution configuration that is built. + The set of output files to be updated. - Ensures the configuration-level object directory exists and ensures - that none of the output files are marked read-only. + + The key of the case-insensitive is the + full path of the output file and the value is the path relative to + the output directory. + + + If the project is not configured to be built for the specified + solution configuration, then no output files are added. + @@ -1312,35 +1331,37 @@ - - Gets the absolute path of the type library for the project - output. - - The configuration to build. - - The absolute path of the type library for the project output. - + + Gets the absolute path of the type library for the project + output. + + The configuration to build. + + The absolute path of the type library for the project output. + - - - Generates a type library for the specified assembly, registers it. - - The project configuration that is built. - The path of the type library to generate. - - The regasm tool is used to generate the type library. - + + + Generates a type library for the specified assembly, registers it. + + The project configuration that is built. + The solution configuration that is built. + The path of the type library to generate. + + The regasm tool is used to generate the type library. + - - - Unregister a type library for the specified assembly, and the types - in that assembly. - - The project configuration that is built. - - The regasm tool is used to unregister the type library, and - remove the COM registration for types in the specified assembly. - + + + Unregister a type library for the specified assembly, and the types + in that assembly. + + The project configuration that is built. + The solution configuration that is built. + + The regasm tool is used to unregister the type library, and + remove the COM registration for types in the specified assembly. + @@ -1405,12 +1426,12 @@ - - Gets the default file extension of sources for this project. - - - The default file extension of sources for this project. - + + Gets the default file extension of sources for this project. + + + The default file extension of sources for this project. + @@ -1428,29 +1449,29 @@ - - Gets the name of the VS.NET project. - + + Gets the name of the VS.NET project. + - - Gets the path of the VS.NET project. - + + Gets the path of the VS.NET project. + - - Gets the directory containing the VS.NET project. - + + Gets the directory containing the VS.NET project. + - - Get the location of the project. - + + Get the location of the project. + - - Gets or sets the unique identifier of the VS.NET project. - + + Gets or sets the unique identifier of the VS.NET project. + @@ -1466,15 +1487,15 @@ A . - - Gets the intermediate build directory in which the satellite - assembly is built. - - The project build configuration. - - The intermediate build directory in which the satellite assembly - is built. - + + Gets the intermediate build directory in which the satellite + assembly is built. + + The project build configuration. + + The intermediate build directory in which the satellite assembly + is built. + @@ -1489,15 +1510,15 @@ - - Gets path of the satellite assembly, relative to the output - directory. - - The project settings. - - The path of the satellite assembly, relative to the output - directory. - + + Gets path of the satellite assembly, relative to the output + directory. + + The project settings. + + The path of the satellite assembly, relative to the output + directory. + @@ -1506,9 +1527,9 @@ - - Gets the set of localized resources. - + + Gets the set of localized resources. + @@ -1594,157 +1615,25 @@ - - Gets the type of the project. - - - The type of the project. - + + Gets the type of the project. + + + The type of the project. + - - Gets the default file extension of sources for this project. - - - For C# projects, the default file extension is ".cs". - - - - - Initializes a new instance of the - class with the given . - - The project of the configuration. - - - - Expands the given macro. - - The macro to expand. - - The expanded macro. - - - The macro is not supported. - -or- - The macro is not implemented. - -or- - The macro cannot be expanded. - - - Expansion of a given macro is not yet implemented. - - - - - Is called each time a regular expression match is found during a - operation. - - The resulting from a single regular expression match during a . - - The expanded . - - - - - Gets the project. - - - - - Gets the name of the configuration. - - - - - Get the directory in which intermediate build output will be stored - for this configuration. - - - - This is a directory relative to the project directory named - obj\<configuration name>. - - - .resx and .licx files will only be recompiled if the - compiled resource files in the are not - uptodate. - - - - - - Gets the output directory. - - - - - Gets the path for the output file. - - - - - Gets the path in which the output file will be created before its - copied to the actual output path. - - - - - Get the path of the output directory relative to the project - directory. - - - - - Gets the platform that the configuration targets. - - - The platform targeted by the configuration. - - - - - Gets the set of output files that is specific to the project - configuration. - - - The set of output files that is specific to the project - configuration. - - - The key of the case-insensitive is the - full path of the output file and the value is the path relative to - the output directory. - - - - - Gets the platform that the configuration targets. - - - The platform targeted by the configuration. - - - - - Gets the path in which the output file will be created before its - copied to the actual output path. - - - - - Gets a value indicating whether to register the project output for - use with COM components. - - - if the project output should be registered - for use with COM components; otherwise, . - + + Gets the default file extension of sources for this project. + + + For C# projects, the default file extension is ".cs". + - - Supports grouping of individual projects, and treating them as a solution. - + + Supports grouping of individual projects, and treating them as a solution. + @@ -1774,15 +1663,15 @@ The product version is not supported. - - - Prepares the project for being built. - - The solution configuration that is built. - - Ensures the configuration-level object directory exists and ensures - that none of the output files are marked read-only. - + + + Prepares the project for being built. + + The solution configuration that is built. + + Ensures the configuration-level object directory exists and ensures + that none of the output files are marked read-only. + @@ -1840,112 +1729,112 @@ - - Gets the type of the project. - - - The type of the project. - + + Gets the type of the project. + + + The type of the project. + - - Gets the default file extension of sources for this project. - - - For J# projects, the default file extension is ".jsl". - + + Gets the default file extension of sources for this project. + + + For J# projects, the default file extension is ".jsl". + - - Resolves an assembly reference. - - - The full path to the resolved assembly, or - if the assembly reference could not be resolved. - - - - Visual Studio .NET uses the following search mechanism : - - - - - The project directory. - - - - - The directories specified in the "ReferencePath" property, - which is stored in the .USER file. - - - - - The .NET Framework directory (see KB306149) - - - - - - The directories specified under the following registry - keys: - - - - - HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders - - - - - HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders - - - - - HKLM\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders - - - - - HKCU\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders - - - - - Future versions of Visual Studio .NET will also check - in: - - - - - HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx - - - - - HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx - - - - - - - - The HintPath. - - - - + + Resolves an assembly reference. + + + The full path to the resolved assembly, or + if the assembly reference could not be resolved. + + + + Visual Studio .NET uses the following search mechanism : + + + + + The project directory. + + + + + The directories specified in the "ReferencePath" property, + which is stored in the .USER file. + + + + + The .NET Framework directory (see KB306149) + + + + + + The directories specified under the following registry + keys: + + + + + HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders + + + + + HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders + + + + + HKLM\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders + + + + + HKCU\SOFTWARE\Microsoft\VisualStudio\<major version>.<minor version>\AssemblyFolders + + + + + Future versions of Visual Studio .NET will also check + in: + + + + + HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx + + + + + HKCU\SOFTWARE\Microsoft\.NETFramework\AssemblyFoldersEx + + + + + + + + The HintPath. + + + + - - Gets the name of the referenced assembly. - - - The name of the referenced assembly, or if - the name could not be determined. - + + Gets the name of the referenced assembly. + + + The name of the referenced assembly, or if + the name could not be determined. + @@ -1964,39 +1853,39 @@ - - Indentifies the different output types of a managed project. - - - Visual Studio .NET does not support modules. - + + Indentifies the different output types of a managed project. + + + Visual Studio .NET does not support modules. + - - A class library. - + + A class library. + - - A console application. - + + A console application. + - - A Windows program. - + + A Windows program. + - - - Gets the output path of the reference, without taking the "copy local" - setting into consideration. - - The solution configuration that is built. - - The output path of the reference. - + + + Gets the output path of the reference, without taking the "copy local" + setting into consideration. + + The solution configuration that is built. + + The output path of the reference. + - + Gets the complete set of output files for the referenced project. @@ -2011,89 +1900,89 @@ the output directory. - - - Gets the complete set of assemblies that need to be referenced when - a project references this project. - - The solution configuration that is built. - - The complete set of assemblies that need to be referenced when a - project references this project. - - - - Apparently, there's some hack in VB.NET that allows a type to be used - that derives from a type in an assembly that is not referenced by the - project. - - - When building from the command line (using vbc), the following error - is reported "error BC30007: Reference required to assembly 'X' - containing the base class 'X'. Add one to your project". - - - Somehow VB.NET can workaround this issue, without actually adding a - reference to that assembly. I verified this with both VS.NET 2003 and - VS.NET 2005. - - - For now, we have no other option than to return all assembly - references of the referenced project if the parent is a VB.NET - project. - - + + + Gets the complete set of assemblies that need to be referenced when + a project references this project. + + The solution configuration that is built. + + The complete set of assemblies that need to be referenced when a + project references this project. + + + + Apparently, there's some hack in VB.NET that allows a type to be used + that derives from a type in an assembly that is not referenced by the + project. + + + When building from the command line (using vbc), the following error + is reported "error BC30007: Reference required to assembly 'X' + containing the base class 'X'. Add one to your project". + + + Somehow VB.NET can workaround this issue, without actually adding a + reference to that assembly. I verified this with both VS.NET 2003 and + VS.NET 2005. + + + For now, we have no other option than to return all assembly + references of the referenced project if the parent is a VB.NET + project. + + - - - Gets the timestamp of the reference. - - The solution configuration that is built. - - The timestamp of the reference. - + + + Gets the timestamp of the reference. + + The solution configuration that is built. + + The timestamp of the reference. + - - Gets a value indicating whether the output file(s) of this reference - should be copied locally. - - - if the output file(s) of this reference - should be copied locally; otherwise, . - + + Gets a value indicating whether the output file(s) of this reference + should be copied locally. + + + if the output file(s) of this reference + should be copied locally; otherwise, . + - - Gets a value indicating whether this reference represents a system - assembly. - - - as a project by itself can never be a - system assembly. - + + Gets a value indicating whether this reference represents a system + assembly. + + + as a project by itself can never be a + system assembly. + - - - Gets a value indicating whether the reference is managed for the - specified configuration. - - The solution configuration that is built. - - . - + + + Gets a value indicating whether the reference is managed for the + specified configuration. + + The solution configuration that is built. + + . + - - - Gets the path of the reference, without taking the "copy local" - setting into consideration. - - The solution configuration that is built. - - The output path of the reference. - + + + Gets the path of the reference, without taking the "copy local" + setting into consideration. + + The solution configuration that is built. + + The output path of the reference. + - + Gets the complete set of output files for the referenced project. @@ -2105,53 +1994,53 @@ the output directory. - - - Gets the complete set of assemblies that need to be referenced when - a project references this component. - - The solution configuration that is built. - - The complete set of assemblies that need to be referenced when a - project references this component. - + + + Gets the complete set of assemblies that need to be referenced when + a project references this component. + + The solution configuration that is built. + + The complete set of assemblies that need to be referenced when a + project references this component. + - - - Gets the timestamp of the reference. - - The solution configuration that is built. - - The timestamp of the reference. - + + + Gets the timestamp of the reference. + + The solution configuration that is built. + + The timestamp of the reference. + - - Removes wrapper assembly from build directory, if wrapper assembly - no longer exists in output directory or is not in sync with build - directory, to force rebuild. - - The project configuration. + + Removes wrapper assembly from build directory, if wrapper assembly + no longer exists in output directory or is not in sync with build + directory, to force rebuild. + + The project configuration. - - Gets a value indicating whether the output file(s) of this reference - should be copied locally. - - - if the reference wraps a Primary Interop - Assembly; otherwise, . - + + Gets a value indicating whether the output file(s) of this reference + should be copied locally. + + + if the reference wraps a Primary Interop + Assembly; otherwise, . + - - Gets a value indicating whether this reference represents a system - assembly. - - - as none of the system assemblies are wrappers - or Primary Interop Assemblies anyway. - + + Gets a value indicating whether this reference represents a system + assembly. + + + as none of the system assemblies are wrappers + or Primary Interop Assemblies anyway. + @@ -2164,74 +2053,74 @@ - - Gets the path of the wrapper assembly. - - - The path of the wrapper assembly. - - - The wrapper assembly is stored in the object directory of the - project. - + + Gets the path of the wrapper assembly. + + + The path of the wrapper assembly. + + + The wrapper assembly is stored in the object directory of the + project. + - - Gets a value indicating whether the wrapper assembly has already been - created. - + + Gets a value indicating whether the wrapper assembly has already been + created. + - - Gets the path of the Primary Interop Assembly. - - - The path of the Primary Interop Assembly, or - if not available. - + + Gets the path of the Primary Interop Assembly. + + + The path of the Primary Interop Assembly, or + if not available. + - - Gets the hex version of the type library as defined in the definition - of the reference. - - - The hex version of the type library. - + + Gets the hex version of the type library as defined in the definition + of the reference. + + + The hex version of the type library. + - - Gets the GUID of the type library as defined in the definition - of the reference. - - - The GUID of the type library. - + + Gets the GUID of the type library as defined in the definition + of the reference. + + + The GUID of the type library. + - - Gets the locale of the type library in hex notation. - - - The locale of the type library. - + + Gets the locale of the type library in hex notation. + + + The locale of the type library. + - - Gets the name of the type library. - - - The name of the type library. - + + Gets the name of the type library. + + + The name of the type library. + - - Gets the name of the referenced assembly. - - - The name of the referenced assembly, or if - the name could not be determined. - + + Gets the name of the referenced assembly. + + + The name of the referenced assembly, or if + the name could not be determined. + @@ -2244,25 +2133,25 @@ - - Gets the path of the wrapper assembly. - - - The path of the wrapper assembly. - - - The wrapper assembly is stored in the object directory of the - project. - + + Gets the path of the wrapper assembly. + + + The path of the wrapper assembly. + + + The wrapper assembly is stored in the object directory of the + project. + - - Gets the path of the Primary Interop Assembly. - - - The path of the Primary Interop Assembly, or - if not available. - + + Gets the path of the Primary Interop Assembly. + + + The path of the Primary Interop Assembly, or + if not available. + @@ -2283,91 +2172,101 @@ - - Gets the GUID of the type library as defined in the definition - of the reference. - - - The GUID of the type library. - + + Gets the GUID of the type library as defined in the definition + of the reference. + + + The GUID of the type library. + - - Gets the locale of the type library in hex notation. - - - The locale of the type library. - + + Gets the locale of the type library in hex notation. + + + The locale of the type library. + - - Specifies the type of the project. - + + Specifies the type of the project. + - - A Visual Basic.NET project. - + + A Visual Basic.NET project. + - - A Visual C# project. - + + A Visual C# project. + - - A Visual C++ project. - + + A Visual C++ project. + - - A Visual J# project. - + + A Visual J# project. + + + + + MSBuild project. + - - Specifies the result of the build. - + + Specifies the result of the build. + - - The build failed. - + + The build failed. + - - The build succeeded. - + + The build succeeded. + - - The build succeeded and the output was updated. - + + The build succeeded and the output was updated. + - - Visual Studio.NET 2002 - + + Visual Studio.NET 2002 + - - Visual Studio.NET 2003 - + + Visual Studio.NET 2003 + + + + + Visual Studio 2005 + - - Indentifies the physical location of a managed project. - + + Indentifies the physical location of a managed project. + - - A local project. - + + A local project. + - - A web project. - + + A web project. + @@ -2433,11 +2332,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -2470,16 +2369,16 @@ The to remove from the collection. - - Remove items with the specified guid from the collection. - - The guid of the project to remove from the collection. + + Remove items with the specified guid from the collection. + + The guid of the project to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -2503,35 +2402,216 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Gets or sets the in memory representation of the project. + + + The in memory representation of the project, or + if the project is not (yet) loaded. + + + This property will always be for + projects that are not supported. + + + + + Return a mapping between the configurations defined in the + solution file and the project build configurations. + + + Mapping between configurations defined in the solution file + and the project build configurations, or + if the project is not defined in a solution file. + + + This mapping only includes project build configurations that + are configured to be built for a given solution configuration. + + + - Gets the current element in the collection. + Contains a collection of elements. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified instance. + + + + + Initializes a new instance of the class + with the specified array of instances. + + + + + Adds a to the end of the collection. + + The to be added to the end of the collection. - The current element in the collection. + The position into which the new element was inserted. - + - Factory class for VS.NET projects. + Adds the elements of a array to the end of the collection. + + The array of elements to be added to the end of the collection. + + + + Adds the elements of a to the end of the collection. + + The to be added to the end of the collection. + + + + Determines whether a is in the collection. + + The to locate in the collection. + + if is found in the + collection; otherwise, . + + + + + Determines whether a with the specified + GUID is in the collection, using a case-insensitive lookup. + + The GUID to locate in the collection. + + if a with GUID + is found in the collection; otherwise, + . + + + + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Retrieves the index of a specified object in the collection. + + The object for which the index is returned. + + The index of the specified . If the is not currently a member of the collection, it returns -1. + + + + + Inserts a into the collection at the specified index. + + The zero-based index at which should be inserted. + The to insert. + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Removes a member from the collection. + + The to remove from the collection. + + + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. + + + + Gets the with the specified GUID. + + The GUID of the to get. + + Performs a case-insensitive lookup. + + + + + Enumerates the elements of a . - + + + Initializes a new instance of the class + with the specified . + + The collection that should be enumerated. + + + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + + + + + Sets the enumerator to its initial position, which is before the + first element in the collection. + + + + + Gets the current element in the collection. + + + The current element in the collection. + + + + + Factory class for VS.NET projects. + + + Initializes a new instance of the class. @@ -2598,38 +2678,38 @@ - - Gets the .ico file to use as application icon. - - - The .ico file to use as application icon, or - if no application icon should be used. - + + Gets the .ico file to use as application icon. + + + The .ico file to use as application icon, or + if no application icon should be used. + - - Gets the key file to use to sign ActiveX/COM wrappers. - - - The path of the key file to use to sign ActiveX/COM wrappers, - relative to the project root directory, or - if the wrapper assembly should not be signed using a key file. - + + Gets the key file to use to sign ActiveX/COM wrappers. + + + The path of the key file to use to sign ActiveX/COM wrappers, + relative to the project root directory, or + if the wrapper assembly should not be signed using a key file. + - - Gets the key name to use to sign ActiveX/COM wrappers. - - - The name of the key container to use to sign ActiveX/COM wrappers, - or if the wrapper assembly should not be - signed using a key container. - + + Gets the key name to use to sign ActiveX/COM wrappers. + + + The name of the key container to use to sign ActiveX/COM wrappers, + or if the wrapper assembly should not be + signed using a key container. + - - Gets the output type of this project. - + + Gets the output type of this project. + @@ -2639,20 +2719,20 @@ - - Contains commands to be run before a build takes place. - - - Valid commands are those in a .bat file. For more info see MSDN. - + + Contains commands to be run before a build takes place. + + + Valid commands are those in a .bat file. For more info see MSDN. + - - Contains commands to be ran after a build has taken place. - - - Valid commands are those in a .bat file. For more info see MSDN. - + + Contains commands to be ran after a build has taken place. + + + Valid commands are those in a .bat file. For more info see MSDN. + @@ -2667,15 +2747,15 @@ - - Gets the file name of the assembly with the given assembly name. - - The assembly name of the assembly of which the file name should be returned. - - The file name of the assembly with the given assembly name. - + + Gets the file name of the assembly with the given assembly name. + + The assembly name of the assembly of which the file name should be returned. + + The file name of the assembly with the given assembly name. + - + Compiles the resource file. @@ -2684,7 +2764,7 @@ A representing the compiled resource file. - + Returns a representing the compiled resource file. @@ -2714,18 +2794,18 @@ - - Gets a value indicating whether the resource is in fact a ResX file. - - - if the resource is a ResX file; otherwise, - . - + + Gets a value indicating whether the resource is in fact a ResX file. + + + if the resource is a ResX file; otherwise, + . + - - Factory class for VS.NET solutions. - + + Factory class for VS.NET solutions. + @@ -2822,25 +2902,25 @@ - - Gets the type of the project. - - - The type of the project. - + + Gets the type of the project. + + + The type of the project. + - - Gets the default file extension of sources for this project. - - - For VB projects, the default file extension is ".vb". - + + Gets the default file extension of sources for this project. + + + For VB projects, the default file extension is ".vb". + - - A mapping from properties in the .vcproj file to command line arguments. - + + A mapping from properties in the .vcproj file to command line arguments. + @@ -2849,19 +2929,19 @@ - - Gets the argument string corresponding with a configuration property - named with value . - An ignore mask can be used to eliminate some arguments from the search. - - The name of the configuration property. - The value of the configuration property. - Specify any groups that needs to be ignored. - - The argument string corresponding with a configuration property - named with value , - or if no corresponding argument exists. - + + Gets the argument string corresponding with a configuration property + named with value . + An ignore mask can be used to eliminate some arguments from the search. + + The name of the configuration property. + The value of the configuration property. + Specify any groups that needs to be ignored. + + The argument string corresponding with a configuration property + named with value , + or if no corresponding argument exists. + @@ -3059,55 +3139,55 @@ - - Gets the name of the command-line argument. - - - The name of the command-line argument. - + + Gets the name of the command-line argument. + + + The name of the command-line argument. + - - Represents a command-line arguments of which the trailing backslashes - in the value should be duplicated. - + + Represents a command-line arguments of which the trailing backslashes + in the value should be duplicated. + - - Represents a command-line argument of which the value should be - quoted, and of which trailing backslahes should be duplicated. - + + Represents a command-line argument of which the value should be + quoted, and of which trailing backslahes should be duplicated. + - - Gets the string that the configuration setting should match in - order for the command line argument to be set. - + + Gets the string that the configuration setting should match in + order for the command line argument to be set. + - - Allow us to assign an argument to a specific group. - + + Allow us to assign an argument to a specific group. + - - The argument is not assigned to any group. - + + The argument is not assigned to any group. + - - The argument is ignored when the optimization level is set to - Minimum Size (1) or Maximum Size (2). - + + The argument is ignored when the optimization level is set to + Minimum Size (1) or Maximum Size (2). + - - Resolves an assembly reference. - - - The full path to the resolved assembly, or - if the assembly reference could not be resolved. - + + Resolves an assembly reference. + + + The full path to the resolved assembly, or + if the assembly reference could not be resolved. + @@ -3122,19 +3202,19 @@ Expansion of a given macro is not yet implemented. - - Gets the name of the referenced assembly. - - - The name of the referenced assembly, or if - the name could not be determined. - + + Gets the name of the referenced assembly. + + + The name of the referenced assembly, or if + the name could not be determined. + - - A single build configuration for a Visual C++ project or for a specific - file in the project. - + + A single build configuration for a Visual C++ project or for a specific + file in the project. + @@ -3185,69 +3265,69 @@ - - Gets the intermediate directory, specified relative to project - directory. - - - The intermediate directory, specified relative to project directory. - + + Gets the intermediate directory, specified relative to project + directory. + + + The intermediate directory, specified relative to project directory. + - - Gets a comma-separated list of directories to scan for assembly - references. - - - A comma-separated list of directories to scan for assembly - references, or if no additional directories - should scanned. - + + Gets a comma-separated list of directories to scan for assembly + references. + + + A comma-separated list of directories to scan for assembly + references, or if no additional directories + should scanned. + - - Gets the name of the configuration, including the platform it - targets. - - - Tthe name of the configuration, including the platform it targets. - + + Gets the name of the configuration, including the platform it + targets. + + + Tthe name of the configuration, including the platform it targets. + - - Gets the output directory. - + + Gets the output directory. + - - Gets the path in which the output file will be created before its - copied to the actual output path. - - - For Visual C++ projects, the output file will be immediately - created in the output path. - + + Gets the path in which the output file will be created before its + copied to the actual output path. + + + For Visual C++ projects, the output file will be immediately + created in the output path. + - - Gets the name of the configuration. - - - The name of the configuration. - + + Gets the name of the configuration. + + + The name of the configuration. + - - Gets the platform that the configuration targets. - - - The platform targeted by the configuration. - + + Gets the platform that the configuration targets. + + + The platform targeted by the configuration. + - - Represents the configuration of a file. - + + Represents the configuration of a file. + @@ -3274,7 +3354,7 @@ The value to return if setting is not defined in both the file and project configuration. The value of a setting for the specified tool, or - if the setting is not defined in + if the setting is not defined in both the file and project configuration. @@ -3289,75 +3369,75 @@ - - Gets a value indication whether the file should be excluded from - the build for this configuration. - - - if the file should be excluded from the - build for this configuration; otherwise, . - + + Gets a value indication whether the file should be excluded from + the build for this configuration. + + + if the file should be excluded from the + build for this configuration; otherwise, . + - - Gets the relative path of the file. - - - The path of the file relative to the project directory. - + + Gets the relative path of the file. + + + The path of the file relative to the project directory. + - - Get the path of the output directory relative to the project - directory. - + + Get the path of the output directory relative to the project + directory. + - - Gets the intermediate directory, specified relative to project - directory. - - - The intermediate directory, specified relative to project directory. - + + Gets the intermediate directory, specified relative to project + directory. + + + The intermediate directory, specified relative to project directory. + - - Gets the path for the output file. - - - The path for the output file, or if there's - no output file for this configuration. - + + Gets the path for the output file. + + + The path for the output file, or if there's + no output file for this configuration. + - - Gets a comma-separated list of directories to scan for assembly - references. - - - A comma-separated list of directories to scan for assembly - references, or if no additional directories - should scanned. - + + Gets a comma-separated list of directories to scan for assembly + references. + + + A comma-separated list of directories to scan for assembly + references, or if no additional directories + should scanned. + - - Visual C++ project. - + + Visual C++ project. + - - - Gets a value indicating whether building the project for the specified - build configuration results in managed output. - - The solution configuration that is built. - - if the project output for the specified build - configuration is either a Dynamic Library (dll) or an Application - (exe), and Managed Extensions are enabled; otherwise, - . - + + + Gets a value indicating whether building the project for the specified + build configuration results in managed output. + + The solution configuration that is built. + + if the project output for the specified build + configuration is either a Dynamic Library (dll) or an Application + (exe), and Managed Extensions are enabled; otherwise, + . + @@ -3388,65 +3468,65 @@ - - Expands the given macro. - - The macro to expand. - - The expanded macro or if the macro is not - supported. - + + Expands the given macro. + + The macro to expand. + + The expanded macro or if the macro is not + supported. + - - Build resource files for the given configuration. - - The resource files to build. - The project configuration. - The build configuration. - - TODO: refactor this as we should always get only one element in the - list. Each res file should be built - with its own file configuration. - + + Build resource files for the given configuration. + + The resource files to build. + The project configuration. + The build configuration. + + TODO: refactor this as we should always get only one element in the + list. Each res file should be built + with its own file configuration. + - - Build Interface Definition Language files for the given - configuration. - - The IDL files to build. - The project configuration. - The build configuration. - - TODO: refactor this as we should always get only one element in the - list. Each IDL file should be built - with its own file configuration. - + + Build Interface Definition Language files for the given + configuration. + + The IDL files to build. + The project configuration. + The build configuration. + + TODO: refactor this as we should always get only one element in the + list. Each IDL file should be built + with its own file configuration. + - - Merges the specified tool setting of - with . - - - The merge is suppressed when the flag $(noinherit) is defined in - . - + + Merges the specified tool setting of + with . + + + The merge is suppressed when the flag $(noinherit) is defined in + . + - - Gets the absolute path to the object file or directory. - - The build configuration - - The absolute path to the object file or directory, or - - - We use an absolute path for the object file, otherwise - <cl> assumes a location relative to the output - directory - not the project directory. - + + Gets the absolute path to the object file or directory. + + The build configuration + + The absolute path to the object file or directory, or + + + We use an absolute path for the object file, otherwise + <cl> assumes a location relative to the output + directory - not the project directory. + @@ -3476,10 +3556,10 @@ - - Removes leading and trailing quotes from the specified path. - - The path to clean. + + Removes leading and trailing quotes from the specified path. + + The path to clean. @@ -3514,27 +3594,27 @@ - - Gets the name of the Visual C++ project. - + + Gets the name of the Visual C++ project. + - - Gets the type of the project. - - - The type of the project. - + + Gets the type of the project. + + + The type of the project. + - - Gets the path of the Visual C++ project. - + + Gets the path of the Visual C++ project. + - - Gets the directory containing the VS.NET project. - + + Gets the directory containing the VS.NET project. + @@ -3548,24 +3628,24 @@ - - Get the directory in which intermediate build output that is not - specific to the build configuration will be stored. - - - This is a directory relative to the project directory, - named temp\. - + + Get the directory in which intermediate build output that is not + specific to the build configuration will be stored. + + + This is a directory relative to the project directory, + named temp\. + - - Gets or sets the unique identifier of the Visual C++ project. - + + Gets or sets the unique identifier of the Visual C++ project. + - - Represents a Visual C++ project configuration. - + + Represents a Visual C++ project configuration. + @@ -3587,15 +3667,15 @@ - - Gets the value of the specified attribute from the specified node. - - The node of which the attribute value should be retrieved. - The attribute of which the value should be returned. - - The value of the attribute with the specified name or - if the attribute does not exist or has no value. - + + Gets the value of the specified attribute from the specified node. + + The node of which the attribute value should be retrieved. + The attribute of which the value should be returned. + + The value of the attribute with the specified name or + if the attribute does not exist or has no value. + @@ -3606,106 +3686,106 @@ - - Holds list of files to link in the order in which they are defined - in the project file. - + + Holds list of files to link in the order in which they are defined + in the project file. + - - Holds the C++ sources for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the C++ source files for that - build configuration. - + + Holds the C++ sources for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the C++ source files for that + build configuration. + - - Holds the resources for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the resources files for that - build configuration. - + + Holds the resources for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the resources files for that + build configuration. + - - Holds the IDL files for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the IDL files for that build - configuration. - + + Holds the IDL files for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the IDL files for that build + configuration. + - - Tells the compiler which character set to use. - + + Tells the compiler which character set to use. + - - Gets a value indicating whether Managed Extensions for C++ are - enabled. - + + Gets a value indicating whether Managed Extensions for C++ are + enabled. + - - Gets a value indicating how MFC is used by the configuration. - + + Gets a value indicating how MFC is used by the configuration. + - - Gets a value indicating how ATL is used by the configuration. - + + Gets a value indicating how ATL is used by the configuration. + - - Gets the list of files to link in the order in which they are - defined in the project file. - + + Gets the list of files to link in the order in which they are + defined in the project file. + - - Holds the C++ sources for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the C++ source files for that - build configuration. - + + Holds the C++ sources for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the C++ source files for that + build configuration. + - - Gets the resources for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the resources files for that - build configuration. - + + Gets the resources for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the resources files for that + build configuration. + - - Get the IDL files for each build configuration. - - - The key of the hashtable is a build configuration, and the - value is an ArrayList holding the IDL files for that build - configuration. - + + Get the IDL files for each build configuration. + + + The key of the hashtable is a build configuration, and the + value is an ArrayList holding the IDL files for that build + configuration. + - - Gets the target path for usage in macro expansion. - - - The target path, or a zero-length string if there's no output file - for this configuration. - + + Gets the target path for usage in macro expansion. + + + The target path, or a zero-length string if there's no output file + for this configuration. + @@ -3725,69 +3805,69 @@ - - Get the path of the output directory relative to the project - directory. - + + Get the path of the output directory relative to the project + directory. + - - Gets the intermediate directory, specified relative to project - directory. - - - The intermediate directory, specified relative to project directory. - + + Gets the intermediate directory, specified relative to project + directory. + + + The intermediate directory, specified relative to project directory. + - - Gets the absolute path for the output file. - - - The absolute path for the output file, or - if there's no output file for this configuration. - + + Gets the absolute path for the output file. + + + The absolute path for the output file, or + if there's no output file for this configuration. + - - Gets a comma-separated list of directories to scan for assembly - references. - - - A comma-separated list of directories to scan for assembly - references, or if no additional directories - should scanned. - + + Gets a comma-separated list of directories to scan for assembly + references. + + + A comma-separated list of directories to scan for assembly + references, or if no additional directories + should scanned. + - - The type of output for a given configuration. - + + The type of output for a given configuration. + - - A Makefile. - + + A Makefile. + - - Application (.exe). - + + Application (.exe). + - - Dynamic Library (.dll). - + + Dynamic Library (.dll). + - - Static Library (.lib). - + + Static Library (.lib). + - - Utility. - + + Utility. + @@ -3800,24 +3880,24 @@ import library must be generated. - - - Gets a value indicating whether the reference is managed for the - specified configuration. - - The build configuration of the reference. - - if the reference is managed for the - specified configuration; otherwise, . - + + + Gets a value indicating whether the reference is managed for the + specified configuration. + + The build configuration of the reference. + + if the reference is managed for the + specified configuration; otherwise, . + - - Gets the name of the referenced assembly. - - - The name of the referenced assembly. - + + Gets the name of the referenced assembly. + + + The name of the referenced assembly. + @@ -3830,25 +3910,25 @@ - - Gets the path of the wrapper assembly. - - - The path of the wrapper assembly. - - - The wrapper assembly is stored in the object directory of the - project. - + + Gets the path of the wrapper assembly. + + + The path of the wrapper assembly. + + + The wrapper assembly is stored in the object directory of the + project. + - - Gets the path of the Primary Interop Assembly. - - - The path of the Primary Interop Assembly, or - if not available. - + + Gets the path of the Primary Interop Assembly. + + + The path of the Primary Interop Assembly, or + if not available. + @@ -3861,21 +3941,21 @@ The definition of the reference does not contain a "ControlVersion" attribute. - - Gets the GUID of the type library as defined in the definition - of the reference. - - - The GUID of the type library. - + + Gets the GUID of the type library as defined in the definition + of the reference. + + + The GUID of the type library. + - - Gets the locale of the type library in hex notation. - - - The locale of the type library. - + + Gets the locale of the type library in hex notation. + + + The locale of the type library. + diff --git a/build-support/tools/nant/bin/NAnt.VisualCppTasks.dll b/build-support/tools/nant/bin/NAnt.VisualCppTasks.dll index 4ca00adccf5fbef4f677ea92351a74e5fba33266..00a7100bd75f75126e2641009dd6db184eaa128d 100644 GIT binary patch delta 10987 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 delta 10769 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 KpLE$=X#O_~R9Y7R diff --git a/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml b/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml index d27da40f..876d46d3 100644 --- a/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml +++ b/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml @@ -5,24 +5,24 @@ - - Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler. - - - This task is intended for version 13.00.9466 of cl.exe. - - - Compiles helloworld.cpp for the Common Language Runtime. - - - - - - - ]]> - - + + Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler. + + + This task is intended for version 13.00.9466 of cl.exe. + + + Compiles helloworld.cpp for the Common Language Runtime. + + + + + + + ]]> + + @@ -30,77 +30,77 @@ - - Compiles the sources. - + + Compiles the sources. + - - Determines if the sources need to be compiled. - + + Determines if the sources need to be compiled. + - - Determines whether the precompiled header file is up-to-date. - - - if no precompiled header file was specified; - otherwise, . - - - In order to determine accurately whether the precompile header file - is up-to-date, we'd need scan all the header files that are pulled - in. As this is not implemented right now, its safer to always - recompile. - + + Determines whether the precompiled header file is up-to-date. + + + if no precompiled header file was specified; + otherwise, . + + + In order to determine accurately whether the precompile header file + is up-to-date, we'd need scan all the header files that are pulled + in. As this is not implemented right now, its safer to always + recompile. + - - Determines whether any file that are includes in the specified - source file has been updated after the obj was compiled. - - The source file to check. - The last write time of the compiled obj. - - The full path to the include file that was modified after the obj - was compiled, or if no include files were - modified since the obj was compiled. - - - - To determine what includes are defined in a source file, conditional - directives are not honored. - - - If a given include cannot be resolved to an existing file, then - it will be considered stable. - - + + Determines whether any file that are includes in the specified + source file has been updated after the obj was compiled. + + The source file to check. + The last write time of the compiled obj. + + The full path to the include file that was modified after the obj + was compiled, or if no include files were + modified since the obj was compiled. + + + + To determine what includes are defined in a source file, conditional + directives are not honored. + + + If a given include cannot be resolved to an existing file, then + it will be considered stable. + + - - Quotes an argument value and duplicates trailing backslahes. - - The argument value to quote. - - The quotes argument value. - + + Quotes an argument value and duplicates trailing backslahes. + + The argument value to quote. + + The quotes argument value. + - - Determines the file name of the OBJ file for the specified source - file. - - The source file for which the OBJ file should be determined. - The path of the object file. - - The file name of the OBJ file for the specified source file. - + + Determines the file name of the OBJ file for the specified source + file. + + The source file for which the OBJ file should be determined. + The path of the object file. + + The file name of the OBJ file for the specified source file. + - - Directory where all output files are placed. - + + Directory where all output files are placed. + @@ -123,244 +123,244 @@ - - Specifies whether Managed Extensions for C++ should be enabled. - The default is . - + + Specifies whether Managed Extensions for C++ should be enabled. + The default is . + - - Tells the compiler to use the specified character set. - + + Tells the compiler to use the specified character set. + - - Options to pass to the compiler. - + + Options to pass to the compiler. + - - The list of files to compile. - + + The list of files to compile. + - - The list of directories in which to search for include files. - + + The list of directories in which to search for include files. + - - Directories that the compiler will search to resolve file references - passed to the #using directive. - + + Directories that the compiler will search to resolve file references + passed to the #using directive. + - - Specifies metadata files to reference in this compilation as an - alternative to passing a file name to #using in source code. - + + Specifies metadata files to reference in this compilation as an + alternative to passing a file name to #using in source code. + - - Macro definitions to pass to cl.exe. - Each entry will generate a /D - + + Macro definitions to pass to cl.exe. + Each entry will generate a /D + - - Macro undefines (/U) to pass to cl.exe. - + + Macro undefines (/U) to pass to cl.exe. + - - A name to override the default object file name; can be either a file - or directory name. The default is the output directory. - + + A name to override the default object file name; can be either a file + or directory name. The default is the output directory. + - - A name for the compiler-generated PDB file; can be either a file or - directory name. The default is the output directory. - + + A name for the compiler-generated PDB file; can be either a file or + directory name. The default is the output directory. + - - Gets the filename of the external program to start. - - The filename of the external program. + + Gets the filename of the external program to start. + + The filename of the external program. - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Defines the supported modes for the use of precompiled header files. - + + Defines the supported modes for the use of precompiled header files. + - - Create a precompiled header file. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yc. - + + Create a precompiled header file. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yc. + - - Automatically create a precompiled header file if necessary. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /YX. - + + Automatically create a precompiled header file if necessary. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /YX. + - - Use a (previously generated) precompiled header file. - - - For further information on the use of this option - see the Microsoft documentation on the C++ compiler flag /Yu. - + + Use a (previously generated) precompiled header file. + + + For further information on the use of this option + see the Microsoft documentation on the C++ compiler flag /Yu. + - - Run lib.exe, Microsoft's Library Manager. - - - Create a library. - - - - - - - ]]> - - + + Run lib.exe, Microsoft's Library Manager. + + + Create a library. + + + + + + + ]]> + + - - Creates the library. - + + Creates the library. + - - Determines if the sources need to be linked. - + + Determines if the sources need to be linked. + - - Options to pass to the compiler. - + + Options to pass to the compiler. + - - The output file. - + + The output file. + - - The module definition file. - + + The module definition file. + - - The list of files to combine into the output file. - + + The list of files to combine into the output file. + - - Symbols to add to the symbol table. - + + Symbols to add to the symbol table. + - - Names of default libraries to ignore. - + + Names of default libraries to ignore. + - - The list of additional library directories to search. - + + The list of additional library directories to search. + - - Gets the filename of the external program to start. - - The filename of the external program. + + Gets the filename of the external program to start. + + The filename of the external program. - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Links files using link.exe, Microsoft's Incremental Linker. - - - This task is intended for version 7.00.9466 of link.exe. - - - - Combine all object files in the current directory into helloworld.exe. - - - - - - - - ]]> - - + + Links files using link.exe, Microsoft's Incremental Linker. + + + This task is intended for version 7.00.9466 of link.exe. + + + + Combine all object files in the current directory into helloworld.exe. + + + + + + + + ]]> + + - - Links the sources. - + + Links the sources. + - - Determines if the output needs linking. - + + Determines if the output needs linking. + - - Quotes an argument value and duplicates trailing backslahes. - - The argument value to quote. - - The quotes argument value. - + + Quotes an argument value and duplicates trailing backslahes. + + The argument value to quote. + + The quotes argument value. + - - Options to pass to the compiler. - + + Options to pass to the compiler. + - - Create debugging information for the .exe file or DLL. The default is - . - + + Create debugging information for the .exe file or DLL. The default is + . + - - The output file. - + + The output file. + @@ -369,232 +369,238 @@ and the extension .pdb. + + + The name of a module-definition file (.def) to be passed to the + linker. + + - - Specified DLLs for delay loading. - + + Specified DLLs for delay loading. + - - The list of files to combine into the output file. - + + The list of files to combine into the output file. + - - The list of additional library directories to search. - + + The list of additional library directories to search. + - - Link the specified modules into this assembly. - + + Link the specified modules into this assembly. + - - Embed the specified resources into this assembly. - + + Embed the specified resources into this assembly. + - - Symbols to add to the symbol table. - + + Symbols to add to the symbol table. + - - Names of libraries that you want the linker to ignore when it - resolves external references. - + + Names of libraries that you want the linker to ignore when it + resolves external references. + - - Gets the filename of the external program to start. - - The filename of the external program. + + Gets the filename of the external program to start. + + The filename of the external program. - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Compiles messages using mc.exe, Microsoft's Win32 message compiler. - - - - Compile text.mc using the default options. - - - - ]]> - - - Compile text.mc, passing a path to store the header, the rc - file and some additonal options. - - - - ]]> - - + + Compiles messages using mc.exe, Microsoft's Win32 message compiler. + + + + Compile text.mc using the default options. + + + + ]]> + + + Compile text.mc, passing a path to store the header, the rc + file and some additonal options. + + + + ]]> + + - - Compiles the sources. - + + Compiles the sources. + - - Determine if source files need re-building. - + + Determine if source files need re-building. + - - Options to pass to the compiler. - + + Options to pass to the compiler. + - - Path to store header file. The default is the project base directory. - + + Path to store header file. The default is the project base directory. + - - Path to store RC file. The default is the project base directory. - + + Path to store RC file. The default is the project base directory. + - - Input filename. - + + Input filename. + - - Gets the filename of the external program to start. - - - The filename of the external program. - + + Gets the filename of the external program to start. + + + The filename of the external program. + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - This tasks allows you to run MIDL.exe. - - - - This task only supports a small subset of the MIDL.EXE command line - switches, but you can use the options element to specify any other - unsupported commands you want to specify. - - - - - - - - - - - - - ]]> - - + + This tasks allows you to run MIDL.exe. + + + + This task only supports a small subset of the MIDL.EXE command line + switches, but you can use the options element to specify any other + unsupported commands you want to specify. + + + + + + + + + + + + + ]]> + + - - This is where the work is done. - + + This is where the work is done. + - - Check output files to see if we need rebuilding. - - if a rebuild is needed; otherwise, - . + + Check output files to see if we need rebuilding. + + if a rebuild is needed; otherwise, + . - - Check output files to see if we need rebuilding. - - - if a rebuild is needed; otherwise, - . - + + Check output files to see if we need rebuilding. + + + if a rebuild is needed; otherwise, + . + - - Writes the response file for midl.exe. - + + Writes the response file for midl.exe. + - - The /acf switch allows the user to supply an - explicit ACF file name. The switch also - allows the use of different interface names in - the IDL and ACF files. - + + The /acf switch allows the user to supply an + explicit ACF file name. The switch also + allows the use of different interface names in + the IDL and ACF files. + - - The /align switch is functionally the same as the - MIDL /Zp option and is recognized by the MIDL compiler - solely for backward compatibility with MkTypLib. - - The alignment value can be 1, 2, 4, or 8. + + The /align switch is functionally the same as the + MIDL /Zp option and is recognized by the MIDL compiler + solely for backward compatibility with MkTypLib. + + The alignment value can be 1, 2, 4, or 8. - - The /app_config switch selects application-configuration - mode, which allows you to use some ACF keywords in the - IDL file. With this MIDL compiler switch, you can omit - the ACF and specify an interface in a single IDL file. - + + The /app_config switch selects application-configuration + mode, which allows you to use some ACF keywords in the + IDL file. With this MIDL compiler switch, you can omit + the ACF and specify an interface in a single IDL file. + - - The /char switch helps to ensure that the MIDL compiler - and C compiler operate together correctly for all char - and small types. - - Can be one of signed | unsigned | ascii7 + + The /char switch helps to ensure that the MIDL compiler + and C compiler operate together correctly for all char + and small types. + + Can be one of signed | unsigned | ascii7 - - The /client switch directs the MIDL compiler to generate - client-side C source files for an RPC interface - - can be one of stub | none + + The /client switch directs the MIDL compiler to generate + client-side C source files for an RPC interface + + can be one of stub | none - - The /cstub switch specifies the name of the client - stub file for an RPC interface. - + + The /cstub switch specifies the name of the client + stub file for an RPC interface. + @@ -604,198 +610,198 @@ - - The /env switch selects the - environment in which the application runs. - - It can take the values win32 and win64 + + The /env switch selects the + environment in which the application runs. + + It can take the values win32 and win64 - - The /Oi switch directs the MIDL compiler to - use a fully-interpreted marshaling method. - The /Oic and /Oicf switches provide additional - performance enhancements. - - - If you specify the Oi attribute, you must set it to - one of the values: - - Oi="" - - Oi="c" - - Oi="f" - - Oi="cf" - + + The /Oi switch directs the MIDL compiler to + use a fully-interpreted marshaling method. + The /Oic and /Oicf switches provide additional + performance enhancements. + + + If you specify the Oi attribute, you must set it to + one of the values: + - Oi="" + - Oi="c" + - Oi="f" + - Oi="cf" + - - Specifies a file name for the type library generated by the MIDL - compiler. - + + Specifies a file name for the type library generated by the MIDL + compiler. + - - Specifies the name of the header file. - + + Specifies the name of the header file. + - - Specifies the name of the interface identifier file for a COM - interface, overriding the default name obtained by adding _i.c - to the IDL file name. - + + Specifies the name of the interface identifier file for a COM + interface, overriding the default name obtained by adding _i.c + to the IDL file name. + - - Specifies the name of the interface proxy file for a COM interface. - + + Specifies the name of the interface proxy file for a COM interface. + - - Name of .IDL file to process. - + + Name of .IDL file to process. + - - Additional options to pass to midl.exe. - + + Additional options to pass to midl.exe. + - - Macro definitions to pass to mdil.exe. - Each entry will generate a /D - + + Macro definitions to pass to mdil.exe. + Each entry will generate a /D + - - Macro undefines (/U) to pass to mdil. - + + Macro undefines (/U) to pass to mdil. + - - The list of directories in which to search for include files. - + + The list of directories in which to search for include files. + - - Filename of program to execute - + + Filename of program to execute + - - Gets the command-line arguments for the external program. - - - The command-line arguments for the external program. - + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + - - Compiles resources using rc.exe, Microsoft's Win32 resource - compiler. - - - - Compile text.rc to text.res using the default options. - - - - ]]> - - - - - Compile text.rc, passing an additional option. - - - - ]]> - - + + Compiles resources using rc.exe, Microsoft's Win32 resource + compiler. + + + + Compile text.rc to text.res using the default options. + + + + ]]> + + + + + Compile text.rc, passing an additional option. + + + + ]]> + + - - Compile the resource file - + + Compile the resource file + - - Determines if the resource need compiling. - + + Determines if the resource need compiling. + - - Check if a resource file has been updated. - - - + + Check if a resource file has been updated. + + + - - Options to pass to the compiler. - + + Options to pass to the compiler. + - - Output file. - + + Output file. + - - The resource file to compile. - + + The resource file to compile. + - - Default language ID. - + + Default language ID. + - - The list of directories in which to search for include files. - + + The list of directories in which to search for include files. + - - Macro definitions to pass to rc.exe. - Each entry will generate a /d - + + Macro definitions to pass to rc.exe. + Each entry will generate a /d + - - Filename of program to execute - + + Filename of program to execute + - - Arguments of program to execute - + + Arguments of program to execute + - - Defines the character sets that can be used by the C++ compiler. - + + Defines the character sets that can be used by the C++ compiler. + - - Have the compiler determine the character set. - + + Have the compiler determine the character set. + - - Unicode character set. - + + Unicode character set. + - - Multi-byte character set. - + + Multi-byte character set. + - - Represents a library. - + + Represents a library. + @@ -810,21 +816,21 @@ is . - - The name of the library. - + + The name of the library. + - - If then the element will be processed; - otherwise, skipped. The default is . - + + If then the element will be processed; + otherwise, skipped. The default is . + - - If then the element will be skipped; - otherwise, processed. The default is . - + + If then the element will be skipped; + otherwise, processed. The default is . + @@ -878,11 +884,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -915,10 +921,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -933,33 +939,33 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Represents a symbol. - + + Represents a symbol. + @@ -974,21 +980,21 @@ is . - - The name of the symbol. - + + The name of the symbol. + - - If then the element will be processed; - otherwise, skipped. The default is . - + + If then the element will be processed; + otherwise, skipped. The default is . + - - If then the element will be skipped; - otherwise, processed. The default is . - + + If then the element will be skipped; + otherwise, processed. The default is . + @@ -1042,11 +1048,11 @@ - - Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. - The zero-based index in at which copying begins. + + Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. + + The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in at which copying begins. @@ -1079,10 +1085,10 @@ The to remove from the collection. - - Gets or sets the element at the specified index. - - The zero-based index of the element to get or set. + + Gets or sets the element at the specified index. + + The zero-based index of the element to get or set. @@ -1097,55 +1103,55 @@ The collection that should be enumerated. - - Advances the enumerator to the next element of the collection. - - - if the enumerator was successfully advanced - to the next element; if the enumerator has - passed the end of the collection. - + + Advances the enumerator to the next element of the collection. + + + if the enumerator was successfully advanced + to the next element; if the enumerator has + passed the end of the collection. + - - Sets the enumerator to its initial position, which is before the - first element in the collection. - + + Sets the enumerator to its initial position, which is before the + first element in the collection. + - - Gets the current element in the collection. - - - The current element in the collection. - + + Gets the current element in the collection. + + + The current element in the collection. + - - Defines how to deal with backslashes in values of command line - arguments. - + + Defines how to deal with backslashes in values of command line + arguments. + - - Does not perform any processing on backslashes. - + + Does not perform any processing on backslashes. + - - Duplicates the trailing backslash. - + + Duplicates the trailing backslash. + - - Fixes the trailing backslash by replaces trailing double backslashes - with only one backslash and removing single trailing backslashes. - + + Fixes the trailing backslash by replaces trailing double backslashes + with only one backslash and removing single trailing backslashes. + - - Removes all the trailing backslashes. - + + Removes all the trailing backslashes. + @@ -1166,29 +1172,29 @@ - - Duplicates the trailing backslash. - - The input string to check and duplicate the trailing backslash if necessary. - The result string after being processed. - - Also duplicates trailing backslash in quoted value. - + + Duplicates the trailing backslash. + + The input string to check and duplicate the trailing backslash if necessary. + The result string after being processed. + + Also duplicates trailing backslash in quoted value. + - - Fixes the trailing backslash. This function replaces the trailing double backslashes with - only one backslash. It also, removes the single trailing backslash. - - The input string. - The result string after being processed. + + Fixes the trailing backslash. This function replaces the trailing double backslashes with + only one backslash. It also, removes the single trailing backslash. + + The input string. + The result string after being processed. - - Removes all the trailing backslashes from the input. - - The input string. - The result string without trailing backslashes. + + Removes all the trailing backslashes from the input. + + The input string. + The result string without trailing backslashes. diff --git a/build-support/tools/nant/bin/NAnt.Win32Tasks.dll b/build-support/tools/nant/bin/NAnt.Win32Tasks.dll index 4979a834531984f3e65c875a69710dc658ef739e..5d2e0fb04829c64906c3d64a0da5a56566ca1268 100644 GIT binary patch literal 36864 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 diff --git a/build-support/tools/nant/bin/NAnt.Win32Tasks.xml b/build-support/tools/nant/bin/NAnt.Win32Tasks.xml index 059eb79c..3eacd93e 100644 --- a/build-support/tools/nant/bin/NAnt.Win32Tasks.xml +++ b/build-support/tools/nant/bin/NAnt.Win32Tasks.xml @@ -5,15 +5,15 @@ - - Groups a set of functions that convert Windows native filenames to - Cygwin POSIX-style pathnames and vice versa. - - - It can be used when a Cygwin program needs to pass a file name to a - native Windows program, or expects to get a file name from a native - Windows program. - + + Groups a set of functions that convert Windows native filenames to + Cygwin POSIX-style pathnames and vice versa. + + + It can be used when a Cygwin program needs to pass a file name to a + native Windows program, or expects to get a file name from a native + Windows program. + @@ -67,178 +67,241 @@ - - Factory method to return a new instance of ExecTask - - - + + Factory method to return a new instance of ExecTask + + + - - Generates a Windows Forms Control that wraps ActiveX Controls defined - in an OCX. - - - - - ]]> - - + + Generates a Windows Forms Control that wraps ActiveX Controls defined + in an OCX. + + + + + ]]> + + - - Import the ActiveX control. - + + Import the ActiveX control. + - - Determines whether the assembly needs to be created again. - - - if the assembly needs to be created again; - otherwise, . - + + Determines whether the assembly needs to be created again. + + + if the assembly needs to be created again; + otherwise, . + - - Filename of the .ocx file. - + + Filename of the .ocx file. + - - Filename of the generated assembly. - + + Filename of the generated assembly. + - - Specifies the file containing the public key to use to sign the - resulting assembly. - - - The file containing the public key to use to sign the resulting - assembly. - + + Specifies the file containing the public key to use to sign the + resulting assembly. + + + The file containing the public key to use to sign the resulting + assembly. + - - Specifies the publisher's official public/private key pair with which - the resulting assembly should be signed with a strong name. - - - The keyfile to use to sign the resulting assembly with a strong name. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the publisher's official public/private key pair with which + the resulting assembly should be signed with a strong name. + + + The keyfile to use to sign the resulting assembly with a strong name. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the key container in which the public/private key pair - should be found that should be used to sign the resulting assembly - with a strong name. - - - The key container containing a public/private key pair that should - be used to sign the resulting assembly. - + + Specifies the key container in which the public/private key pair + should be found that should be used to sign the resulting assembly + with a strong name. + + + The key container containing a public/private key pair that should + be used to sign the resulting assembly. + - - Specifies to sign the resulting control using delayed signing. - + + Specifies to sign the resulting control using delayed signing. + - - Determines whether C# source code for the Windows Form wrapper should - be generated. The default is . - + + Determines whether C# source code for the Windows Form wrapper should + be generated. The default is . + - - Assembly to use for Runtime Callable Wrapper rather than generating - new one [.NET 1.1 or higher]. - + + Assembly to use for Runtime Callable Wrapper rather than generating + new one [.NET 1.1 or higher]. + - - Indicates whether aximp supports using an existing Runtime - Callable Wrapper for a given target framework. The default is - . - + + Indicates whether aximp supports using an existing Runtime + Callable Wrapper for a given target framework. The default is + . + + + Gets the command-line arguments for the external program. + + + The command-line arguments for the external program. + + + + + Reads the most recent Windows SDK InstallationFolder key into a NAnt property + + + + + ]]> + + + + + + locate the most recent WinSDK installed + + + - Gets the command-line arguments for the external program. + Converts a version expressed as a string into a Version object - - The command-line arguments for the external program. - + + A containing the version to convert. + + + A object representing the version string. + + + + + + The property to set to the value stored in the InstalledFolder key of the located WinSDK version. + + + + + + + The minimum acceptable Windows SDK version. + + + + + + + The maximum acceptable Windows SDK version. + + + + + + + The minimum acceptable .NET sdk version. + + + + + + + The maximum acceptable .NET sdk version. + + - - Reads a value or set of values from the Windows Registry into one or - more NAnt properties. - - - Read a single value from the registry. - - - ]]> - - Read all the registry values in a key. - - - ]]> - - + + Reads a value or set of values from the Windows Registry into one or + more NAnt properties. + + + Read a single value from the registry. + + + ]]> + + Read all the registry values in a key. + + + ]]> + + - - read the specified registry value - + + read the specified registry value + - - Returns the hive for a given key. - - - - - The hive for a given key. - + + Returns the hive for a given key. + + + + + The hive for a given key. + - - Returns the key for a given registry hive. - - The registry hive to return the key for. - - The key for a given registry hive. - + + Returns the key for a given registry hive. + + The registry hive to return the key for. + + The key for a given registry hive. + - - The property to set to the specified registry key value. - If this attribute is used then a single value will be read. - + + The property to set to the specified registry key value. + If this attribute is used then a single value will be read. + - - The prefix to use for the specified registry key values. - If this attribute is used then all registry values will be read and stored as properties with this prefix. - - - Registry values a, b, c will be turned into prefixa, prefixb, prefixc named properties - + + The prefix to use for the specified registry key values. + If this attribute is used then all registry values will be read and stored as properties with this prefix. + + + Registry values a, b, c will be turned into prefixa, prefixb, prefixc named properties + - - The registry key to read, including the path. - - - SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot - + + The registry key to read, including the path. + + + SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot + @@ -251,55 +314,55 @@ - - Registers an assembly, or set of assemblies for use from COM clients. - - - - Refer to the Regasm - documentation for more information on the regasm tool. - - - - - Register types in a single assembly. - - - - ]]> - - - - - Register types of an assembly and generate a type library containing - definitions of accessible types defined within the assembly. - - - - ]]> - - - - - Register types of set of assemblies at once, while specifying a set - of reference assemblies. - - - - - - - - - - - - ]]> - - + + Registers an assembly, or set of assemblies for use from COM clients. + + + + Refer to the Regasm + documentation for more information on the regasm tool. + + + + + Register types in a single assembly. + + + + ]]> + + + + + Register types of an assembly and generate a type library containing + definitions of accessible types defined within the assembly. + + + + ]]> + + + + + Register types of set of assemblies at once, while specifying a set + of reference assemblies. + + + + + + + + + + + + ]]> + + @@ -309,9 +372,9 @@ The of which the should be updated. - - Registers or unregisters a single assembly, or a group of assemblies. - + + Registers or unregisters a single assembly, or a group of assemblies. + @@ -320,318 +383,318 @@ - - Registry file to export to instead of entering the types directly - into the registry. - + + Registry file to export to instead of entering the types directly + into the registry. + - - Set the code base registry setting. - + + Set the code base registry setting. + - - Only refer to already registered type libraries. - + + Only refer to already registered type libraries. + - - Export the assemblies to the specified type library and register it. - + + Export the assemblies to the specified type library and register it. + - - Unregister the assembly. The default is . - + + Unregister the assembly. The default is . + - - The set of assemblies to register, or unregister. - + + The set of assemblies to register, or unregister. + - - The set of assembly references. - + + The set of assembly references. + - - Gets the working directory for the application. - - - The working directory for the application. - + + Gets the working directory for the application. + + + The working directory for the application. + - - Gets the command line arguments for the external program. - - - The command line arguments for the external program. - + + Gets the command line arguments for the external program. + + + The command line arguments for the external program. + - - Gets the filename of the external program to start. - - - The filename of the external program. - - - Override in derived classes to explicitly set the location of the - external tool. - + + Gets the filename of the external program to start. + + + The filename of the external program. + + + Override in derived classes to explicitly set the location of the + external tool. + - - Exports a .NET assembly to a type library that can be used from unmanaged - code (wraps Microsoft's tlbexp.exe). - - - - See the Microsoft.NET Framework SDK documentation for details. - - - - Export DotNetAssembly.dll to LegacyCOM.dll. - - - ]]> - - + + Exports a .NET assembly to a type library that can be used from unmanaged + code (wraps Microsoft's tlbexp.exe). + + + + See the Microsoft.NET Framework SDK documentation for details. + + + + Export DotNetAssembly.dll to LegacyCOM.dll. + + + ]]> + + - - Exports the type library. - + + Exports the type library. + - - Determines whether the assembly needs to be exported to a type - library again. - - - if the assembly needs to be exported to a - type library; otherwise, . - + + Determines whether the assembly needs to be exported to a type + library again. + + + if the assembly needs to be exported to a + type library; otherwise, . + - - Specifies the assembly for which to export a type library. - - - The assembly for which to export a type library. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the assembly for which to export a type library. + + + The assembly for which to export a type library. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the name of the type library file to generate. - - - The name of the type library file to generate. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the name of the type library file to generate. + + + The name of the type library file to generate. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the file used to determine capitalization of names in a - type library. - - - The file used to determine capitalization of names in a type library. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the file used to determine capitalization of names in a + type library. + + + The file used to determine capitalization of names in a type library. + + See the Microsoft.NET Framework SDK documentation for details. - - Gets the command line arguments for the external program. - - - The command line arguments for the external program. - + + Gets the command line arguments for the external program. + + + The command line arguments for the external program. + - - Imports a type library to a .NET assembly (wraps Microsoft's tlbimp.exe). - - - - This task lets you easily create interop assemblies. By default, it will - not reimport if the underlying COM TypeLib or reference has not changed. - - - See the Microsoft.NET Framework SDK documentation for details. - - - - Import LegacyCOM.dll to DotNetAssembly.dll. - - - ]]> - - - - - Generate an assembly named "Interop.MSVidCtlLib.dll" for the - MS Video Control 1.0 Type Library, transforming any [out, retval] - parameters of methods on dispinterfaces in the type library into - return values in the managed library. - - - - - - - - ]]> - - + + Imports a type library to a .NET assembly (wraps Microsoft's tlbimp.exe). + + + + This task lets you easily create interop assemblies. By default, it will + not reimport if the underlying COM TypeLib or reference has not changed. + + + See the Microsoft.NET Framework SDK documentation for details. + + + + Import LegacyCOM.dll to DotNetAssembly.dll. + + + ]]> + + + + + Generate an assembly named "Interop.MSVidCtlLib.dll" for the + MS Video Control 1.0 Type Library, transforming any [out, retval] + parameters of methods on dispinterfaces in the type library into + return values in the managed library. + + + + + + + + ]]> + + - - Imports the type library to a .NET assembly. - + + Imports the type library to a .NET assembly. + - - Returns the path of the type library, removing the identifier of - the type library from the specified string. - - The path from which to extract the path of the type library. - - The path of the type library without the type library identifier. - - - An example of a path which includes the identifier of the type - library (in this case "2") is - C:\WINDOWS\system32\msvidctl.dll\2. - + + Returns the path of the type library, removing the identifier of + the type library from the specified string. + + The path from which to extract the path of the type library. + + The path of the type library without the type library identifier. + + + An example of a path which includes the identifier of the type + library (in this case "2") is + C:\WINDOWS\system32\msvidctl.dll\2. + - - Determines whether the type library needs to be imported again. - - - if the type library needs to be imported; - otherwise, . - + + Determines whether the type library needs to be imported again. + + + if the type library needs to be imported; + otherwise, . + - - Specifies the name of the output file. - - - The name of the output file. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the name of the output file. + + + The name of the output file. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the namespace in which to produce the assembly. - - - The namespace in which to produce the assembly. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the namespace in which to produce the assembly. + + + The namespace in which to produce the assembly. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the version number of the assembly to produce. - - - - The version number of the assembly to produce. - - - The version number should be in the format major.minor.build.revision. - - - See the Microsoft.NET Framework SDK documentation for details. - - + + Specifies the version number of the assembly to produce. + + + + The version number of the assembly to produce. + + + The version number should be in the format major.minor.build.revision. + + + See the Microsoft.NET Framework SDK documentation for details. + + - - Specifies whether the resulting assembly should be signed with a - strong name using delayed signing. The default is . - - - if the resulting assembly should be signed - with a strong name using delayed signing; otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether the resulting assembly should be signed with a + strong name using delayed signing. The default is . + + + if the resulting assembly should be signed + with a strong name using delayed signing; otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether a primary interop assembly should be produced for - the specified type library. The default is . - - - if a primary interop assembly should be - produced; otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether a primary interop assembly should be produced for + the specified type library. The default is . + + + if a primary interop assembly should be + produced; otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the file containing the public key to use to sign the - resulting assembly. - - - The file containing the public key to use to sign the resulting - assembly. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the file containing the public key to use to sign the + resulting assembly. + + + The file containing the public key to use to sign the resulting + assembly. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the publisher's official public/private key pair with which - the resulting assembly should be signed with a strong name. - - - The keyfile to use to sign the resulting assembly with a strong name. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the publisher's official public/private key pair with which + the resulting assembly should be signed with a strong name. + + + The keyfile to use to sign the resulting assembly with a strong name. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the key container in which the public/private key pair - should be found that should be used to sign the resulting assembly - with a strong name. - - - The key container containing a public/private key pair that should - be used to sign the resulting assembly. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the key container in which the public/private key pair + should be found that should be used to sign the resulting assembly + with a strong name. + + + The key container containing a public/private key pair that should + be used to sign the resulting assembly. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies the assembly files to use to resolve references to types - defined outside the current type library. - - - The assembly files to use to resolve references to types defined - outside the current type library. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the assembly files to use to resolve references to types + defined outside the current type library. + + + The assembly files to use to resolve references to types defined + outside the current type library. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether a type library should not be imported if all - references within the current assembly or the reference assemblies - cannot be resolved. The default is . - - - if a type library should not be imported if - all references cannot be resolved; otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether a type library should not be imported if all + references within the current assembly or the reference assemblies + cannot be resolved. The default is . + + + if a type library should not be imported if + all references cannot be resolved; otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. @@ -646,45 +709,45 @@ See the Microsoft.NET Framework SDK documentation for details. - - Specifies how to transform the metadata [.NET 1.1 or higher]. - + + Specifies how to transform the metadata [.NET 1.1 or higher]. + - - Specifies the source type library that gets passed to the type - library importer. - - - The source type library that gets passed to the type library - importer. - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies the source type library that gets passed to the type + library importer. + + + The source type library that gets passed to the type library + importer. + + See the Microsoft.NET Framework SDK documentation for details. - - Specifies whether interfaces should be produced without .NET Framework - security checks. The default is . - - - if interfaces without .NET Framework security - checks should be produced; otherwise, . - - See the Microsoft.NET Framework SDK documentation for details. + + Specifies whether interfaces should be produced without .NET Framework + security checks. The default is . + + + if interfaces without .NET Framework security + checks should be produced; otherwise, . + + See the Microsoft.NET Framework SDK documentation for details. - - Indicates whether tlbimp supports transforming metadata for - a given target framework. The default is . - + + Indicates whether tlbimp supports transforming metadata for + a given target framework. The default is . + - - Gets the command line arguments for the external program. - - - The command line arguments for the external program. - + + Gets the command line arguments for the external program. + + + The command line arguments for the external program. + diff --git a/build-support/tools/nant/bin/NAnt.exe b/build-support/tools/nant/bin/NAnt.exe index 689b1ebe97999cd99843008641c2a479d8115d41..c41374a33f03b8b7a7a6b36a6d7997b4f299d091 100644 GIT binary patch literal 12800 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 delta 4521 zcmb7IdvH|M8UN0G?{0F#-GyW~*)^NQlA8x1k%!??Gz4M;s6k#L&cFg|Tp+pO?m`Jd zHndfNpcHSbV{2z1ZMC#Q#k5vB)|QULl$j37j8t(HZHG>!w4=6a$7-d&b1si8_MhIF z{oU{T&hPtu=W)-uHyKG;d6-7t>!u7VHNrQoXdW(jp1n%jIu~cYZj^Q zX0-S{s0BTuSc+iS!c)gaG=Bs(8Z9+1!Zy|@*jR08mNr4L)COyy9)Uf`V3uk(z_uF! z1*yva$W#h4l`m$B6`OFW7%!6dtBjgd-fB0AYR0rru~ddV5#F@-VGdw?iroy?#iaE` zA3}^p##m!YjbUp{SpZDXWpfie{Dv!3Vp8WFta%1f=&lO)16yzoBkF~3BQnYGxlFFQZ%Z@lZ7>O2j^Jfz;qjj zQZO*>F~|h`XLAqC|4ZWvIUjW2D6D7|6%5}hDzoRI-r2@TvB+}EHLO{&GoJ^`BBnc& z`=(e!tH@r!!(@dTgI37FNv@5XRDY#f(0v%>Qt`n18zs+oiu(eh*;`?49YsBd;OIx# zm)nE=#R_}qH$+Mr$ST3pOANb=XrUCkTZ-e@U=r-Qtr8vvew~&l8Ok`6#oj$F8tjoXf9MY6llB+1*c)QY5R$1s(8o*M!SvX*oo zrv)2GU<-+PJ~LmpxPqfjw0EE=V^s!-2x7K3m_bO{{8-NQL$&QdtVfy$_}?2*ve(4Fwy7r5kd zuQFtJ@fky&a~IaT~p*68x}+;+q0*JaNaeiWu{Dn6Z42eo4>b>tzzF!l%pvV30PmZrFQ8 ztIoG@7RK(1QY>5IC%J>hr?>K<6V+42~s0@8gp3 zIEhtip$91nd<VDw5A zZ+n!!hS4#4e?0ddh#n^!OQ&Ev`Cc=;M(*Y50pl&Y5$id}Z=}D1s?eJ@r}`!M`ZGF( zn~xHm)T`(?b>JiOIL$|=xcoE`X%pBfaG}8E0#gDr0yhfm7nt86Zo7cjx!WcPf`_&sYj`f zHL9;dda^o1Ev!p@1CeFw+d}S70$)YRb!g=U-laBnKRBK2Y4trsPN^SJj9ynSg2RlyOxPP?x3I@Gg{3fpAs!LU06b5XdWfB; zM%`io;>>;wBaTRyUX92Ky$<$joinp~6Ki2x^~o$oJM`%c^ORR+vmHq2pn&M(S_NZ(&C$ZVa-6RBP}#SfTG`2U)YRmo?FR z`WX0inlCj`gr0$2LC*ne=q2C`5oxFVNjM?l;PeG`1yuppP!n*ykjTTCn>IMzlY7%S>RjM-6P)g}OHD%QS{1LkbneJ+O1~v}J7e`;{dEa%eJpOa_4Unh zdZ523o!ivsy%l2aDQX{g~q;g)zb8ugMg7@ax~Hl0cIryy?xl98XEoR7g0oZE^qh>F z=6&y{tJd5tnQSgA_>0ngDL2Jusr}xRKUH0BW^*c+o}KCCf?lwEZoIR@aeGp^F4x(d zS&P~5U7C|#y{X&VQ9jN)SYGRWT0YBLT`}4FQH4Enp+aTe_Y-+9R5@>?_WCmttMax~ zCcVv-lQew;WoY%tQgePJZFg0h5ehY`uGFZ1Ow1_+sOS zk7i~hOi441k=mA1@jvfUWi4DRC(&w9igpQqflzp% zlBDo*jaayt-=y$zQ^J=#h0|!TGP2GLg;?C=+)bR@4^dQ?m>E|Q8@wNarh)F52~$n7 z@J3KkMkfV~c$~MIL0t)N3=i%CMd6RCNZbbz)8uRk9hA8jk830YXZX@T48RKy9yAkN zhM|##2M?hN${r1p9NvW1qv3u&ns`(LB|P{mug8w&k3ff)PwG~96KMPj_k(>XJa{Br z1mgq@BN0bZ!c54xg$GZWdQ#@&mjZ}}2TxmrXHZw-vl)*k;xRpl#M2;#m*dX!pumYL z9~2cc?7hX3x-8|LtP4u5Q@l6oDx~JA-oNTvLq+%+b<-Qtc>KI+^|dARgEpSyUoWoofh8mR8uzl|R+>UhbOTMsi>=k0(6mc#rm5c1rq^V& Zc;3X8YZ#{{-YC7&GGaBq$M!Yr{{;i05j+3@ diff --git a/build-support/tools/nant/bin/NAnt.exe.config b/build-support/tools/nant/bin/NAnt.exe.config index 534d832f..53291fdd 100644 --- a/build-support/tools/nant/bin/NAnt.exe.config +++ b/build-support/tools/nant/bin/NAnt.exe.config @@ -1,1716 +1,2323 @@ - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - csc - true - - - vbc - - - jsc - - - vjc - true - - - resgen - - - al - - - sn - - - lc - - - ilasm - - - ildasm - - - false - - - false - - - - - - - - - - - - - - - - - - - - - csc - true - - - vbc - - - jsc - - - vjc - true - - - resgen - - - al - - - sn - - - lc - - - ilasm - - - ildasm - - - - - - - - - - - - - - - - - - - - - csc - true - true - true - true - true - true - - - vbc - true - true - true - true - true - true - true - - - jsc - true - - - vjc - true - true - true - - - resgen - true - true - - - al - - - sn - - - lc - true - - - ilasm - - - ildasm - - - - - - - - - - - - - - - - - - - - - csc - true - true - true - true - true - true - - - vbc - true - true - true - true - true - true - true - - - jsc - true - - - vjc - true - true - true - - - resgen - true - true - - - al - - - sn - - - lc - true - - - ilasm - - - ildasm - - - - - - - - - - - - - - - - - - - - - csc - true - true - true - true - true - true - - - vbc - true - true - true - true - true - true - true - - - jsc - true - - - vjc - true - true - true - - - resgen - true - true - - - al - - - sn - - - lc - true - - - ilasm - - - ildasm - - - - - - - - - - - - The .NET Framework 1.1 SDK is not installed. - - - - csc - true - true - true - - - vbc - - - cfresgen - - - al - - - sn - - - ${path::combine(sdkInstallRoot.DesktopFramework, 'bin/lc.exe')} - - - ilasm - - - ildasm - - - - - - - - - - - - The .NET Framework 2.0 SDK is not installed. - - - - csc - true - true - true - - - vbc - true - - - resgen - - - al - - - sn - - - lc - true - - - ilasm - - - ildasm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${csc.tool} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - ${mbas.tool} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - csc - true - - - jsc - true - - - resgen - - - al - - - sn - - - false - - - ilasm - true - - - ildasm - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. - - - - - - - - - - - - - - - - al - true - - - ${path::combine(prefix, 'lib/mono/1.0/mcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. - - - - - - - - - - - - - - - - - - - - - - al - true - - - ${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')} - true - true - true - ${csc.supportsdocgeneration} - true - true - true - - - - ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} - true - - - ${resgen.tool} - true - - - sn - true - - - false - - - ilasm - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + sn + + + lc + + + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + sn + + + lc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + + + true + + + true + true + true + true + + + true + true + + + sn + + + lc + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + + + true + + + true + true + true + true + + + true + true + + + sn + + + lc + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + + + true + + + true + true + true + true + + + true + true + + + sn + + + lc + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The .NET Framework 1.1 SDK is not installed. + + + + true + true + true + + + cfresgen + + + sn + + + lc + + + + + + + + + + + + + + + + + + + + + + + + + + + The .NET Framework 2.0 SDK is not installed. + + + + true + true + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + true + + + true + true + + + sn + + + lc + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + true + true + true + true + true + + + true + true + true + true + true + true + true + true + true + + + true + + + true + true + true + true + + + true + true + + + sn + + + lc + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + ${csc.tool} + true + true + true + ${csc.supportsdocgeneration} + true + true + true + true + + + mjs + true + + + ${mbas.tool} + true + + + ${resgen.tool} + true + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + gmcs + true + true + true + ${csc.supportsdocgeneration} + true + true + true + true + + + mjs + strict + + + vbnc + true + + + ${resgen.tool} + true + ${resgen.supportsexternalfilereferences} + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + gmcs + true + linq + true + true + true + true + true + true + true + + + mjs + strict + + + vbnc + true + + + true + true + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + smcs + true + true + true + true + true + true + true + true + + + true + true + + + sn + + + false + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + sn + + + false + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. + + + + + + + + + + + + + + + + true + + + ${path::combine(prefix, 'lib/mono/1.0/mcs.exe')} + true + true + true + ${csc.supportsdocgeneration} + true + true + true + true + + + mjs + true + + + ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} + true + + + ${resgen.tool} + true + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. + + + + + + + + + + + + + + + + + + + + + true + + + gmcs + true + true + true + ${csc.supportsdocgeneration} + true + true + true + true + + + mjs + strict + + + vbnc + true + + + ${resgen.tool} + true + ${resgen.supportsexternalfilereferences} + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. + + + + + + + + true + + + gmcs + true + linq + true + true + true + true + true + true + true + + + mjs + strict + + + vbnc + true + + + true + true + + + sn + true + + + false + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. + + + + + + + smcs + true + true + true + true + true + true + true + true + + + true + true + + + sn + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build-support/tools/nant/bin/NAnt.xml b/build-support/tools/nant/bin/NAnt.xml index fd75a54d..64a0575a 100644 --- a/build-support/tools/nant/bin/NAnt.xml +++ b/build-support/tools/nant/bin/NAnt.xml @@ -11,17 +11,47 @@
- - Entry point for executable - - Command Line arguments - The result of the real execution + + Entry point for executable + + Command Line arguments + The result of the real execution + + + + Constructs the privatebinpath. + + + + For the common version dir, we do not use the framework version + as defined in the NAnt configuration file but the CLR version + since the assemblies in that directory are not specific to a + certain family and the framwork version might differ between + families (eg. mono 1.0 == .NET 1.1). + + + The runtime framework. + The base directory of the domain. + + The privatebinpath. + + + + + Given an absolute directory and an absolute file name, returns a + relative file name. + + An absolute directory. + An absolute file name. + + A relative file name for the given absolute file name. + - - Helper class for invoking the application entry point in NAnt.Core - and passing the command-line arguments. - + + Helper class for invoking the application entry point in NAnt.Core + and passing the command-line arguments. + @@ -32,17 +62,17 @@ Directories relative to the base directory of the AppDomain to probe for missing assembly references. - - Invokes the application entry point in NAnt.Core. - + + Invokes the application entry point in NAnt.Core. + - - Gets the status that the build process returned when it exited. - - - The code that the build process specified when it terminated. - + + Gets the status that the build process returned when it exited. + + + The code that the build process specified when it terminated. + diff --git a/build-support/tools/nant/bin/NDoc.Documenter.NAnt.dll b/build-support/tools/nant/bin/NDoc.Documenter.NAnt.dll index 06dda7e9f8f976ec57c3f3285ab20f311fd79706..cdcc3f1f1bfd516b6010ee3583ef9f43c5928229 100644 GIT binary patch delta 22313 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 G>;C}c8-<+! literal 131072 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 Element Reference -> DataTypeBase - - v0.85 + + v0.91-alpha2

DataTypeBase

+

[This is preliminary documentation and subject to change.]

Provides the abstract base class for types.

Parameters

@@ -50,7 +51,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html index 4508f639..54e7d884 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html @@ -19,11 +19,12 @@ -> Element Reference -> ChainableReader - - v0.85 + + v0.91-alpha2

ChainableReader

-

Functions as a chainable TextReader

Implements a abstraction over a TextReader that allows the class to represent either a TextReader or another ChainableReader to which it is chained. By passing a ChainableReader as a constructor paramater it is possiable to chain many ChainableReaders together. The last ChainableReader in the chain must be based on a TextReader.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

[This is preliminary documentation and subject to change.]

+

Functions as a chainable TextReader

Implements a abstraction over a TextReader that allows the class to represent either a TextReader or another ChainableReader to which it is chained. By passing a ChainableReader as a constructor paramater it is possiable to chain many ChainableReaders together. The last ChainableReader in the chain must be based on a TextReader.

Requirements

Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html index 4ab6e927..4bde23ff 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html @@ -19,11 +19,12 @@ -> Element Reference -> Filter - - v0.85 + + v0.91-alpha2

Filter

+

[This is preliminary documentation and subject to change.]

Allows a file's content to be modified while performing an operation.

Parameters

@@ -50,7 +51,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html index 6b379718..2f3f56d7 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html @@ -19,11 +19,12 @@ -> Element Reference -> Target - - v0.85 + + v0.91-alpha2

Target

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -38,8 +39,8 @@ name string - The name of the target.

- This attribute's properties will not be automatically expanded! + The name of the target.

+ This attribute's properties will not be automatically expanded!

True @@ -58,16 +59,16 @@ if string - If true then the target will be executed; otherwise, skipped. The default is true.

- This attribute's properties will not be automatically expanded! + If true then the target will be executed; otherwise, skipped. The default is true.

+ This attribute's properties will not be automatically expanded!

False unless string - Opposite of IfDefined. If false then the target will be executed; otherwise, skipped. The default is false.

- This attribute's properties will not be automatically expanded! + Opposite of IfDefined. If false then the target will be executed; otherwise, skipped. The default is false.

+ This attribute's properties will not be automatically expanded!

False @@ -75,7 +76,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html index f364b044..687d00a6 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html @@ -19,11 +19,12 @@ -> Element Reference -> Task - - v0.85 + + v0.91-alpha2

Task

-

Provides the abstract base class for tasks.

A task is a piece of code that can be executed.

Parameters

AttributeTypeDescriptionRequired
failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

[This is preliminary documentation and subject to change.]

+

Provides the abstract base class for tasks.

A task is a piece of code that can be executed.

Parameters

AttributeTypeDescriptionRequired
failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False

Requirements

Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html index 3fe0d804..0459c8aa 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html @@ -19,11 +19,12 @@ -> Element Reference -> TaskContainer - - v0.85 + + v0.91-alpha2

TaskContainer

+

[This is preliminary documentation and subject to change.]

Executes embedded tasks in the order in which they are defined.

Parameters

@@ -62,7 +63,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html index 22771896..f51750ff 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html @@ -19,12 +19,15 @@ -> Element Reference -> ExternalProgramBase - - v0.85 + + v0.91-alpha2

ExternalProgramBase

+

[This is preliminary documentation and subject to change.]

Provides the abstract base class for tasks that execute external applications.

+

When a ProgramLocationAttribute is applied to the deriving class and exename does not return an absolute path, then the program to execute will first be searched for in the location specified by LocationType.

+

If the program does not exist in that location, then the list of tool paths of the current target framework will be scanned in the order in which they are defined in the NAnt configuration file.

Parameters

@@ -81,10 +84,19 @@ + + + + + + - +
The name of the executable that should be used to launch the external program. False
managed + ManagedExecution + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. False
useruntimeengine bool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False
@@ -94,13 +106,13 @@

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -110,12 +122,12 @@
         

- - </arg> + + </arg>

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html index 6896ab51..fd8c3699 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html @@ -19,31 +19,32 @@ -> Element Reference -> InElement - - v0.85 + + v0.91-alpha2

InElement

+

[This is preliminary documentation and subject to change.]

Nested Elements:

- - <items> + + <items>

- - </items> + + </items>

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html index 4fda4873..9f819901 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html @@ -19,12 +19,14 @@ -> Element Reference -> <arg> - - v0.85 + + v0.91-alpha2

<arg>

+

[This is preliminary documentation and subject to change.]

Represents a command-line argument.

+

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

@@ -82,14 +84,14 @@

- - <path> + + <path>

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- - </path> + + </path>

Examples

    @@ -114,7 +116,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html index c26ea3c2..2b5b737e 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html @@ -19,47 +19,48 @@ ->Element Reference-> <environment> - +

<environment>

+

[This is preliminary documentation and subject to change.]

A set of environment variables.

Nested Elements:

- - <option> + + <option>

Deprecated. Environment variable to pass to a program.

Represents an option.

Parameters

AttributeTypeDescriptionRequired
namestring Name of the option. True
ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False

- - </option> + + </option>

- - <variable> + + <variable>

-
Environment variable to pass to a program.

Represents an environment variable.

Parameters

AttributeTypeDescriptionRequired
namestring The name of the environment variable. True
dirdirectory The value for a directory-based environment variable. NAnt will convert it to an absolute path. False
filefile The value for a file-based environment variable. NAnt will convert it to an absolute filename. False
ifbool Indicates if the environment variable should be passed to the external program. If true then the environment variable will be passed; otherwise, skipped. The default is true. False
path<path> The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. False
unlessbool Indicates if the environment variable should not be passed to the external program. If false then the environment variable will be passed; otherwise, skipped. The default is false. False
valuestring The literal value for the environment variable. False

Nested Elements:

- <path> -

Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
Environment variable to pass to a program.

Represents an environment variable.

Parameters

AttributeTypeDescriptionRequired
namestring The name of the environment variable. True
dirdirectory The value for a directory-based environment variable. NAnt will convert it to an absolute path. False
filefile The value for a file-based environment variable. NAnt will convert it to an absolute filename. False
ifbool Indicates if the environment variable should be passed to the external program. If true then the environment variable will be passed; otherwise, skipped. The default is true. False
path<path> The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. False
unlessbool Indicates if the environment variable should not be passed to the external program. If false then the environment variable will be passed; otherwise, skipped. The default is false. False
valuestring The literal value for the environment variable. False

Nested Elements:

+ <path> +

Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

- - </variable> + + </variable>

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html index 82345085..453aaffe 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html @@ -19,11 +19,12 @@ -> Element Reference -> <env> - - v0.85 + + v0.91-alpha2

<env>

+

[This is preliminary documentation and subject to change.]

Represents an environment variable.

Parameters

@@ -82,18 +83,18 @@

- - <path> + + <path>

Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

- - </path> + + </path>

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html index 78e8a058..f4a52751 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html @@ -19,11 +19,12 @@ -> Element Reference -> FileSet.Exclude - - v0.85 + + v0.91-alpha2

FileSet.Exclude

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -57,7 +58,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html index e59bda1e..e9231c78 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html @@ -19,11 +19,12 @@ -> Element Reference -> FileSet.ExcludesFile - - v0.85 + + v0.91-alpha2

FileSet.ExcludesFile

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -57,7 +58,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html index cf0be6e7..4478fd1c 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html @@ -19,11 +19,12 @@ -> Element Reference -> FileSet.Include - - v0.85 + + v0.91-alpha2

FileSet.Include

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -69,7 +70,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html index 8643831e..effe9ab6 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html @@ -19,11 +19,12 @@ -> Element Reference -> FileSet.IncludesFile - - v0.85 + + v0.91-alpha2

FileSet.IncludesFile

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -69,7 +70,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html index 9953cbc9..d8cc18ba 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html @@ -19,11 +19,12 @@ -> Element Reference -> <formatter> - - v0.85 + + v0.91-alpha2

<formatter>

+

[This is preliminary documentation and subject to change.]

Parameters

@@ -63,7 +64,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html index 8a93425b..e4d54be2 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html @@ -19,11 +19,12 @@ -> Element Reference -> <option> - - v0.85 + + v0.91-alpha2

<option>

+

[This is preliminary documentation and subject to change.]

Represents an option.

Parameters

@@ -62,7 +63,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html index 92392760..45c9ffb5 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html @@ -19,11 +19,12 @@ -> Element Reference -> <pathelement> - - v0.85 + + v0.91-alpha2

<pathelement>

+

[This is preliminary documentation and subject to change.]

Represents a nested path element.

Parameters

@@ -68,7 +69,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html index 719dbb0c..854ceb91 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html @@ -19,15 +19,16 @@ -> Element Reference -> RawXml - - v0.85 + + v0.91-alpha2

RawXml

+

[This is preliminary documentation and subject to change.]

Represents an element of which the XML is processed by its parent task or type.

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html index 6d1c2975..2093204c 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html @@ -19,11 +19,12 @@ -> Element Reference -> <token> - - v0.85 + + v0.91-alpha2

<token>

+

[This is preliminary documentation and subject to change.]

ReplaceTokens filter token.

Parameters

@@ -62,7 +63,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html index e1968a6e..f102fd6f 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html @@ -19,11 +19,12 @@ -> Element Reference -> <namespace> - - v0.85 + + v0.91-alpha2

<namespace>

+

[This is preliminary documentation and subject to change.]

Represents an XML namespace.

Parameters

@@ -62,7 +63,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html index 27ac2a21..73e2d3a3 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html @@ -19,11 +19,12 @@ -> Element Reference -> <xsltextensionobject> - - v0.85 + + v0.91-alpha2

<xsltextensionobject>

+

[This is preliminary documentation and subject to change.]

Represents an XSLT extension object. The object should have a default parameterless constructor and the return value should be one of the four basic XPath data types of number, string, Boolean or node set.

Parameters

@@ -68,7 +69,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html index ef7725ae..bf3ea18b 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html @@ -19,11 +19,12 @@ -> Element Reference -> <xsltparameter> - - v0.85 + + v0.91-alpha2

<xsltparameter>

+

[This is preliminary documentation and subject to change.]

Represents an XSLT parameter.

Parameters

@@ -68,7 +69,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html index fd68e9db..b328922f 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html @@ -19,11 +19,12 @@ -> Element Reference -> CompilerBase - - v0.85 + + v0.91-alpha2

CompilerBase

+

[This is preliminary documentation and subject to change.]

Provides the abstract base class for compiler tasks.

Parameters

@@ -58,6 +59,14 @@ Define conditional compilation symbol(s). False + + delaysign + + DelaySign + + Specifies whether to delay sign the assembly using only the public portion of the strong name key. The default is NotSet. + False + keycontainer string @@ -101,6 +110,12 @@ Icon to associate with the application. False + + win32res + file + Specifies a Win32 resource file (.res). + False + failonerror bool @@ -148,6 +163,20 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + + + supportsdelaysign + bool + Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is false. + False + supportskeycontainer bool @@ -181,7 +210,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -190,53 +220,53 @@

- - <warnaserror> + + <warnaserror>

Controls which warnings should be reported as errors.

- - </warnaserror> + + </warnaserror>

- - <nowarn> + + <nowarn>

Specifies a list of warnings that you want the compiler to suppress.
<warning>

Represents a compiler warning.

Parameters

AttributeTypeDescriptionRequired
numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
</warning>

</nowarn>

- - <lib> + + <lib>

Deprecated. Additional directories to search in for assembly references.

- - </lib> + + </lib>

- - <references> + + <references>

Reference metadata from the specified assembly files.

- - </references> + + </references>

- - <pkg-references> + + <pkg-references>

Specifies list of packages to reference.
<package>

Represents a package.

Parameters

AttributeTypeDescriptionRequired
namestring Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. True
ifbool Indicates if the package should be passed to the task. If true then the package will be passed; otherwise, skipped. The default is true. False
unlessbool Indicates if the package should not be passed to the task. If false then the package will be passed; otherwise, skipped. The default is false. False
</package>

</pkg-references>

@@ -244,50 +274,50 @@

- - <resources> + + <resources>

Resources to embed.

- - </resources> + + </resources>

- - <modules> + + <modules>

Link the specified modules into this assembly.

- - </modules> + + </modules>

- - <sources> + + <sources>

The set of source files for compilation.

- - </sources> + + </sources>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -297,12 +327,12 @@
         

- - </arg> + + </arg>

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html index 881881d0..e5e9d06c 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html @@ -19,11 +19,12 @@ -> Element Reference -> <attribute> - - v0.85 + + v0.91-alpha2

<attribute>

+

[This is preliminary documentation and subject to change.]

Represents an assembly-level attribute.

Parameters

@@ -68,7 +69,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html index 9b6b9556..ed9851ea 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html @@ -19,11 +19,12 @@ -> Element Reference -> CompilerWarning - - v0.85 + + v0.91-alpha2

CompilerWarning

+

[This is preliminary documentation and subject to change.]

Represents a compiler warning.

Parameters

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html index 824464d5..fe22bbe6 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html @@ -19,11 +19,12 @@ -> Element Reference -> DataTypeCollectionBase - - v0.85 + + v0.91-alpha2

DataTypeCollectionBase

+

[This is preliminary documentation and subject to change.]

Base class for collections that needs to be globally referencable.

Parameters

@@ -50,7 +51,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html index 6cba8a76..2b723cd0 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html @@ -19,11 +19,12 @@ -> Element Reference -> EmbeddedResourceCollection - - v0.85 + + v0.91-alpha2

EmbeddedResourceCollection

-

Contains a collection of EmbeddedResource items.

Do not yet expose this to build authors.

Parameters

AttributeTypeDescriptionRequired
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False

Requirements

Assembly: NAnt.DotNetTasks (0.85.2478.0) +

[This is preliminary documentation and subject to change.]

+

Contains a collection of EmbeddedResource items.

Do not yet expose this to build authors.

Parameters

AttributeTypeDescriptionRequired
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False

Requirements

Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html index 25741f9f..27c84f91 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html @@ -19,39 +19,44 @@ -> Element Reference -> LibDirectorySet - - v0.85 + + v0.91-alpha2

LibDirectorySet

-

A specialized <fileset> used for setting the lib directories.

The primary reason for this class is to allow the BaseDirectory to always be the same value as the parent <assemblyfileset>

Parameters

AttributeTypeDescriptionRequired
defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False

Nested Elements:

- <includes> -

Deprecated. The items to include in the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to include. True
asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the file will be searched for on the path. The default is false. False
ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

- </includes> -

- <include> -

The items to include in the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to include. True
asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the file will be searched for on the path. The default is false. False
ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

- </include> -

- <excludes> -

Deprecated. The items to exclude from the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to exclude. True
ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

- </excludes> -

- <exclude> -

The items to exclude from the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to exclude. True
ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

- </exclude> -

- <includesList> -

Deprecated. The files from which a list of patterns or files to include should be obtained.

Parameters

AttributeTypeDescriptionRequired
asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
namefile The name of a file; each line of this file is taken to be a pattern. True

- </includesList> -

- <includesfile> -

The files from which a list of patterns or files to include should be obtained.

Parameters

AttributeTypeDescriptionRequired
asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
namefile The name of a file; each line of this file is taken to be a pattern. True

- </includesfile> -

- <excludesfile> -

The files from which a list of patterns or files to exclude should be obtained.

Parameters

AttributeTypeDescriptionRequired
namefile The name of a file; each line of this file is taken to be a pattern. True
ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

- </excludesfile> -

Requirements

Assembly: NAnt.DotNetTasks (0.85.2478.0) +

[This is preliminary documentation and subject to change.]

+

A specialized <fileset> used for setting the lib directories.

The primary reason for this class is to allow the BaseDirectory to always be the same value as the parent <assemblyfileset>

Parameters

AttributeTypeDescriptionRequired
casesensitivebool Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. False
defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False

Nested Elements:

+ <includes> +

Deprecated. The items to include in the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to include. True
asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the file will be searched for on the path. The default is false. False
ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

+ </includes> +

+ <include> +

The items to include in the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to include. True
asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the file will be searched for on the path. The default is false. False
ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

+ </include> +

+ <excludes> +

Deprecated. The items to exclude from the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to exclude. True
ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

+ </excludes> +

+ <exclude> +

The items to exclude from the fileset.

Parameters

AttributeTypeDescriptionRequired
namestring The pattern or file name to exclude. True
ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

+ </exclude> +

+ <includesList> +

Deprecated. The files from which a list of patterns or files to include should be obtained.

Parameters

AttributeTypeDescriptionRequired
asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
namefile The name of a file; each line of this file is taken to be a pattern. True

+ </includesList> +

+ <includesfile> +

The files from which a list of patterns or files to include should be obtained.

Parameters

AttributeTypeDescriptionRequired
asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
namefile The name of a file; each line of this file is taken to be a pattern. True

+ </includesfile> +

+ <excludesfile> +

The files from which a list of patterns or files to exclude should be obtained.

Parameters

AttributeTypeDescriptionRequired
namefile The name of a file; each line of this file is taken to be a pattern. True
ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

+ </excludesfile> +

+ <patternset> +

Adds a nested set of patterns, or references a standalone patternset.

+ </patternset> +

Requirements

Assembly: NAnt.DotNetTasks (0.91.3881.0)

See Also

<fileset> \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html index 7d7f6f40..b94e8d0e 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html @@ -19,11 +19,12 @@ -> Element Reference -> <import> - - v0.85 + + v0.91-alpha2

<import>

+

[This is preliminary documentation and subject to change.]

Represents a namespace to import.

Parameters

@@ -63,7 +64,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html index 0212a53d..1b6c228a 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html @@ -19,11 +19,12 @@ -> Element Reference -> Package - - v0.85 + + v0.91-alpha2

Package

+

[This is preliminary documentation and subject to change.]

Represents a package.

Parameters

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html b/build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html index 6496cc53..19ac2d20 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html @@ -19,11 +19,12 @@ -> Element Reference -> <formatter> - - v0.85 + + v0.91-alpha2

<formatter>

+

[This is preliminary documentation and subject to change.]

Represents the FormatterElement of the NUnit task.

Parameters

@@ -64,7 +65,7 @@

Requirements

- Assembly: NAnt.NUnit (0.85.2478.0) + Assembly: NAnt.NUnit (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html b/build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html index 3ad5700c..ca1929c4 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html @@ -19,11 +19,12 @@ -> Element Reference -> <test> - - v0.85 + + v0.91-alpha2

<test>

+

[This is preliminary documentation and subject to change.]

Represents a test element of an <nunit> task.

Parameters

@@ -86,7 +87,7 @@

Requirements

- Assembly: NAnt.NUnit1Tasks (0.85.2478.0) + Assembly: NAnt.NUnit1Tasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html index 31b12587..cb61019d 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html @@ -19,11 +19,12 @@ -> Element Reference -> Category - - v0.85 + + v0.91-alpha2

Category

+

[This is preliminary documentation and subject to change.]

Represents a certain group of test cases or fixtures.

Parameters

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.NUnit2Tasks (0.85.2478.0) + Assembly: NAnt.NUnit2Tasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html index f74db1ec..8bc27315 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html @@ -19,11 +19,12 @@ -> Element Reference -> <test> - - v0.85 + + v0.91-alpha2

<test>

+

[This is preliminary documentation and subject to change.]

Represents a test element of an <nunit2> task.

Parameters

@@ -70,30 +71,42 @@

- - <assemblies> + + <assemblies>

Assemblies to include in test.

- - </assemblies> + + </assemblies> +

+ +

+ + + <references> +

+
Assemblies to scan for missing assembly references.

+

+ + + </references>

- - <categories> + + <categories>

Categories of test cases to include or exclude.

- - </categories> + + </categories>

Requirements

- Assembly: NAnt.NUnit2Tasks (0.85.2478.0) + Assembly: NAnt.NUnit2Tasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html index 02705cc0..2cff8525 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html @@ -19,11 +19,12 @@ -> Element Reference -> AbstractCvsTask - - v0.85 + + v0.91-alpha2

AbstractCvsTask

+

[This is preliminary documentation and subject to change.]

A base class for creating tasks for executing CVS client commands on a CVS repository.

Parameters

@@ -178,10 +179,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -190,26 +200,26 @@

- - <fileset> + + <fileset>

Used to specify the version control system (VCS) files that are going to be acted on.

- - </fileset> + + </fileset>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -219,12 +229,12 @@
         

- - </arg> + + </arg>

Requirements

- Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html index 677127f5..388fc2b5 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html @@ -19,11 +19,12 @@ -> Element Reference -> AbstractSourceControlTask - - v0.85 + + v0.91-alpha2

AbstractSourceControlTask

+

[This is preliminary documentation and subject to change.]

A base class for creating tasks for executing CVS client commands on a CVS repository.

Parameters

@@ -106,10 +107,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -118,26 +128,26 @@

- - <fileset> + + <fileset>

Used to specify the version control system (VCS) files that are going to be acted on.

- - </fileset> + + </fileset>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -147,12 +157,12 @@
         

- - </arg> + + </arg>

Requirements

- Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html b/build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html index a32e9f61..ffc7068e 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html @@ -19,11 +19,12 @@ -> Element Reference -> WebMap - - v0.85 + + v0.91-alpha2

WebMap

+

[This is preliminary documentation and subject to change.]

Represents a single mapping from URL project path to physical project path.

Parameters

@@ -68,7 +69,7 @@

Requirements

- Assembly: NAnt.VSNetTasks (0.85.2478.0) + Assembly: NAnt.VSNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html index 7dd2bfb3..c765578c 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html @@ -19,11 +19,12 @@ -> Element Reference -> Library - - v0.85 + + v0.91-alpha2

Library

+

[This is preliminary documentation and subject to change.]

Represents a library.

Parameters

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html index 84f4da29..42b874eb 100644 --- a/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html +++ b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html @@ -19,11 +19,12 @@ -> Element Reference -> Symbol - - v0.85 + + v0.91-alpha2

Symbol

+

[This is preliminary documentation and subject to change.]

Represents a symbol.

Parameters

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html b/build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html index dddef0ee..7b95acec 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html @@ -19,11 +19,12 @@ -> Enum Reference -> DuplicateHandling - - v0.85 + + v0.91-alpha2

DuplicateHandling

+

[This is preliminary documentation and subject to change.]

Specifies how entries with the same name should be processed.

Fields

@@ -48,7 +49,7 @@

Requirements

- Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html b/build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html index 91f86d39..8b0d6073 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html @@ -19,11 +19,12 @@ -> Enum Reference -> Level - - v0.85 + + v0.91-alpha2

Level

+

[This is preliminary documentation and subject to change.]

Defines the set of levels recognised by the NAnt logging system.

Fields

@@ -60,7 +61,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html index db8a5dea..06c0ed3a 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html @@ -19,11 +19,12 @@ -> Enum Reference -> AvailableTask.ResourceType - - v0.85 + + v0.91-alpha2

AvailableTask.ResourceType

+

[This is preliminary documentation and subject to change.]

Defines the possible resource checks.

Fields

@@ -52,7 +53,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html index 48f4d3c0..c5800d4a 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html @@ -19,11 +19,12 @@ -> Enum Reference -> LoopTask.LoopItem - - v0.85 + + v0.91-alpha2

LoopTask.LoopItem

+

[This is preliminary documentation and subject to change.]

Fields

@@ -57,7 +58,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html index 4d856a1f..fd885a35 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html @@ -19,11 +19,12 @@ -> Enum Reference -> LoopTask.LoopTrim - - v0.85 + + v0.91-alpha2

LoopTask.LoopTrim

+

[This is preliminary documentation and subject to change.]

Fields

@@ -53,7 +54,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html index 064f4a6c..0b2a7ac2 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html @@ -19,11 +19,12 @@ -> Enum Reference -> AssemblyInfoTask.CodeLanguage - - v0.85 + + v0.91-alpha2

AssemblyInfoTask.CodeLanguage

+

[This is preliminary documentation and subject to change.]

Defines the supported code languages for generating an AssemblyInfo file.

Fields

@@ -48,7 +49,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html index b8924a88..234d5fc5 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html @@ -19,11 +19,12 @@ -> Enum Reference -> RegsvcsTask.ActionType - - v0.85 + + v0.91-alpha2

RegsvcsTask.ActionType

+

[This is preliminary documentation and subject to change.]

Defines the possible actions for a .NET Service.

Fields

@@ -48,7 +49,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html index 05673c42..3e067c87 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html @@ -19,11 +19,12 @@ -> Enum Reference -> DebugOutput - - v0.85 + + v0.91-alpha2

DebugOutput

+

[This is preliminary documentation and subject to change.]

Specifies the type of debugging information generated by the compiler.

For backward compatibility, the following string values can also be used in build files:

@@ -78,7 +79,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html b/build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html index bb1e76a9..e9f7d41d 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html @@ -19,11 +19,12 @@ -> Enum Reference -> ServiceControllerTask.ActionType - - v0.85 + + v0.91-alpha2

ServiceControllerTask.ActionType

+

[This is preliminary documentation and subject to change.]

Defines the actions that can be performed on a service.

Fields

@@ -56,7 +57,7 @@

Requirements

- Assembly: NAnt.MSNetTasks (0.85.2478.0) + Assembly: NAnt.MSNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html b/build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html index 0ad67614..356f5cc1 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html @@ -19,11 +19,12 @@ -> Enum Reference -> FormatterType - - v0.85 + + v0.91-alpha2

FormatterType

+

[This is preliminary documentation and subject to change.]

The built-in formatter types.

Fields

@@ -44,7 +45,7 @@

Requirements

- Assembly: NAnt.NUnit (0.85.2478.0) + Assembly: NAnt.NUnit (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html index 3b03bad1..ec1f9f16 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html @@ -19,11 +19,12 @@ -> Enum Reference -> ClTask.PrecompiledHeaderMode - - v0.85 + + v0.91-alpha2

ClTask.PrecompiledHeaderMode

+

[This is preliminary documentation and subject to change.]

Defines the supported modes for the use of precompiled header files.

Fields

@@ -48,7 +49,7 @@

Requirements

- Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html index dd69c40b..687d69c6 100644 --- a/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html +++ b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html @@ -19,11 +19,12 @@ -> Enum Reference -> CharacterSet - - v0.85 + + v0.91-alpha2

CharacterSet

+

[This is preliminary documentation and subject to change.]

Defines the character sets that can be used by the C++ compiler.

Fields

@@ -48,7 +49,7 @@

Requirements

- Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/filters/expandproperties.html b/build-support/tools/nant/doc/help/filters/expandproperties.html index 3782b25b..4633de6a 100644 --- a/build-support/tools/nant/doc/help/filters/expandproperties.html +++ b/build-support/tools/nant/doc/help/filters/expandproperties.html @@ -19,15 +19,16 @@ -> Filter Reference -> <expandproperties> - - v0.85 + + v0.91-alpha2

<expandproperties>

+

[This is preliminary documentation and subject to change.]

Parses NAnt properties and expressions

This filter parses any NAnt properties or expressions found in its input, inlining their values in its output.

Note: Due to limitations on buffering, expressions longer than 2048 characters are not guaranteed to be expanded.

Filters are intended to be used as a element of a <filterchain>.

Parameters

AttributeTypeDescriptionRequired
ifbool If true then the filter will be used; otherwise, skipped. The default is true. False
unlessbool Opposite of if. If false then the filter will be executed; otherwise, skipped. The default is false. False

Examples

  • Replace all properties with their corresponding values.

     <expandproperties />
    -    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

Requirements

Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/filters/index.html b/build-support/tools/nant/doc/help/filters/index.html index 7b1dd183..f9b2c01f 100644 --- a/build-support/tools/nant/doc/help/filters/index.html +++ b/build-support/tools/nant/doc/help/filters/index.html @@ -16,14 +16,15 @@ -> Help - -> - Filter Reference + -> + Filter Reference - - v0.85 + + v0.91-alpha2

Filter Reference

+

[This is preliminary documentation and subject to change.]

diff --git a/build-support/tools/nant/doc/help/filters/replacestring.html b/build-support/tools/nant/doc/help/filters/replacestring.html index 3ef08906..2d958251 100644 --- a/build-support/tools/nant/doc/help/filters/replacestring.html +++ b/build-support/tools/nant/doc/help/filters/replacestring.html @@ -19,11 +19,12 @@ ->Filter Reference-> <replacestring> - +

<replacestring>

+

[This is preliminary documentation and subject to change.]

Replaces all occurrences of a given string in the original input with user-supplied replacement string.

This filter replaces all occurrences of a given string in the original input stream with a user-supplied replacement string. By default string comparisons are case sensitive but this can be changed by setting the optional ignorecase attribute to true.

To use this filter specify the string to be replaced with the from attribute and the string to replace it with using the to attribute.

@@ -86,7 +87,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/filters/replacetokens.html b/build-support/tools/nant/doc/help/filters/replacetokens.html index 615145c4..a290f57e 100644 --- a/build-support/tools/nant/doc/help/filters/replacetokens.html +++ b/build-support/tools/nant/doc/help/filters/replacetokens.html @@ -19,11 +19,12 @@ -> Filter Reference -> <replacetokens> - - v0.85 + + v0.91-alpha2

<replacetokens>

+

[This is preliminary documentation and subject to change.]

Replaces tokens in the original input with user-supplied values.

This filter replaces all token surrounded by a beginning and ending token. The default beginning and ending tokens both default to '@'. The optional begintoken and endtoken attributes can be specified to change either token. By default string comparisons are case sensitive but this can be changed by setting the optional ignorecase attribute to true.

Tokens are specified by using the Token element. It is possible to specify from 1 to n tokens and replacement values. Values can be any valid NAnt expression.

@@ -74,14 +75,14 @@

- - <token> + + <token>

Tokens and replacement values.

ReplaceTokens filter token.

Parameters

AttributeTypeDescriptionRequired
keystring Token to be replaced. True
valuestring New value of token. True
ifbool Indicates if the token should be used to replace values. If true then the token will be used; otherwise, not. The default is true. False
unlessbool Indicates if the token should not be used to replace values. If false then the token will be used; otherwise, not. The default is false. False

- - </token> + + </token>

Examples

    @@ -104,7 +105,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/filters/tabstospaces.html b/build-support/tools/nant/doc/help/filters/tabstospaces.html index ebf1bacb..49abfe31 100644 --- a/build-support/tools/nant/doc/help/filters/tabstospaces.html +++ b/build-support/tools/nant/doc/help/filters/tabstospaces.html @@ -19,11 +19,12 @@ -> Filter Reference -> <tabstospaces> - - v0.85 + + v0.91-alpha2

<tabstospaces>

+

[This is preliminary documentation and subject to change.]

Converts tabs to spaces.

The <tabstospaces> filter replaces tabs in a text file with spaces.

Filters are intended to be used as a element of a <filterchain>.

@@ -67,7 +68,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/index.html b/build-support/tools/nant/doc/help/functions/index.html index c7b96f2c..0085be14 100644 --- a/build-support/tools/nant/doc/help/functions/index.html +++ b/build-support/tools/nant/doc/help/functions/index.html @@ -16,14 +16,15 @@ -> Help - -> - Function Reference + -> + Function Reference - - v0.85 + + v0.91-alpha2

Function Reference

+

[This is preliminary documentation and subject to change.]

Assembly Functions
Conversion Functions @@ -32,6 +33,8 @@
Directory Functions
+ DNS Functions +
Environment Functions
File Functions @@ -65,67 +68,67 @@ - assembly::get-full-name + assembly::get-full-name Gets the full name of the assembly, also known as the display name. - assembly::get-location + assembly::get-location Gets the physical location, in codebase format, of the loaded file that contains the manifest. - assembly::get-name + assembly::get-name Gets an AssemblyName for the specified assembly. - assembly::load + assembly::load Loads an assembly given the long form of its name. - assembly::load-from-file + assembly::load-from-file Loads an assembly given its file name or path. - assemblyname::get-assembly-name + assemblyname::get-assembly-name Gets the AssemblyName for a given file. - assemblyname::get-codebase + assemblyname::get-codebase Gets the location of the assembly as a URL. - assemblyname::get-escaped-codebase + assemblyname::get-escaped-codebase Gets the URI, including escape characters, that represents the codebase. - assemblyname::get-full-name + assemblyname::get-full-name Gets the full name of the assembly, also known as the display name. - assemblyname::get-name + assemblyname::get-name Gets the simple, unencrypted name of the assembly. - assemblyname::get-version + assemblyname::get-version Gets the version of the assembly. @@ -146,19 +149,19 @@ - bool::parse + bool::parse Converts the specified string representation of a logical value to its Boolean equivalent. - bool::to-string + bool::to-string Converts the specified Boolean to its equivalent string representation. - + convert::to-boolean @@ -166,7 +169,7 @@ - + convert::to-datetime @@ -174,7 +177,7 @@ - + convert::to-double @@ -182,7 +185,7 @@ - + convert::to-int @@ -190,7 +193,7 @@ - + convert::to-string @@ -198,73 +201,73 @@ - datetime::parse + datetime::parse Converts the specified string representation of a date and time to its DateTime equivalent. - datetime::to-string + datetime::to-string Converts the specified DateTime to its equivalent string representation. - double::parse + double::parse Converts the specified string representation of a number to its double-precision floating point number equivalent. - double::to-string + double::to-string Converts the specified Double to its equivalent string representation. - int::parse + int::parse Converts the specified string representation of a number to its 32-bit signed integer equivalent. - int::to-string + int::to-string Converts the specified Int32 to its equivalent string representation. - long::parse + long::parse Converts the specified string representation of a number to its 64-bit signed integer equivalent. - long::to-string + long::to-string Converts the specified Int64 to its equivalent string representation. - timespan::parse + timespan::parse Constructs a TimeSpan from a time indicated by a specified string. - timespan::to-string + timespan::to-string Converts the specified TimeSpan to its equivalent string representation. - version::parse + version::parse Converts the specified string representation of a version to its Version equivalent. - version::to-string + version::to-string Converts the specified Version to its equivalent string representation. @@ -285,181 +288,181 @@ - datetime::get-day + datetime::get-day Gets the day of the month represented by the specified date. - datetime::get-day-of-week + datetime::get-day-of-week Gets the day of the week represented by the specified date. - datetime::get-day-of-year + datetime::get-day-of-year Gets the day of the year represented by the specified date. - datetime::get-days-in-month + datetime::get-days-in-month Returns the number of days in the specified month of the specified year. - datetime::get-hour + datetime::get-hour Gets the hour component of the specified date. - datetime::get-millisecond + datetime::get-millisecond Gets the milliseconds component of the specified date. - datetime::get-minute + datetime::get-minute Gets the minute component of the specified date. - datetime::get-month + datetime::get-month Gets the month component of the specified date. - datetime::get-second + datetime::get-second Gets the seconds component of the specified date. - datetime::get-ticks + datetime::get-ticks Gets the number of ticks that represent the specified date. - datetime::get-year + datetime::get-year Gets the year component of the specified date. - datetime::is-leap-year + datetime::is-leap-year Returns an indication whether the specified year is a leap year. - datetime::now + datetime::now Gets a DateTime that is the current local date and time on this computer. - timespan::from-days + timespan::from-days Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond. - timespan::from-hours + timespan::from-hours Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond. - timespan::from-milliseconds + timespan::from-milliseconds Returns a TimeSpan that represents a specified number of milliseconds. - timespan::from-minutes + timespan::from-minutes Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond. - timespan::from-seconds + timespan::from-seconds Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond. - timespan::from-ticks + timespan::from-ticks Returns a TimeSpan that represents a specified time, where the specification is in units of ticks. - timespan::get-days + timespan::get-days Returns the number of whole days represented by the specified TimeSpan. - timespan::get-hours + timespan::get-hours Returns the number of whole hours represented by the specified TimeSpan. - timespan::get-milliseconds + timespan::get-milliseconds Returns the number of whole milliseconds represented by the specified TimeSpan. - timespan::get-minutes + timespan::get-minutes Returns the number of whole minutes represented by the specified TimeSpan. - timespan::get-seconds + timespan::get-seconds Returns the number of whole seconds represented by the specified TimeSpan. - timespan::get-ticks + timespan::get-ticks Returns the number of ticks contained in the specified TimeSpan. - timespan::get-total-days + timespan::get-total-days Returns the total number of days represented by the specified TimeSpan, expressed in whole and fractional days. - timespan::get-total-hours + timespan::get-total-hours Returns the total number of hours represented by the specified TimeSpan, expressed in whole and fractional hours. - timespan::get-total-milliseconds + timespan::get-total-milliseconds Returns the total number of milliseconds represented by the specified TimeSpan, expressed in whole and fractional milliseconds. - timespan::get-total-minutes + timespan::get-total-minutes Returns the total number of minutes represented by the specified TimeSpan, expressed in whole and fractional minutes. - timespan::get-total-seconds + timespan::get-total-seconds Returns the total number of seconds represented by the specified TimeSpan, expressed in whole and fractional seconds. @@ -480,48 +483,69 @@ - directory::exists + directory::exists Determines whether the given path refers to an existing directory on disk. - directory::get-creation-time + directory::get-creation-time Returns the creation date and time of the specified directory. - directory::get-current-directory + directory::get-current-directory Gets the current working directory. - directory::get-directory-root + directory::get-directory-root Returns the volume information, root information, or both for the specified path. - directory::get-last-access-time + directory::get-last-access-time Returns the date and time the specified directory was last accessed. - directory::get-last-write-time + directory::get-last-write-time Returns the date and time the specified directory was last written to. - directory::get-parent-directory + directory::get-parent-directory Retrieves the parent directory of the specified path.
+ + +

DNS Functions

+
+ + + + + + + + + + + + + +
NameSummary
+ dns::get-host-name + Gets the host name of the local computer.
+

Environment Functions

@@ -537,43 +561,49 @@ - environment::get-folder-path + environment::get-folder-path Gets the path to the system special folder identified by the specified enumeration. - environment::get-machine-name + environment::get-machine-name Gets the NetBIOS name of this local computer. - environment::get-operating-system + environment::get-operating-system Gets an OperatingSystem object that represents the current operating system. - environment::get-user-name + environment::get-user-name Gets the user name of the person who started the current thread. - environment::get-variable + environment::get-variable Returns the value of the specified environment variable. - environment::get-version + environment::get-version Gets a Version object that describes the major, minor, build, and revision numbers of the Common Language Runtime. - environment::variable-exists + environment::newline + + Gets the newline string defined for this environment. + + + + environment::variable-exists Gets a value indicating whether the specified environment variable exists. @@ -594,43 +624,43 @@ - file::exists + file::exists Determines whether the specified file exists. - file::get-creation-time + file::get-creation-time Returns the creation date and time of the specified file. - file::get-last-access-time + file::get-last-access-time Returns the date and time the specified file was last accessed. - file::get-last-write-time + file::get-last-write-time Returns the date and time the specified file was last written to. - file::get-length + file::get-length Gets the length of the file. - file::is-assembly + file::is-assembly Checks if a given file is an assembly. - file::up-to-date + file::up-to-date Determines whether targetFile is more or equal up-to-date than srcFile. @@ -651,25 +681,25 @@ - math::abs + math::abs Returns the absolute value of the specified number - math::ceiling + math::ceiling Returns the smallest whole number greater than or equal to the specified number - math::floor + math::floor Returns the largest whole number less than or equal to the specified number. - math::round + math::round Rounds the value to the nearest whole number @@ -690,187 +720,225 @@ - framework::exists + framework::exists - Checks whether the specified framework exists. + Checks whether the specified framework exists, and is valid. - framework::get-assembly-directory + framework::get-assembly-directory Gets the assembly directory of the specified framework. - framework::get-clr-version + framework::get-clr-version + + Gets the Common Language Runtime version of the current target framework. + + + + framework::get-clr-version Gets the Common Language Runtime version of the specified framework. - framework::get-description + framework::get-description + + Gets the description of the current target framework. + + + + framework::get-description Gets the description of the specified framework. - framework::get-family + framework::get-family Gets the family of the specified framework. - framework::get-framework-directory + framework::get-framework-directory Gets the framework directory of the specified framework. - framework::get-runtime-engine + framework::get-frameworks + + Gets a comma-separated list of frameworks filtered by the specified FrameworkTypes. + + + + framework::get-runtime-engine Gets the runtime engine of the specified framework. - framework::get-runtime-framework + framework::get-runtime-framework Gets the identifier of the runtime framework. - framework::get-sdk-directory + framework::get-sdk-directory Gets the SDK directory of the specified framework. - framework::get-target-framework + framework::get-target-framework Gets the identifier of the current target framework. - framework::get-version + framework::get-tool-path + + Gets the absolute path of the specified tool for the current target framework. + + + + framework::get-version + + Gets the version of the current target framework. + + + + framework::get-version Gets the version of the specified framework. - framework::sdk-exists + framework::sdk-exists Checks whether the SDK for the specified framework is installed. - nant::get-assembly + nant::get-assembly Gets the NAnt assembly. - nant::get-base-directory + nant::get-base-directory Gets the base directory of the appdomain in which NAnt is running. - platform::get-name + platform::get-name Gets the name of the platform on which NAnt is running. - platform::is-unix + platform::is-unix - Checks whether NAnt is running on unix. + Checks whether NAnt is running on Unix. - platform::is-win32 + + platform::is-win32 + - Checks whether NAnt is running on the win32 platform. + Checks whether NAnt is running on Windows (and not just 32-bit Windows as the name may lead you to believe). - project::get-base-directory + platform::is-windows + + Checks whether NAnt is running on Windows. + + + + project::get-base-directory Gets the base directory of the current project. - project::get-buildfile-path + project::get-buildfile-path Gets the local path to the build file. - project::get-buildfile-uri + project::get-buildfile-uri Gets the Uri form of the build file. - project::get-default-target + project::get-default-target Gets the name of the target that will be executed when no other build targets are specified. - project::get-name + project::get-name Gets the name of the current project. - property::exists + property::exists Checks whether the specified property exists. - property::get-value + property::get-value Gets the value of the specified property. - property::is-dynamic + property::is-dynamic Checks whether the specified property is a dynamic property. - property::is-readonly + property::is-readonly Checks whether the specified property is read-only. - target::exists + target::exists Checks whether the specified target exists. - target::get-current-target + target::get-current-target Gets the name of the target being executed. - target::has-executed + target::has-executed Checks whether the specified target has already been executed. - task::exists + task::exists Checks whether the specified task exists. - task::get-assembly + task::get-assembly Returns the Assembly from which the specified task was loaded. @@ -891,19 +959,19 @@ - operating-system::get-platform + operating-system::get-platform Gets a PlatformID value that identifies the operating system platform. - operating-system::get-version + operating-system::get-version Gets a Version object that identifies this operating system. - operating-system::to-string + operating-system::to-string Converts the value of the specified operating system to its equivalent String representation. @@ -924,73 +992,73 @@ - path::change-extension + path::change-extension Changes the extension of the path string. - path::combine + path::combine Combines two paths. - path::get-directory-name + path::get-directory-name Returns the directory information for the specified path string. - path::get-extension + path::get-extension Returns the extension for the specified path string. - path::get-file-name + path::get-file-name Returns the filename for the specified path string. - path::get-file-name-without-extension + path::get-file-name-without-extension Returns the filename without extension for the specified path string. - path::get-full-path + path::get-full-path Returns the fully qualified path. - path::get-path-root + path::get-path-root Gets the root directory of the specified path. - path::get-temp-file-name + path::get-temp-file-name Returns a uniquely named zero-byte temporary file on disk and returns the full path to that file. - path::get-temp-path + path::get-temp-path Gets the path to the temporary directory. - path::has-extension + path::has-extension Determines whether a path string includes an extension. - path::is-path-rooted + path::is-path-rooted Determines whether a path string is absolute. @@ -1011,91 +1079,91 @@ - string::contains + string::contains Tests whether the specified string contains the given search string. - string::ends-with + string::ends-with Tests whether the specified string ends with the specified suffix string. - string::get-length + string::get-length Returns the length of the specified string. - string::index-of + string::index-of Returns the position of the first occurrence in the specified string of the given search string. - string::last-index-of + string::last-index-of Returns the position of the last occurrence in the specified string of the given search string. - string::pad-left + string::pad-left Returns the given string left-padded to the given length. - string::pad-right + string::pad-right Returns the given string right-padded to the given length. - string::replace + string::replace Returns a string corresponding to the replacement of a given string with another in the specified string. - string::starts-with + string::starts-with Tests whether the specified string starts with the specified prefix string. - string::substring + string::substring Returns a substring of the specified string. - string::to-lower + string::to-lower Returns the specified string converted to lowercase. - string::to-upper + string::to-upper Returns the specified string converted to uppercase. - string::trim + string::trim Returns the given string trimmed of whitespace. - string::trim-end + string::trim-end Returns the given string trimmed of trailing whitespace. - string::trim-start + string::trim-start Returns the given string trimmed of leading whitespace. @@ -1116,73 +1184,73 @@ - cygpath::get-dos-path + cygpath::get-dos-path Gets the DOS (short) form of the specified path. - cygpath::get-unix-path + cygpath::get-unix-path Gets the Unix form of the specified path. - cygpath::get-windows-path + cygpath::get-windows-path Gets the Windows form of the specified path. - pkg-config::exists + pkg-config::exists Determines whether the given package exists. - pkg-config::get-compile-flags + pkg-config::get-compile-flags Gets the compile flags required to compile the package, including all its dependencies. - pkg-config::get-link-flags + pkg-config::get-link-flags Gets the link flags required to compile the package, including all its dependencies. - pkg-config::get-mod-version + pkg-config::get-mod-version Determines the version of the given package. - pkg-config::get-variable + pkg-config::get-variable Gets the value of a variable for the specified package. - pkg-config::is-atleast-version + pkg-config::is-atleast-version Determines whether the given package is at least version version. - pkg-config::is-between-version + pkg-config::is-between-version Determines whether the given package is between two versions. - pkg-config::is-exact-version + pkg-config::is-exact-version Determines whether the given package is exactly version version. - pkg-config::is-max-version + pkg-config::is-max-version Determines whether the given package is at no newer than version version. @@ -1203,55 +1271,55 @@ - fileversioninfo::get-company-name + fileversioninfo::get-company-name Gets the name of the company that produced the file. - fileversioninfo::get-file-version + fileversioninfo::get-file-version Gets the file version of a file. - fileversioninfo::get-product-name + fileversioninfo::get-product-name Gets the name of the product the file is distributed with. - fileversioninfo::get-product-version + fileversioninfo::get-product-version Gets the product version of a file. - fileversioninfo::get-version-info + fileversioninfo::get-version-info Returns a FileVersionInfo representing the version information associated with the specified file. - version::get-build + version::get-build Gets the value of the build component of a given version. - version::get-major + version::get-major Gets the value of the major component of a given version. - version::get-minor + version::get-minor Gets the value of the minor component of a given version. - version::get-revision + version::get-revision Gets the value of the revision component of a given version. diff --git a/build-support/tools/nant/doc/help/fundamentals/buildfiles.html b/build-support/tools/nant/doc/help/fundamentals/buildfiles.html index a8185bd7..58d7248d 100644 --- a/build-support/tools/nant/doc/help/fundamentals/buildfiles.html +++ b/build-support/tools/nant/doc/help/fundamentals/buildfiles.html @@ -1,81 +1,81 @@ - - - - - - - - NAnt - Build Files - - - - - - - - -

Build Files

- -

NAnt's build files are written in XML. Each build file contains one - project and a number of targets.  - Each target contains a number of tasks.

-

Here is a simple build file that compiles a C# HelloWorld project.  -

-
-    <?xml version="1.0"?>
-    <project name="Hello World" default="build" basedir=".">
-        <description>The Hello World of build files.</description>
-        <property name="debug" value="true" overwrite="false" />
-        <target name="clean" description="remove all generated files">
-            <delete file="HelloWorld.exe" failonerror="false" />
-            <delete file="HelloWorld.pdb" failonerror="false" />
-        </target>
-        <target name="build" description="compiles the source code">
-            <csc target="exe" output="HelloWorld.exe" debug="${debug}">
-                <sources>
-                    <includes name="HelloWorld.cs" />
-                </sources>
-            </csc>
-        </target>
-    </project>
-        
-

In this example there are two targets, "clean" and "build".  By default the - "build" target will be called. -

-

Examples

-

You can find the files you need to try out these examples in the examples - folder that comes with the NAnt distribution. -

-
-
nant
-
-
-

Runs NAnt and builds the project in debug mode (the default).

-
-
nant clean
-
-
-

Runs NAnt and removes the compiled files if they exist.

-
-
nant -D:debug=false
-
-
-

Runs NAnt and builds the project in non-debug mode.  Even though the build - file sets the debug property to true, the value that is set on the command line - will not be touched, as the "overwrite" attribute on the - <property> - task is set to "false".

-

Important: Some tasks like the compiler tasks will only execute - if the date stamp of the generated file is older than the source files.  - If you compile HelloWorld project in debug mode and then try to compile it - again in non-debug mode without first cleaning nothing will happen because NAnt - will think the project does not need rebuilding.

- - + + + + + + + + NAnt - Build Files + + + + + + + + +

Build Files

+

[This is preliminary documentation and subject to change.]

+

NAnt's build files are written in XML. Each build file contains one + project and a number of targets.  + Each target contains a number of tasks.

+

Here is a simple build file that compiles a C# HelloWorld project.  +

+
+    <?xml version="1.0"?>
+    <project name="Hello World" default="build" basedir=".">
+        <description>The Hello World of build files.</description>
+        <property name="debug" value="true" overwrite="false" />
+        <target name="clean" description="remove all generated files">
+            <delete file="HelloWorld.exe" failonerror="false" />
+            <delete file="HelloWorld.pdb" failonerror="false" />
+        </target>
+        <target name="build" description="compiles the source code">
+            <csc target="exe" output="HelloWorld.exe" debug="${debug}">
+                <sources>
+                    <includes name="HelloWorld.cs" />
+                </sources>
+            </csc>
+        </target>
+    </project>
+        
+

In this example there are two targets, "clean" and "build".  By default the + "build" target will be called. +

+

Examples

+

You can find the files you need to try out these examples in the examples + folder that comes with the NAnt distribution. +

+
+
nant
+
+
+

Runs NAnt and builds the project in debug mode (the default).

+
+
nant clean
+
+
+

Runs NAnt and removes the compiled files if they exist.

+
+
nant -D:debug=false
+
+
+

Runs NAnt and builds the project in non-debug mode.  Even though the build + file sets the debug property to true, the value that is set on the command line + will not be touched, as the "overwrite" attribute on the + <property> + task is set to "false".

+

Important: Some tasks like the compiler tasks will only execute + if the date stamp of the generated file is older than the source files.  + If you compile HelloWorld project in debug mode and then try to compile it + again in non-debug mode without first cleaning nothing will happen because NAnt + will think the project does not need rebuilding.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/expressions.html b/build-support/tools/nant/doc/help/fundamentals/expressions.html index f89a3f2b..c639f790 100644 --- a/build-support/tools/nant/doc/help/fundamentals/expressions.html +++ b/build-support/tools/nant/doc/help/fundamentals/expressions.html @@ -1,1898 +1,2127 @@ - - - - - - - - NAnt - Expressions - - - - - - - - -

Expressions

- -

Contents

-
- 1 Introduction
- 2 Expression syntax
- 3 Data types
- 4 Operators -
- 4.1 Operator precedence
- 4.2 Operators on Numeric Values -
- 4.2.1 Add
- 4.2.2 Subtract
- 4.2.3 Multiply
- 4.2.4 Divide
- 4.2.5 Mod
- 4.2.6 Equal
- 4.2.7 Inequal
- 4.2.8 Greater than
- 4.2.9 Greater than or equal
- 4.2.10 Less than
- 4.2.11 Less than or equal
- 4.2.12 Unary plus
- 4.2.13 Unary minus -
-
-
- 4.3 Operators on Boolean Values -
- 4.3.1 Equal
- 4.3.2 Inequal
- 4.3.3 Greater than
- 4.3.4 Greater than or equal
- 4.3.5 Less than
- 4.3.6 Less than or equal
- 4.3.7 Logical and
- 4.3.8 Logical or
-
-
-
- 4.4 Operators on String Values -
- 4.4.1 Concat
- 4.4.2 Equal
- 4.4.3 Inequal
- 4.4.4 Greater than
- 4.4.5 Greater than or equal
- 4.4.6 Less than
- 4.4.7 Less than or equal
-
-
-
- 4.5 Operators on TimeSpan and DateTime Values -
- 4.5.1 Add
- 4.5.2 Subtract
- 4.5.3 Equal
- 4.5.4 Inequal
- 4.5.5 Greater than
- 4.5.6 Greater than or equal
- 4.5.7 Less than
- 4.5.8 Less than or equal
-
-
-
-

1 Introduction

-

Expressions are simple, yet powerful mechanism that allows you to write advanced - formulas to be used in task arguments and conditions that direct the build - process. Expressions can access project properties - and call builtin or user-defined functions.

-

- NAnt provides a rich set of bulitin functions, that allow you to:

-
    -
  • - manipulate strings
  • -
  • - manipulate date/time values
  • -
  • - manipulate path names
  • -
  • - read the properties of files/directories
  • -
  • - access current build information and more
  • -
  • - and more
  • -
-

For a full list of supported functions, click here.

-

2 Expression Syntax

-

Expressions can be used in all task arguments, by using ${...} notation. - You may use standard syntax for arithmetical (addition, subtraction, - multiplication, division, modulus), logical (negation, conjunction, - alternative) and relational operators (equality, inequality). To call - functions, use prefix::function-name(argument1, ..., argumentN) syntax. - To access properties, you simply use their names without any prefix or suffix. - See the examples section below for more information.

-

NOTE: Expressions are often used in XML attributes. The grammar specified in this - section applies to the attribute value after XML 1.0 normalization. So, for - example, if the grammar uses the character <, this must not - appear in the XML source as < but must be quoted according to - XML 1.0 rules by, for example, entering it as &lt;. -

-

Examples:

-
    -
  1. - Accessing a property: -

    - <property name="build.version" value="3" />
    - <echo message="The current date is: - ${build.version}" /> -

    -

    This will output the current value of build.version property.

    -
  2. -
  3. - Calling a function -

    - <echo message="The current date is: - ${datetime::now()}" - /> -

    -

    This will output the current date and time.

    -
  4. -
  5. - Storing the result of an expression -

    To store the result of an expression in a property, use the <property> - task:

    -

    - <property name="autoexec-present" value="${file::exists('c:\autoexec.bat')}" - /> -

    -

    This will set the property autoexec-present to either true - or false depending on whether the specified file exists or not.

    -
  6. -
  7. - Real-life expression use -

    - <property name="myprj.basedir" value="c:\" />
    - <property name="filename" value="${path::combine(myprj.basedir,'version.txt')}" - />
    -
    - <if test="${not file::exists(filename) or file::get-length(filename) = 0}">
    -     <echo message="The version file - ${filename} - doesn't exist or is empty!" />
    - </if>
    -

    -

    This will check for the existence of a file version.txt - in a directory specified by myprj.basedir. Note that this makes use of the - short-circuit evaluation supported by NAnt, so you can test for the existence - of the file and check its length in the same expression. ( ie like C, NAnt will - not evaluate the second part of an 'or' expression if the first evaluates to - true ) -

    -
  8. -
  9. - Using expressions to conditionally execute tasks -

    All tasks support if and unless attributes. - Expressions can be used there to control which tasks get executed:

    -

    - <property name="myprj.basedir" value="c:\" unless="property::exists('myprj.basedir')" - />
    - <csc target="library" output="out.dll" ... -
    -      if="${datetime::now() - file::get-last-write-time('out.dll')) > timespan::from-hours(1)}">
    - ...
    - </csc>
    -
    -

    -

    - This will rebuild the C# library only if it was last rebuilt more than an hour - ago. -

    -
  10. -
-

3 Data types

-

Expressions can access, pass and return values of the following types:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Type - Allowed values
int32-bit signed integer value
long64-bit signed integer value
double64-bit signed double precision floating point value
booleantrue or false
stringstrings of characters of any length.
datetimevalues represeting date & time (range is from 00:00:00, January 1, 1 AD to - 23:59:59, December 31, 9999 AD)
timespanrepresents a time interval.
-
-

In addition, the expression evaluation engine allows you to return and pass - values of any CLI type through the use of custom - functions. Note that there's no support for implicit type conversions.

-

4 Operators

-

4.1 Operator precedence

-

NAnt expressions support standard ( c style ) operator precedence, that we're - accustomed to:

-
    -
  • - and is evaluated before or, left to right. For - example false or true and true and false evaluates as false or - ((true and true) and false)
  • -
  • - multiplication,division and modulus are evaluated before addition and - subtraction, left to right. For example 1 + 2 * 3 / 4 evaluates as - 1 + ((2 * 3) / 4)
  • -
  • - parentheses can be used to override the default operator precedence. For - example (1 + 2) * 3 evaluates as written, even though the - multiplication has precedence over addition
  • -
-

NOTE: Because NAnt supports properties whose names can contain dashes, - there's a possible ambiguity between the subtraction of two properties and - accessing a single property with a name containing a dash:

-

- aaa-bbb - this is ambiguous. It could either be property aaa - MINUS property bbb or property aaa-bbb.

-

To avoid confusion, it's recommended to surround the subtraction operator (or - even better, all binary operators) with spaces. The expression aaa - bbb - always evaluates as a subtraction.

-

4.2 Operators on Numeric Values

-

The following operators are supported on numeric values:

-
    -
  • - + operator -
  • -
  • - - operator -
  • -
  • - * operator -
  • -
  • - / operator -
  • -
  • - % operator -
  • -
  • - == operator -
  • -
  • - != operator -
  • -
  • - > operator -
  • -
  • - >= operator -
  • -
  • - < operator -
  • -
  • - <= operator -
  • -
  • - unary plus -
  • -
  • - unary minus (negation) -
  • -
-

4.2.1 Add

-
Summary
-

- Returns the arithmetic sum of its operands. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 1 + 5 evaluates to 6 -
intlong - 1 + 6666666667 evaluates to 6666666668 -
intdouble - 1 + 5.0 evaluates to 6.0 -
longlong - 6666666667 + 11111111111 evaluates to 17777777778 -
longint - 6666666667 + 1 evaluates to 6666666668 -
longdouble - 6666666667 + 1.5 evaluates to 6666666668.5 -
doubledouble - 1.5 + 5.0 evaluates to 6.5 -
doubleint - 1.0 + 5 evaluates to 6.0 -
doublelong - 1.5 + 6666666667 evaluates to 6666666668.5 -
-
-

4.2.2 Subtract

-
Summary
-

- Returns the arithmetic difference of its operands. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 - 1 evaluates to 4 -
intlong - 5 - 6666666667 evaluates to -6666666662 -
intdouble - 5.0 - 1 evaluates to 4.0 -
longlong - 11111111111 - 6666666667 evaluates to 4444444444 -
longint - 6666666667 - 5 evaluates to 6666666662 -
longdouble - 6666666667 - 1.5 evaluates to 6666666665.5 -
doubledouble - 5.0 - 1.0 evaluates to 4.0 -
doubleint - 5.0 - 1 evaluates to 4.0 -
doublelong - 1.5 - 6666666667 evaluates to -6666666665.5 -
-
-

4.2.3 Multiply

-
Summary
-

- Returns the arithmetic product of its operands. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 * 2 evaluates to 10 -
intlong - 2 * 6666666667 evaluates to 13333333334 -
intdouble - 5 * 2.0 evaluates to 10.0 -
longlong - 6666666667 * long::parse('2') evaluates to 13333333334 -
longint - 6666666667 * 2 evaluates to 13333333334 -
longdouble - 6666666667 * 1.7 evaluates to 11333333333.9 -
doubledouble - 5.0 * 2.0 evaluates to 10.0 -
doubleint - 5.0 * 2 evaluates to 10.0 -
doublelong - 1.7 * 6666666667 evaluates to 11333333333.9 -
-
-

4.2.4 Divide

-
Summary
-

- Returns the arithmetic quotient of its operands. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 10 / 2 evaluates to 5 -
intlong - 10 / 10000000000 evaluates to 0.000000001 -
intdouble - 8 / 2.0 evaluates to 4.0 -
longlong - 13333333334 / 6666666667 evaluates to 2 -
longint - 13333333334 / 2 evaluates to 6666666667 -
longdouble - 13333333334 / 2.0 evaluates to 6666666667.0 -
doubledouble - 9.0 / 2.0 evaluates to 4.5 -
doubleint - 6.0 / 3 evaluates to 2.0 -
doublelong - 20000000000.0 / 10000000000 evaluates to 2.0 -
-
-
Remarks
-

- If the divisor is zero, then an error is raised. -

-

4.2.5 Mod

-
Summary
-

- Returns the remainder after dividing its first operand by its second. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 % 3 evaluates to 2 -
intlong - 10 % 6666666667 evaluates to 10 -
intdouble - 5 % 3.5 evaluates to 1.5 -
longlong - 13333333334 % 6666666667 evaluates to 0 -
longint - 6666666667 % 10 evaluates to 7 -
longdouble - 6666666667 % 3.5 evaluates to 3.0 -
doubledouble - 9.0 % 4.7 evaluates to 4.3 -
doubleint - 8.5 % 2 evaluates to 0.5 -
doublelong - 20000000000.0 % 6666666667 evaluates to 6666666666.0 -
-
-
Remarks
-

- If the divisor is zero, then an error is raised. -

-

4.2.6 Equal

-
Summary
-

- Returns true if and only if the value of the first operand is equal to the - value of the second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 == 3 evaluates to false -
intlong - 5 == 6666666667 evaluates to false -
intdouble - 6 == 6.0 evaluates to true -
longlong - 6666666667 == 6666666667 evaluates to true -
longint - 6666666667 == 665 evaluates to false -
longdouble - 6666666667 == 6666666667.0 evaluates to true -
doubledouble - 9.5 == 6.7 evaluates to false -
doubleint - 8.5 == 8 evaluates to false -
doublelong - 8.5 == 6666666667 evaluates to false -
-
-

4.2.7 Inequal

-
Summary
-

- Returns true if and only if the value of the first operand is not equal to the - value of the second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 != 3 evaluates to true -
intlong - 5 != 6666666667 evaluates to true -
intdouble - 6 != 6.0 evaluates to false -
longlong - 6666666667 != 6666666667 evaluates to false -
longint - 6666666667 != 665 evaluates to true -
longdouble - 6666666667 != 6666666667.0 evaluates to false -
doubledouble - 9.5 != 6.7 evaluates to true -
doubleint - 8.5 != 8 evaluates to true -
doublelong - 8.5 != 6666666667 evaluates to true -
-
-

4.2.8 Greater than

-
Summary
-

- Returns true if and only if the first operand is greater than the - second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 > 3 evaluates to false -
intlong - 5 > 6666666667 evaluates to false -
intdouble - 6 > 4.0 evaluates to true -
longlong - 6666666667 > 6666666667 evaluates to false -
longint - 6666666667 > 665 evaluates to true -
longdouble - 6666666667 > 6666666667.0 evaluates to false -
doubledouble - 9.5 > 9.5 evaluates to false -
doubleint - 8.3 > 9 evaluates to false -
doublelong - 8.5 > 6666666667 evaluates to false -
-
-

4.2.9 Greater than or equal

-
Summary
-

- Returns true if and only if the first operand is greater than or - equal to second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 >= 3 evaluates to false -
intlong - 5 >= 6666666667 evaluates to false -
intdouble - 6 >= 4.0 evaluates to true -
longlong - 6666666667 >= 6666666667 evaluates to true -
longint - 6666666667 >= 665 evaluates to true -
longdouble - 6666666667 >= 6666666667.0 evaluates to true -
doubledouble - 9.5 >= 9.5 evaluates to true -
doubleint - 8.3 >= 9 evaluates to false -
doublelong - 8.5 >= 6666666667 evaluates to false -
-
-

4.2.10 Less than

-
Summary
-

- Returns true if and only if the first operand is less than the - second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 < 3 evaluates to false -
intlong - 5 < 6666666667 evaluates to true -
intdouble - 6 < 7.0 evaluates to true -
longlong - 6666666667 < 6666666667 evaluates to false -
longint - 6666666667 < 665 evaluates to false -
longdouble - 6666666667 < 6666666667.0 evaluates to false -
doubledouble - 9.5 < 9.5 evaluates to false -
doubleint - 8.3 < 9 evaluates to true -
doublelong - 8.5 < 6666666667 evaluates to true -
-
-

4.2.11 Less than or equal

-
Summary
-

- Returns true if and only if the first operand is less than or - equal to second operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
intint - 5 <= 3 evaluates to false -
intlong - 5 <= 6666666667 evaluates to true -
intdouble - 6 <= 7.0 evaluates to true -
longlong - 6666666667 <= 6666666667 evaluates to true -
longint - 6666666667 <= 665 evaluates to false -
longdouble - 6666666667 <= 6666666667.0 evaluates to true -
doubledouble - 9.5 <= 9.5 evaluates to true -
doubleint - 8.3 <= 9 evaluates to true -
doublelong - 8.5 <= 6666666667 evaluates to true -
-
-

4.2.12 Unary plus

-
Summary
-

- Returns its operand with the sign unchanged. Semantically, this operation - performs no operation. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - -
- Operand - Example
int - (+1) evaluates to 1 -
long - (+6666666667) evaluates to 6666666667 -
double - (+1.5) evaluates to 1.5 -
-
-

4.2.13 Unary minus

-
Summary
-

- Returns its operand with the sign reversed. -

-

- If the operand is positive, its negative is returned; if it is negative, its - positive is returned. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - -
- Operand - Example
int - (-1) evaluates to -1 -
long - (-6666666667) evaluates to -6666666667 -
double - (-9.6) evaluates to -9.6 -
-
-

4.3 Operators on Boolean Values

-

The following operators are supported on boolean values:

-
    -
  • - == operator -
  • -
  • - != operator -
  • -
  • - > operator -
  • -
  • - >= operator -
  • -
  • - < operator -
  • -
  • - <= operator -
  • -
  • - and operator -
  • -
  • - or operator -
  • -
-

4.3.1 Equal

-
Summary
-

- Returns true if both operands are true or if both - operands are false. -

-
Examples
-

4.3.2 Inequal

-
Summary
-

- Returns true if the first operand is true and the - second operand is false, or the first operand is false - and the second operand is true. -

-
Examples
-

4.3.3 Greater than

-
Summary
-

- Returns true if the first operand is true and the - second operand is false; otherwise, returns false. -

-
Examples
-

4.3.4 Greater than or equal

-
Summary
-

- Returns true if the first operand is true and the - second operand is false, or both operands are either true - or false. -

-
Examples
-

4.3.5 Less than

-
Summary
-

- Returns true if the first operand is false and the - second operand is true; otherwise, returns false. -

-
Examples
-

4.3.6 Less than or equal

-
Summary
-

- Returns true if the first operand is false and the - second operand is true, or both operands are either true - or false. -

-
Examples
-

4.3.7 Logical and

-
Summary
-

- Returns true if both operands are true, - otherwise returns false. -

-
Examples
-

- <if test="${A and B}"> - -

-

4.3.8 Logical or

-
Summary
-

- Returns true if either operand is true, - otherwise returns false. -

-
Examples
-

- <if test="${A or B}"> -

-

4.4 Operators on String Values

-

The following operators are supported on string values:

-
    -
  • - + operator -
  • -
  • - == operator -
  • -
  • - != operator -
  • -
  • - > operator -
  • -
  • - >= operator -
  • -
  • - < operator -
  • -
  • - <= operator -
  • -
-

4.4.1 Concat

-
Summary
-

- Returns the concatenation of both string operands. -

-
Examples
-

4.4.2 Equal

-
Summary
-

- Returns true if the value of the left operand is the same as the - value of the right operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.4.3 Inequal

-
Summary
-

- Returns true if the value of the first operand is not the same as - the value of the second operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.4.4 Greater than

-
Summary
-

- Returns true if the first operand is greater than the seconds - operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.4.5 Greater than or equal

-
Summary
-

- Returns true if the first operand is greater than or equal to the - seconds operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.4.6 Less than

-
Summary
-

- Returns true if the first operand is less than the seconds - operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.4.7 Less than or equal

-
Summary
-

- Returns true if the first operand is less than or equal to the - seconds operand. -

-
Remarks
-

- The comparison is case-sensitive and culture-insensitive. -

-

4.5 Operators on TimeSpan and DateTime Values

-

The following operators are supported on timespan and datetime values:

-
    -
  • - + operator -
  • -
  • - - operator -
  • -
  • - == operator -
  • -
  • - != operator -
  • -
  • - > operator -
  • -
  • - >= operator -
  • -
  • - < operator -
  • -
  • - <= operator -
  • -
-

4.5.1 Add

-
Summary
-

- Returns the result of adding the value of the left operand to the value of the - right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimetimespan - datetime::now() + timespan::from-days(10) - evaluates to a datetime 10 days in the future -
timespantimespan - timespan::from-seconds(30) + timespan::from-minutes(10) - evaluates to a timespan representing a duratio of 10 minutes and 30 - seconds -
-
-

4.5.2 Subtract

-
Summary
-

- Returns the result of subtracting the value of the right operand - from the value of the left operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - (datetime::now() + timespan::from-days(10)) - datetime::now - evaluates to a timespan representing a duration of 10 days -
datetimetimespan - timespan::from-seconds(30) - timespan::from-seconds(10) evaluates - to a timespan representing a duration of 20 seconds -
timespantimespan - timespan::from-seconds(30) + timespan::from-minutes(10) evaluates - to a timespan representing 10 minutes and 30 seconds -
-
-

4.5.3 Equal

-
Summary
-

- Returns true if the value of the left operand is the same as the - value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() == (datetime::now()+timespan::from-days(10)) evaluates - to false -
timespantimespan - timespan::from-seconds(30) == timespan::from-seconds(30) evaluates - to true -
-
-

4.5.4 Inequal

-
Summary
-

- Returns true if the value of the left operand is not the same as - the value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() != (datetime::now()+timespan::from-days(10)) evaluates - to true -
timespantimespan - timespan::from-seconds(30) != timespan::from-seconds(30) evaluates - to false -
-
-

4.5.5 Greater than

-
Summary
-

- Returns true if the value of the left operand is greater than the - value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() > (datetime::now()+timespan::from-days(10)) evaluates - to false -
timespantimespan - timespan::from-seconds(30) > timespan::from-seconds(30) evaluates - to false -
-
-

4.5.6 Greater than or equal

-
Summary
-

- Returns true if the value of the left operand is greater than or - equal to the value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() >= (datetime::now()+timespan::from-days(10)) evaluates - to false -
timespantimespan - timespan::from-seconds(30) >= timespan::from-seconds(30) evaluates - to false -
-
-

4.5.7 Less than

-
Summary
-

- Returns true if the value of the left operand is less than the - value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() < (datetime::now()+timespan::from-days(10)) evaluates - to true -
timespantimespan - timespan::from-seconds(30) < timespan::from-seconds(30) evaluates - to false -
-
-

4.5.8 Less than or equal

-
Summary
-

- Returns true if the value of the left operand is less than the - value of the right operand. -

-
Operands
-
- - - - - - - - - - - - - - - - - - - - - -
- Left Operand - Right Operand - Example
datetimedatetime - datetime::now() <= (datetime::now()+timespan::from-days(10)) evaluates - to false -
timespantimespan - timespan::from-seconds(30) <= timespan::from-seconds(30) evaluates - to true -
-
- - + + + + + + + + NAnt - Expressions + + + + + + + + +

Expressions

+

[This is preliminary documentation and subject to change.]

+

Contents

+
+ 1 Introduction
+ 2 Expression syntax
+ 3 Data types
+ 4 Operators +
+ 4.1 Operator precedence
+ 4.2 Operators on Numeric Values +
+ 4.2.1 Add
+ 4.2.2 Subtract
+ 4.2.3 Multiply
+ 4.2.4 Divide
+ 4.2.5 Mod
+ 4.2.6 Equal
+ 4.2.7 Inequal
+ 4.2.8 Greater than
+ 4.2.9 Greater than or equal
+ 4.2.10 Less than
+ 4.2.11 Less than or equal
+ 4.2.12 Unary plus
+ 4.2.13 Unary minus +
+
+
+ 4.3 Operators on Boolean Values +
+ 4.3.1 Equal
+ 4.3.2 Inequal
+ 4.3.3 Greater than
+ 4.3.4 Greater than or equal
+ 4.3.5 Less than
+ 4.3.6 Less than or equal
+ 4.3.7 Logical and
+ 4.3.8 Logical or
+
+
+
+ 4.4 Operators on String Values +
+ 4.4.1 Concat
+ 4.4.2 Equal
+ 4.4.3 Inequal
+ 4.4.4 Greater than
+ 4.4.5 Greater than or equal
+ 4.4.6 Less than
+ 4.4.7 Less than or equal
+
+
+
+ 4.5 Operators on TimeSpan and DateTime Values +
+ 4.5.1 Add
+ 4.5.2 Subtract
+ 4.5.3 Equal
+ 4.5.4 Inequal
+ 4.5.5 Greater than
+ 4.5.6 Greater than or equal
+ 4.5.7 Less than
+ 4.5.8 Less than or equal
+
+
+
+ 4.6 Operators on Version Values +
+ 4.6.1 Equal
+ 4.6.2 Inequal
+ 4.6.3 Greater than
+ 4.6.4 Greater than or equal
+ 4.6.5 Less than
+ 4.6.6 Less than or equal
+
+
+
+

1 Introduction

+

Expressions are simple, yet powerful mechanism that allows you to write advanced + formulas to be used in task arguments and conditions that direct the build + process. Expressions can access project properties + and call builtin or user-defined functions.

+

+ NAnt provides a rich set of bulitin functions, that allow you to:

+
    +
  • + manipulate strings
  • +
  • + manipulate date/time values
  • +
  • + manipulate path names
  • +
  • + read the properties of files/directories
  • +
  • + access current build information and more
  • +
  • + and more
  • +
+

For a full list of supported functions, click here.

+

2 Expression Syntax

+

Expressions can be used in all task arguments, by using ${...} notation. + You may use standard syntax for arithmetical (addition, subtraction, + multiplication, division, modulus), logical (negation, conjunction, + alternative) and relational operators (equality, inequality). To call + functions, use prefix::function-name(argument1, ..., argumentN) syntax. + To access properties, you simply use their names without any prefix or suffix. + See the examples section below for more information.

+

NOTE: Expressions are often used in XML attributes. The grammar specified in this + section applies to the attribute value after XML 1.0 normalization. So, for + example, if the grammar uses the character <, this must not + appear in the XML source as < but must be quoted according to + XML 1.0 rules by, for example, entering it as &lt;. +

+

Examples:

+
    +
  1. + Accessing a property: +

    + <property name="build.version" value="3" />
    + <echo message="The current date is: + ${build.version}" /> +

    +

    This will output the current value of build.version property.

    +
  2. +
  3. + Calling a function +

    + <echo message="The current date is: + ${datetime::now()}" + /> +

    +

    This will output the current date and time.

    +
  4. +
  5. + Storing the result of an expression +

    To store the result of an expression in a property, use the <property> + task:

    +

    + <property name="autoexec-present" value="${file::exists('c:\autoexec.bat')}" + /> +

    +

    This will set the property autoexec-present to either true + or false depending on whether the specified file exists or not.

    +
  6. +
  7. + Real-life expression use +

    + <property name="myprj.basedir" value="c:\" />
    + <property name="filename" value="${path::combine(myprj.basedir,'version.txt')}" + />
    +
    + <if test="${not file::exists(filename) or file::get-length(filename) = 0}">
    +     <echo message="The version file + ${filename} + doesn't exist or is empty!" />
    + </if>
    +

    +

    This will check for the existence of a file version.txt + in a directory specified by myprj.basedir. Note that this makes use of the + short-circuit evaluation supported by NAnt, so you can test for the existence + of the file and check its length in the same expression. ( ie like C, NAnt will + not evaluate the second part of an 'or' expression if the first evaluates to + true ) +

    +
  8. +
  9. + Using expressions to conditionally execute tasks +

    All tasks support if and unless attributes. + Expressions can be used there to control which tasks get executed:

    +

    + <property name="myprj.basedir" value="c:\" unless="property::exists('myprj.basedir')" + />
    + <csc target="library" output="out.dll" ... +
    +      if="${datetime::now() - file::get-last-write-time('out.dll')) > timespan::from-hours(1)}">
    + ...
    + </csc>
    +
    +

    +

    + This will rebuild the C# library only if it was last rebuilt more than an hour + ago. +

    +
  10. +
+

3 Data types

+

Expressions can access, pass and return values of the following types:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type + Allowed values
int32-bit signed integer value
long64-bit signed integer value
double64-bit signed double precision floating point value
booleantrue or false
stringstrings of characters of any length.
datetimevalues represeting date & time (range is from 00:00:00, January 1, 1 AD to + 23:59:59, December 31, 9999 AD)
timespanrepresents a time interval.
versionrepresents a version number consisting of two to four components.
+
+

In addition, the expression evaluation engine allows you to return and pass + values of any CLI type through the use of custom + functions. Note that there's no support for implicit type conversions.

+

4 Operators

+

4.1 Operator precedence

+

NAnt expressions support standard ( c style ) operator precedence, that we're + accustomed to:

+
    +
  • + and is evaluated before or, left to right. For + example false or true and true and false evaluates as false or + ((true and true) and false)
  • +
  • + multiplication,division and modulus are evaluated before addition and + subtraction, left to right. For example 1 + 2 * 3 / 4 evaluates as + 1 + ((2 * 3) / 4)
  • +
  • + parentheses can be used to override the default operator precedence. For + example (1 + 2) * 3 evaluates as written, even though the + multiplication has precedence over addition
  • +
+

NOTE: Because NAnt supports properties whose names can contain dashes, + there's a possible ambiguity between the subtraction of two properties and + accessing a single property with a name containing a dash:

+

+ aaa-bbb - this is ambiguous. It could either be property aaa + MINUS property bbb or property aaa-bbb.

+

To avoid confusion, it's recommended to surround the subtraction operator (or + even better, all binary operators) with spaces. The expression aaa - bbb + always evaluates as a subtraction.

+

4.2 Operators on Numeric Values

+

The following operators are supported on numeric values:

+
    +
  • + + operator +
  • +
  • + - operator +
  • +
  • + * operator +
  • +
  • + / operator +
  • +
  • + % operator +
  • +
  • + == operator +
  • +
  • + != operator +
  • +
  • + > operator +
  • +
  • + >= operator +
  • +
  • + < operator +
  • +
  • + <= operator +
  • +
  • + unary plus +
  • +
  • + unary minus (negation) +
  • +
+

4.2.1 Add

+
Summary
+

+ Returns the arithmetic sum of its operands. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 1 + 5 evaluates to 6 +
intlong + 1 + 6666666667 evaluates to 6666666668 +
intdouble + 1 + 5.0 evaluates to 6.0 +
longlong + 6666666667 + 11111111111 evaluates to 17777777778 +
longint + 6666666667 + 1 evaluates to 6666666668 +
longdouble + 6666666667 + 1.5 evaluates to 6666666668.5 +
doubledouble + 1.5 + 5.0 evaluates to 6.5 +
doubleint + 1.0 + 5 evaluates to 6.0 +
doublelong + 1.5 + 6666666667 evaluates to 6666666668.5 +
+
+

4.2.2 Subtract

+
Summary
+

+ Returns the arithmetic difference of its operands. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 - 1 evaluates to 4 +
intlong + 5 - 6666666667 evaluates to -6666666662 +
intdouble + 5.0 - 1 evaluates to 4.0 +
longlong + 11111111111 - 6666666667 evaluates to 4444444444 +
longint + 6666666667 - 5 evaluates to 6666666662 +
longdouble + 6666666667 - 1.5 evaluates to 6666666665.5 +
doubledouble + 5.0 - 1.0 evaluates to 4.0 +
doubleint + 5.0 - 1 evaluates to 4.0 +
doublelong + 1.5 - 6666666667 evaluates to -6666666665.5 +
+
+

4.2.3 Multiply

+
Summary
+

+ Returns the arithmetic product of its operands. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 * 2 evaluates to 10 +
intlong + 2 * 6666666667 evaluates to 13333333334 +
intdouble + 5 * 2.0 evaluates to 10.0 +
longlong + 6666666667 * long::parse('2') evaluates to 13333333334 +
longint + 6666666667 * 2 evaluates to 13333333334 +
longdouble + 6666666667 * 1.7 evaluates to 11333333333.9 +
doubledouble + 5.0 * 2.0 evaluates to 10.0 +
doubleint + 5.0 * 2 evaluates to 10.0 +
doublelong + 1.7 * 6666666667 evaluates to 11333333333.9 +
+
+

4.2.4 Divide

+
Summary
+

+ Returns the arithmetic quotient of its operands. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 10 / 2 evaluates to 5 +
intlong + 10 / 10000000000 evaluates to 0.000000001 +
intdouble + 8 / 2.0 evaluates to 4.0 +
longlong + 13333333334 / 6666666667 evaluates to 2 +
longint + 13333333334 / 2 evaluates to 6666666667 +
longdouble + 13333333334 / 2.0 evaluates to 6666666667.0 +
doubledouble + 9.0 / 2.0 evaluates to 4.5 +
doubleint + 6.0 / 3 evaluates to 2.0 +
doublelong + 20000000000.0 / 10000000000 evaluates to 2.0 +
+
+
Remarks
+

+ If the divisor is zero, then an error is raised. +

+

4.2.5 Mod

+
Summary
+

+ Returns the remainder after dividing its first operand by its second. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 % 3 evaluates to 2 +
intlong + 10 % 6666666667 evaluates to 10 +
intdouble + 5 % 3.5 evaluates to 1.5 +
longlong + 13333333334 % 6666666667 evaluates to 0 +
longint + 6666666667 % 10 evaluates to 7 +
longdouble + 6666666667 % 3.5 evaluates to 3.0 +
doubledouble + 9.0 % 4.7 evaluates to 4.3 +
doubleint + 8.5 % 2 evaluates to 0.5 +
doublelong + 20000000000.0 % 6666666667 evaluates to 6666666666.0 +
+
+
Remarks
+

+ If the divisor is zero, then an error is raised. +

+

4.2.6 Equal

+
Summary
+

+ Returns true if and only if the value of the first operand is equal to the + value of the second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 == 3 evaluates to false +
intlong + 5 == 6666666667 evaluates to false +
intdouble + 6 == 6.0 evaluates to true +
longlong + 6666666667 == 6666666667 evaluates to true +
longint + 6666666667 == 665 evaluates to false +
longdouble + 6666666667 == 6666666667.0 evaluates to true +
doubledouble + 9.5 == 6.7 evaluates to false +
doubleint + 8.5 == 8 evaluates to false +
doublelong + 8.5 == 6666666667 evaluates to false +
+
+

4.2.7 Inequal

+
Summary
+

+ Returns true if and only if the value of the first operand is not equal to the + value of the second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 != 3 evaluates to true +
intlong + 5 != 6666666667 evaluates to true +
intdouble + 6 != 6.0 evaluates to false +
longlong + 6666666667 != 6666666667 evaluates to false +
longint + 6666666667 != 665 evaluates to true +
longdouble + 6666666667 != 6666666667.0 evaluates to false +
doubledouble + 9.5 != 6.7 evaluates to true +
doubleint + 8.5 != 8 evaluates to true +
doublelong + 8.5 != 6666666667 evaluates to true +
+
+

4.2.8 Greater than

+
Summary
+

+ Returns true if and only if the first operand is greater than the + second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 > 3 evaluates to false +
intlong + 5 > 6666666667 evaluates to false +
intdouble + 6 > 4.0 evaluates to true +
longlong + 6666666667 > 6666666667 evaluates to false +
longint + 6666666667 > 665 evaluates to true +
longdouble + 6666666667 > 6666666667.0 evaluates to false +
doubledouble + 9.5 > 9.5 evaluates to false +
doubleint + 8.3 > 9 evaluates to false +
doublelong + 8.5 > 6666666667 evaluates to false +
+
+

4.2.9 Greater than or equal

+
Summary
+

+ Returns true if and only if the first operand is greater than or + equal to second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 >= 3 evaluates to false +
intlong + 5 >= 6666666667 evaluates to false +
intdouble + 6 >= 4.0 evaluates to true +
longlong + 6666666667 >= 6666666667 evaluates to true +
longint + 6666666667 >= 665 evaluates to true +
longdouble + 6666666667 >= 6666666667.0 evaluates to true +
doubledouble + 9.5 >= 9.5 evaluates to true +
doubleint + 8.3 >= 9 evaluates to false +
doublelong + 8.5 >= 6666666667 evaluates to false +
+
+

4.2.10 Less than

+
Summary
+

+ Returns true if and only if the first operand is less than the + second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 < 3 evaluates to false +
intlong + 5 < 6666666667 evaluates to true +
intdouble + 6 < 7.0 evaluates to true +
longlong + 6666666667 < 6666666667 evaluates to false +
longint + 6666666667 < 665 evaluates to false +
longdouble + 6666666667 < 6666666667.0 evaluates to false +
doubledouble + 9.5 < 9.5 evaluates to false +
doubleint + 8.3 < 9 evaluates to true +
doublelong + 8.5 < 6666666667 evaluates to true +
+
+

4.2.11 Less than or equal

+
Summary
+

+ Returns true if and only if the first operand is less than or + equal to second operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
intint + 5 <= 3 evaluates to false +
intlong + 5 <= 6666666667 evaluates to true +
intdouble + 6 <= 7.0 evaluates to true +
longlong + 6666666667 <= 6666666667 evaluates to true +
longint + 6666666667 <= 665 evaluates to false +
longdouble + 6666666667 <= 6666666667.0 evaluates to true +
doubledouble + 9.5 <= 9.5 evaluates to true +
doubleint + 8.3 <= 9 evaluates to true +
doublelong + 8.5 <= 6666666667 evaluates to true +
+
+

4.2.12 Unary plus

+
Summary
+

+ Returns its operand with the sign unchanged. Semantically, this operation + performs no operation. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Operand + Example
int + (+1) evaluates to 1 +
long + (+6666666667) evaluates to 6666666667 +
double + (+1.5) evaluates to 1.5 +
+
+

4.2.13 Unary minus

+
Summary
+

+ Returns its operand with the sign reversed. +

+

+ If the operand is positive, its negative is returned; if it is negative, its + positive is returned. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ Operand + Example
int + (-1) evaluates to -1 +
long + (-6666666667) evaluates to -6666666667 +
double + (-9.6) evaluates to -9.6 +
+
+

4.3 Operators on Boolean Values

+

The following operators are supported on boolean values:

+
    +
  • + == operator +
  • +
  • + != operator +
  • +
  • + > operator +
  • +
  • + >= operator +
  • +
  • + < operator +
  • +
  • + <= operator +
  • +
  • + and operator +
  • +
  • + or operator +
  • +
+

4.3.1 Equal

+
Summary
+

+ Returns true if both operands are true or if both + operands are false. +

+
Examples
+

4.3.2 Inequal

+
Summary
+

+ Returns true if the first operand is true and the + second operand is false, or the first operand is false + and the second operand is true. +

+
Examples
+

4.3.3 Greater than

+
Summary
+

+ Returns true if the first operand is true and the + second operand is false; otherwise, returns false. +

+
Examples
+

4.3.4 Greater than or equal

+
Summary
+

+ Returns true if the first operand is true and the + second operand is false, or both operands are either true + or false. +

+
Examples
+

4.3.5 Less than

+
Summary
+

+ Returns true if the first operand is false and the + second operand is true; otherwise, returns false. +

+
Examples
+

4.3.6 Less than or equal

+
Summary
+

+ Returns true if the first operand is false and the + second operand is true, or both operands are either true + or false. +

+
Examples
+

4.3.7 Logical and

+
Summary
+

+ Returns true if both operands are true, + otherwise returns false. +

+
Examples
+

+ <if test="${A and B}"> + +

+

4.3.8 Logical or

+
Summary
+

+ Returns true if either operand is true, + otherwise returns false. +

+
Examples
+

+ <if test="${A or B}"> +

+

4.4 Operators on String Values

+

The following operators are supported on string values:

+
    +
  • + + operator +
  • +
  • + == operator +
  • +
  • + != operator +
  • +
  • + > operator +
  • +
  • + >= operator +
  • +
  • + < operator +
  • +
  • + <= operator +
  • +
+

4.4.1 Concat

+
Summary
+

+ Returns the concatenation of both string operands. +

+
Examples
+

4.4.2 Equal

+
Summary
+

+ Returns true if the value of the left operand is the same as the + value of the right operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.4.3 Inequal

+
Summary
+

+ Returns true if the value of the first operand is not the same as + the value of the second operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.4.4 Greater than

+
Summary
+

+ Returns true if the first operand is greater than the seconds + operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.4.5 Greater than or equal

+
Summary
+

+ Returns true if the first operand is greater than or equal to the + seconds operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.4.6 Less than

+
Summary
+

+ Returns true if the first operand is less than the seconds + operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.4.7 Less than or equal

+
Summary
+

+ Returns true if the first operand is less than or equal to the + seconds operand. +

+
Remarks
+

+ The comparison is case-sensitive and culture-insensitive. +

+

4.5 Operators on TimeSpan and DateTime Values

+

The following operators are supported on timespan and datetime values:

+
    +
  • + + operator +
  • +
  • + - operator +
  • +
  • + == operator +
  • +
  • + != operator +
  • +
  • + > operator +
  • +
  • + >= operator +
  • +
  • + < operator +
  • +
  • + <= operator +
  • +
+

4.5.1 Add

+
Summary
+

+ Returns the result of adding the value of the left operand to the value of the + right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimetimespan + datetime::now() + timespan::from-days(10) + evaluates to a datetime 10 days in the future +
timespantimespan + timespan::from-seconds(30) + timespan::from-minutes(10) + evaluates to a timespan representing a duratio of 10 minutes and 30 + seconds +
+
+

4.5.2 Subtract

+
Summary
+

+ Returns the result of subtracting the value of the right operand + from the value of the left operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + (datetime::now() + timespan::from-days(10)) - datetime::now + evaluates to a timespan representing a duration of 10 days +
datetimetimespan + datetime::now() - timespan::from-days(3) evaluates + to a datetime 3 days in the past +
timespantimespan + timespan::from-minutes(15) - timespan::from-minutes(10) evaluates + to a timespan representing 5 minutes +
+
+

4.5.3 Equal

+
Summary
+

+ Returns true if the value of the left operand is the same as the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() == (datetime::now() + timespan::from-days(10)) evaluates + to false +
timespantimespan + timespan::from-seconds(30) == timespan::from-seconds(30) evaluates + to true +
+
+

4.5.4 Inequal

+
Summary
+

+ Returns true if the value of the left operand is not the same as + the value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() != (datetime::now() + timespan::from-days(10)) evaluates + to true +
timespantimespan + timespan::from-seconds(30) != timespan::from-seconds(30) evaluates + to false +
+
+

4.5.5 Greater than

+
Summary
+

+ Returns true if the value of the left operand is greater than the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() > (datetime::now() + timespan::from-days(10)) evaluates + to false +
timespantimespan + timespan::from-seconds(30) > timespan::from-seconds(30) evaluates + to false +
+
+

4.5.6 Greater than or equal

+
Summary
+

+ Returns true if the value of the left operand is greater than or + equal to the value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() >= (datetime::now() + timespan::from-days(10)) evaluates + to false +
timespantimespan + timespan::from-seconds(30) >= timespan::from-seconds(30) evaluates + to true +
+
+

4.5.7 Less than

+
Summary
+

+ Returns true if the value of the left operand is less than the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() < (datetime::now() + timespan::from-days(10)) evaluates + to true +
timespantimespan + timespan::from-seconds(30) < timespan::from-seconds(30) evaluates + to false +
+
+

4.5.8 Less than or equal

+
Summary
+

+ Returns true if the value of the left operand is less than the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
datetimedatetime + datetime::now() <= (datetime::now() + timespan::from-days(10)) evaluates + to true +
timespantimespan + timespan::from-seconds(30) <= timespan::from-seconds(30) evaluates + to true +
+
+

4.6 Operators on Version Values

+

The following operators are supported on version values:

+
    +
  • + == operator +
  • +
  • + != operator +
  • +
  • + > operator +
  • +
  • + >= operator +
  • +
  • + < operator +
  • +
  • + <= operator +
  • +
+

4.6.1 Equal

+
Summary
+

+ Returns true if the value of the left operand is the same as the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') == version::parse('1.2') evaluates + to true +
+
+

4.6.2 Inequal

+
Summary
+

+ Returns true if the value of the left operand is not the same as + the value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') != version::parse('1.3.1') evaluates + to true +
+
+

4.6.3 Greater than

+
Summary
+

+ Returns true if the value of the left operand is greater than the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') > version::parse('1.3.1') evaluates + to false +
+
+

4.6.4 Greater than or equal

+
Summary
+

+ Returns true if the value of the left operand is greater than or + equal to the value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') >= version::parse('1.2') evaluates + to true +
+
+

4.6.5 Less than

+
Summary
+

+ Returns true if the value of the left operand is less than the + value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') < version::parse('1.3.1') evaluates + to true +
+
+

4.6.6 Less than or equal

+
Summary
+

+ Returns true if the value of the left operand is less than or + equal to the value of the right operand. +

+
Operands
+
+ + + + + + + + + + + + + + + + +
+ Left Operand + Right Operand + Example
versionversion + version::parse('1.2') <= version::parse('1.2') evaluates + to true +
+
+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/functions.html b/build-support/tools/nant/doc/help/fundamentals/functions.html index 079017f4..98eb1a45 100644 --- a/build-support/tools/nant/doc/help/fundamentals/functions.html +++ b/build-support/tools/nant/doc/help/fundamentals/functions.html @@ -1,311 +1,311 @@ - - - - - - - - NAnt - Functions - - - - - - - - -

Functions

- -

NAnt provides a rich set of bulitin functions, that allow you to:

-
    -
  • - manipulate strings
  • -
  • - manipulate date/time values
  • -
  • - manipulate path names
  • -
  • - read the properties of files/directories
  • -
  • - access current build information and more
  • -
  • - and more
  • -
-

For a full list of supported functions, click here.

-

Function Call Syntax

-

- To call functions, use prefix::function-name(argument1, ..., argumentN) - syntax within expressions. NAnt will (implicitly) try to convert the arguments - you pass to functions to correct types and will report an error in case of - failure. -

-

- For example, assuming you would like to call string::contains('0123456789',1) - which expects two string parameters, but you want to pass the - second parameter which is an integer. NAnt would attempt to convert the second - parameter from int to string, which succeeds and - function is called as if it was written as string::contains('0123456789','1'). -

-

The following table shows the possible type conversions:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- From Type - To Type - Allowed - Remarks
intstringYesThe conversion is always possible.
intdoubleYesThe conversion is always possible.
intbooleanNoCan be done with the if() conditional operator or simply as (value - <> 0)
intdatetimeNoYou cannot convert from int to datetime.
inttimespanNoYou can use the timespan::from-xxx functions to construct a timespan from a given number of days, months, ....
-
stringintYesIf the string doesn't represent an integer value, an error is reported.
stringdoubleYesIf the string doesn't represent a floating point value, an error is reported.
stringbooleanYesIf the string isn't either true or false (case - insensitive), an error is reported.
stringdatetimeYesIf the string doesn't represent a valid date/time, an error is reported. - Date/time string format is MM/DD/YYYY HH:MI:SS
stringtimespanNo - You can use timespan::parse to construct a timespan - from a time indicated by a given string. If the string doesn't represent a valid - timespan, an error is reported. -
-
doubleintYesIf the string doesn't represent an integer value, an error is reported.
doublestringYesThe converted string uses dot as a fractional part separator so the result - looks like 0.1234567
doublebooleanNoYou cannot convert from double to boolean.
doubledatetimeNoYou cannot convert from double to datetime.
doubletimespanNoYou can use the timespan::from-xxx functions to construct a timespan from a given number of days, months, ....
-
booleanintNoYou cannot convert from boolean to int. You may - want to use if(boolvalue,1,0) instead.
booleanstringYesThe result is 'True' or 'False' string.
booleandoubleNoYou cannot convert from boolean to double.
booleandatetimeNoYou cannot convert from boolean to datetime.
booleantimespanNoYou cannot convert from boolean to timespan.
-
datetimeintNoYou cannot convert from datetime to int.
datetimestringYesThe result is a datetime string with the following format: MM/DD/YYYY HH:MI:SS
datetimedoubleNoYou cannot convert from datetime to double.
datetimebooleanNoYou cannot convert from datetime to boolean.
datetimetimespanNoYou can use the value of datetime::get-ticks to construct a timespan using timespan::from-ticks.
-
timespanintNoYou cannot convert from timespan to int.
timespandoubleNoYou can use timespan::get-ticks to convert from timespan to double.
timespanbooleanNoYou cannot convert from timespan to boolean.
timespanstringNoYou can use timespan::to-string to obtain the string representation of a timespan.
timespandatetimeNoYou cannot convert from timespan to datetime.
-
-

Custom Functions

-

- Just as you can extend NAnt with your own tasks it is also possible to - implement your own functions for use in build files.

-

Functions can be implemented in any .NET language and are loaded in the same - manner as tasks. ie either by locating your custom function assembly in the - NAnt bin directory or using the <loadtasks> - task. Example C# code for a Hello World function : -

-

Define a custom function using C#.

-
                    
-[FunctionSet("hello", "Hello")]
-public class HelloFunctions : FunctionSetBase {        
-    public HelloFunctions(Project project, PropertyDictionary properties) : base(project, properties) {
-    }
-    [Function("hello-world")]
-    public static string HelloWorldfunc() {
-        return "Hello World!!";
-    }
-}
-        
-

and call that function from a build file.

-
       
-<echo message="${hello::hello-world()}" />
-        
-

A quick and easy way to develop new functions is to use the - <script> task. This allows you to create and test new functions - without the overhead of building an external assembly. The - <script> task documentation contains examples of custom function - definitions.

- - + + + + + + + + NAnt - Functions + + + + + + + + +

Functions

+

[This is preliminary documentation and subject to change.]

+

NAnt provides a rich set of bulitin functions, that allow you to:

+
    +
  • + manipulate strings
  • +
  • + manipulate date/time values
  • +
  • + manipulate path names
  • +
  • + read the properties of files/directories
  • +
  • + access current build information and more
  • +
  • + and more
  • +
+

For a full list of supported functions, click here.

+

Function Call Syntax

+

+ To call functions, use prefix::function-name(argument1, ..., argumentN) + syntax within expressions. NAnt will (implicitly) try to convert the arguments + you pass to functions to correct types and will report an error in case of + failure. +

+

+ For example, assuming you would like to call string::contains('0123456789',1) + which expects two string parameters, but you want to pass the + second parameter which is an integer. NAnt would attempt to convert the second + parameter from int to string, which succeeds and + function is called as if it was written as string::contains('0123456789','1'). +

+

The following table shows the possible type conversions:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ From Type + To Type + Allowed + Remarks
intstringYesThe conversion is always possible.
intdoubleYesThe conversion is always possible.
intbooleanNoCan be done with the if() conditional operator or simply as (value + <> 0)
intdatetimeNoYou cannot convert from int to datetime.
inttimespanNoYou can use the timespan::from-xxx functions to construct a timespan from a given number of days, months, ....
+
stringintYesIf the string doesn't represent an integer value, an error is reported.
stringdoubleYesIf the string doesn't represent a floating point value, an error is reported.
stringbooleanYesIf the string isn't either true or false (case + insensitive), an error is reported.
stringdatetimeYesIf the string doesn't represent a valid date/time, an error is reported. + Date/time string format is MM/DD/YYYY HH:MI:SS
stringtimespanNo + You can use timespan::parse to construct a timespan + from a time indicated by a given string. If the string doesn't represent a valid + timespan, an error is reported. +
+
doubleintYesIf the string doesn't represent an integer value, an error is reported.
doublestringYesThe converted string uses dot as a fractional part separator so the result + looks like 0.1234567
doublebooleanNoYou cannot convert from double to boolean.
doubledatetimeNoYou cannot convert from double to datetime.
doubletimespanNoYou can use the timespan::from-xxx functions to construct a timespan from a given number of days, months, ....
+
booleanintNoYou cannot convert from boolean to int. You may + want to use if(boolvalue,1,0) instead.
booleanstringYesThe result is 'True' or 'False' string.
booleandoubleNoYou cannot convert from boolean to double.
booleandatetimeNoYou cannot convert from boolean to datetime.
booleantimespanNoYou cannot convert from boolean to timespan.
+
datetimeintNoYou cannot convert from datetime to int.
datetimestringYesThe result is a datetime string with the following format: MM/DD/YYYY HH:MI:SS
datetimedoubleNoYou cannot convert from datetime to double.
datetimebooleanNoYou cannot convert from datetime to boolean.
datetimetimespanNoYou can use the value of datetime::get-ticks to construct a timespan using timespan::from-ticks.
+
timespanintNoYou cannot convert from timespan to int.
timespandoubleNoYou can use timespan::get-ticks to convert from timespan to double.
timespanbooleanNoYou cannot convert from timespan to boolean.
timespanstringNoYou can use timespan::to-string to obtain the string representation of a timespan.
timespandatetimeNoYou cannot convert from timespan to datetime.
+
+

Custom Functions

+

+ Just as you can extend NAnt with your own tasks it is also possible to + implement your own functions for use in build files.

+

Functions can be implemented in any .NET language and are loaded in the same + manner as tasks. ie either by locating your custom function assembly in the + NAnt bin directory or using the <loadtasks> + task. Example C# code for a Hello World function : +

+

Define a custom function using C#.

+
                    
+[FunctionSet("hello", "Hello")]
+public class HelloFunctions : FunctionSetBase {        
+    public HelloFunctions(Project project, PropertyDictionary properties) : base(project, properties) {
+    }
+    [Function("hello-world")]
+    public static string HelloWorldfunc() {
+        return "Hello World!!";
+    }
+}
+        
+

and call that function from a build file.

+
       
+<echo message="${hello::hello-world()}" />
+        
+

A quick and easy way to develop new functions is to use the + <script> task. This allows you to create and test new functions + without the overhead of building an external assembly. The + <script> task documentation contains examples of custom function + definitions.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/index.html b/build-support/tools/nant/doc/help/fundamentals/index.html index 0effaac1..e72e8bd7 100644 --- a/build-support/tools/nant/doc/help/fundamentals/index.html +++ b/build-support/tools/nant/doc/help/fundamentals/index.html @@ -1,35 +1,35 @@ - - - - - - - - NAnt - Fundamentals - - - - - - - - -

Fundamentals

- -

The basic concepts needed to understand and use NAnt.

-

> Running NAnt

-

> Build Files

-

> Projects

-

> Targets

-

> Tasks

-

> Properties

-

> Loggers & Listeners

-

> Expressions

-

> Functions

- - + + + + + + + + NAnt - Fundamentals + + + + + + + + +

Fundamentals

+

[This is preliminary documentation and subject to change.]

+

The basic concepts needed to understand and use NAnt.

+

> Running NAnt

+

> Build Files

+

> Projects

+

> Targets

+

> Tasks

+

> Properties

+

> Loggers & Listeners

+

> Expressions

+

> Functions

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/listeners.html b/build-support/tools/nant/doc/help/fundamentals/listeners.html index c829157f..47e02535 100644 --- a/build-support/tools/nant/doc/help/fundamentals/listeners.html +++ b/build-support/tools/nant/doc/help/fundamentals/listeners.html @@ -1,318 +1,318 @@ - - - - NAnt - Loggers & Listeners - - - - - - - - - - - - - -

Loggers & Listeners

- -

Overview

-

- NAnt has two related features to allow the build process to be monitored: - listeners and loggers. -

-

Listeners

-

- A listener is alerted of the following events: -

-
    -
  • - build started -
  • -
  • - build finished -
  • -
  • - target started -
  • -
  • - target finished -
  • -
  • - task started -
  • -
  • - task finished -
  • -
  • - message logged
  • -
-

Loggers

-

- Loggers extend the capabilities of listeners and add the following features: -

-
    -
  • - Receives a handle to the standard output and error print streams and therefore - can log information to the console or the -logfile - specified file. -
  • -
  • - Logging level (-quiet, -verbose, -debug) - aware. -
  • -
  • - Emacs-mode aware. This still needs to be implemented. -
  • -
-

Built-in Listeners/Loggers

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Class - Description - Type
NAnt.Core.DefaultLogger - The logger used implicitly unless overridden with the -logger command-line - switch. - IBuildLogger
NAnt.Core.MailLogger - Extends DefaultLogger such that output is still - generated the same, and when the build is finished an e-mail can be sent. - IBuildLogger
NAnt.Core.XmlLogger - Generates output in XML format. - IBuildLogger
-
-

DefaultLogger

-

Simply run NAnt normally, or:

-
-

NAnt.exe -logger:NAnt.Core.DefaultLogger

-
-

MailLogger

-

- The MailLogger captures all output logged through DefaultLogger (standard NAnt - output) and will send success and failure messages to unique e-mail lists, with - control for turning off success or failure messages individually. -

-

Properties controlling the operation of MailLogger are:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property - Description - Required
MailLogger.mailhostThe SMTP server to use.No, default is "localhost"
MailLogger.fromThe address of the e-mail sender.Yes, if mail needs to be sent.
MailLogger.failure.notifySend build failure e-mails ?No, default is "true".
MailLogger.success.notifySend build success e-mails ?No, default is "true".
MailLogger.failure.toThe address to send build failure messages to.Yes, if failure mail is to be sent.
MailLogger.success.toThe address to send build success messages to.Yes, if success mail is to be sent.
MailLogger.failure.subjectThe subject of build failure messages.No, default is "Build Failure".
MailLogger.success.subjectThe subject of build success messages.No, default is "Build Success".
MailLogger.failure.attachmentsThe ID of a fileset representing a set of files to attach when the build fails.No.
MailLogger.success.attachmentsThe ID of a fileset representing a set of files to attach when the build is successful.No.
MailLogger.body.encodingThe encoding type of the body of the e-mail message.No, default is system's ANSI code page.
MailLogger.smtp.username1The name of the user to login to the SMTP server.No.
MailLogger.smtp.password1The password of the specified user.No.
MailLogger.smtp.enablessl1Specifies whether to use SSL to encrypt the connection.No, default is "false".
MailLogger.smtp.port1The SMTP server port to connect to.No, default is "25".
-

1 Only available when NAnt is built targeting .NET Framework 1.1 (or equivalent) or higher.

-
-

Usage:

-
-

NAnt.exe -logger:NAnt.Core.MailLogger

-
-

Example:

-
-    <project name="MailLogger Test" default="build">
-        <property name="MailLogger.mailhost" value="smtp.wherever.be" />
-        <property name="MailLogger.from" value="me@telenet.be" />
-        <property name="MailLogger.failure.notify" value="true" />
-        <property name="MailLogger.success.notify" value="true" />
-        <property name="MailLogger.failure.to" value="support@home.be" />
-        <property name="MailLogger.success.to" value="support@home.be" />
-        <property name="MailLogger.failure.subject" value="Nightly build failure !" />
-        <property name="MailLogger.success.subject" value="Nightly build successful" />
-        <property name="MailLogger.failure.attachments" value="MailLogger.failure.files" />
-        <property name="MailLogger.success.attachments" value="MailLogger.success.files" />
-
-        <!-- set of files to attach when build fails -->
-        <fileset id="MailLogger.failure.files">
-            <include name="dump.log" />
-            <include name="trace.txt" />
-        </fileset>
-
-        <!-- set of files to attach when build is successful -->
-        <fileset id="MailLogger.success.files">
-            <include name="trace.txt" />
-        </fileset>
-    
-        <target name="build">
-            <echo message="Starting build" />
-            ....
-            <echo message="Finished build" />
-        </target>
-    </project>
-        
-

XmlLogger

-

- Writes all build information out to an XML file named log.xml, or - the value of the XmlLogger.file property if present, when used as - a listener. When used as a logger, it writes all output to either the console - or to the value of -logfile. -

-

- Whether used as a listener or logger, the output is not generated until the - build is complete. -

-

Usage:

-
-

- NAnt.exe -listener:NAnt.Core.XmlLogger
- NAnt.exe -logger:NAnt.Core.XmlLogger -logfile:buildlog.xml -

-
-

Example:

-
-    <buildresults project="test">
-        <message level="Info"><![CDATA[Buildfile: file:///D:/nant-test/xmlpeek/default.build]]></message>
-        <message level="Info"><![CDATA[Target framework: Microsoft .NET Framework 1.1]]></message>
-        <message level="Info"><![CDATA[Target(s) specified: build]]></message>
-        <target name="build">
-            <task name="xmlpeek">
-                <message level="Info"><![CDATA[Peeking at 'D:\nant-test\xmlpeek\input.xml' with XPath expression 'x:parameters/x:param'.]]></message>
-                <message level="Info"><![CDATA[Found '1' nodes with the XPath expression 'x:parameters/x:param'.]]></message>
-                <duration>15.625</duration>
-            </task>
-            <duration>15.625</duration>
-        </target>
-        <duration>31.25</duration>
-    </buildresults>
-        
- - + + + + NAnt - Loggers & Listeners + + + + + + + + + + + + + +

Loggers & Listeners

+

[This is preliminary documentation and subject to change.]

+

Overview

+

+ NAnt has two related features to allow the build process to be monitored: + listeners and loggers. +

+

Listeners

+

+ A listener is alerted of the following events: +

+
    +
  • + build started +
  • +
  • + build finished +
  • +
  • + target started +
  • +
  • + target finished +
  • +
  • + task started +
  • +
  • + task finished +
  • +
  • + message logged
  • +
+

Loggers

+

+ Loggers extend the capabilities of listeners and add the following features: +

+
    +
  • + Receives a handle to the standard output and error print streams and therefore + can log information to the console or the -logfile + specified file. +
  • +
  • + Logging level (-quiet, -verbose, -debug) + aware. +
  • +
  • + Emacs-mode aware. This still needs to be implemented. +
  • +
+

Built-in Listeners/Loggers

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Class + Description + Type
NAnt.Core.DefaultLogger + The logger used implicitly unless overridden with the -logger command-line + switch. + IBuildLogger
NAnt.Core.MailLogger + Extends DefaultLogger such that output is still + generated the same, and when the build is finished an e-mail can be sent. + IBuildLogger
NAnt.Core.XmlLogger + Generates output in XML format. + IBuildLogger
+
+

DefaultLogger

+

Simply run NAnt normally, or:

+
+

NAnt.exe -logger:NAnt.Core.DefaultLogger

+
+

MailLogger

+

+ The MailLogger captures all output logged through DefaultLogger (standard NAnt + output) and will send success and failure messages to unique e-mail lists, with + control for turning off success or failure messages individually. +

+

Properties controlling the operation of MailLogger are:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Property + Description + Required
MailLogger.mailhostThe SMTP server to use.No, default is "localhost"
MailLogger.fromThe address of the e-mail sender.Yes, if mail needs to be sent.
MailLogger.failure.notifySend build failure e-mails ?No, default is "true".
MailLogger.success.notifySend build success e-mails ?No, default is "true".
MailLogger.failure.toThe address to send build failure messages to.Yes, if failure mail is to be sent.
MailLogger.success.toThe address to send build success messages to.Yes, if success mail is to be sent.
MailLogger.failure.subjectThe subject of build failure messages.No, default is "Build Failure".
MailLogger.success.subjectThe subject of build success messages.No, default is "Build Success".
MailLogger.failure.attachmentsThe ID of a fileset representing a set of files to attach when the build fails.No.
MailLogger.success.attachmentsThe ID of a fileset representing a set of files to attach when the build is successful.No.
MailLogger.body.encodingThe encoding type of the body of the e-mail message.No, default is system's ANSI code page.
MailLogger.smtp.username1The name of the user to login to the SMTP server.No.
MailLogger.smtp.password1The password of the specified user.No.
MailLogger.smtp.enablessl1Specifies whether to use SSL to encrypt the connection.No, default is "false".
MailLogger.smtp.port1The SMTP server port to connect to.No, default is "25".
+

1 Only available when NAnt is built targeting .NET Framework 1.1 (or equivalent) or higher.

+
+

Usage:

+
+

NAnt.exe -logger:NAnt.Core.MailLogger

+
+

Example:

+
+    <project name="MailLogger Test" default="build">
+        <property name="MailLogger.mailhost" value="smtp.wherever.be" />
+        <property name="MailLogger.from" value="me@telenet.be" />
+        <property name="MailLogger.failure.notify" value="true" />
+        <property name="MailLogger.success.notify" value="true" />
+        <property name="MailLogger.failure.to" value="support@home.be" />
+        <property name="MailLogger.success.to" value="support@home.be" />
+        <property name="MailLogger.failure.subject" value="Nightly build failure !" />
+        <property name="MailLogger.success.subject" value="Nightly build successful" />
+        <property name="MailLogger.failure.attachments" value="MailLogger.failure.files" />
+        <property name="MailLogger.success.attachments" value="MailLogger.success.files" />
+
+        <!-- set of files to attach when build fails -->
+        <fileset id="MailLogger.failure.files">
+            <include name="dump.log" />
+            <include name="trace.txt" />
+        </fileset>
+
+        <!-- set of files to attach when build is successful -->
+        <fileset id="MailLogger.success.files">
+            <include name="trace.txt" />
+        </fileset>
+    
+        <target name="build">
+            <echo message="Starting build" />
+            ....
+            <echo message="Finished build" />
+        </target>
+    </project>
+        
+

XmlLogger

+

+ Writes all build information out to an XML file named log.xml, or + the value of the XmlLogger.file property if present, when used as + a listener. When used as a logger, it writes all output to either the console + or to the value of -logfile. +

+

+ Whether used as a listener or logger, the output is not generated until the + build is complete. +

+

Usage:

+
+

+ NAnt.exe -listener:NAnt.Core.XmlLogger
+ NAnt.exe -logger:NAnt.Core.XmlLogger -logfile:buildlog.xml +

+
+

Example:

+
+    <buildresults project="test">
+        <message level="Info"><![CDATA[Buildfile: file:///D:/nant-test/xmlpeek/default.build]]></message>
+        <message level="Info"><![CDATA[Target framework: Microsoft .NET Framework 1.1]]></message>
+        <message level="Info"><![CDATA[Target(s) specified: build]]></message>
+        <target name="build">
+            <task name="xmlpeek">
+                <message level="Info"><![CDATA[Peeking at 'D:\nant-test\xmlpeek\input.xml' with XPath expression 'x:parameters/x:param'.]]></message>
+                <message level="Info"><![CDATA[Found '1' nodes with the XPath expression 'x:parameters/x:param'.]]></message>
+                <duration>15.625</duration>
+            </task>
+            <duration>15.625</duration>
+        </target>
+        <duration>31.25</duration>
+    </buildresults>
+        
+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/projects.html b/build-support/tools/nant/doc/help/fundamentals/projects.html index ebd56034..31761da5 100644 --- a/build-support/tools/nant/doc/help/fundamentals/projects.html +++ b/build-support/tools/nant/doc/help/fundamentals/projects.html @@ -1,71 +1,71 @@ - - - - - - - - NAnt - Projects - - - - - - - - -

Projects

- -

A project has these attributes:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Attribute - Description - Required
nameThe name of the project.No
defaultThe default target to execute when no target is supplied on the command-line.No
basedirThe base directory from which all path calculations are done.  If not set, the parent directory of the buildfile will be used.No
-
-

Optionally, a description for the project can be provided as a top-level <description> - element.  The text contained in the description element is used when the -projecthelp command line option is used.  See the - example build file for details.

-

Each project defines zero or more targets.  - A target is a set of tasks to be - executed.  When starting NAnt, you can select which target(s) you want to - have executed.  When no target is given, the project's default target is used. - When no target and no default target are specified, only the global tasks of the - project are executed.

- - + + + + + + + + NAnt - Projects + + + + + + + + +

Projects

+

[This is preliminary documentation and subject to change.]

+

A project has these attributes:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
nameThe name of the project.No
defaultThe default target to execute when no target is supplied on the command-line.No
basedirThe base directory from which all path calculations are done.  If not set, the parent directory of the buildfile will be used.No
+
+

Optionally, a description for the project can be provided as a top-level <description> + element.  The text contained in the description element is used when the -projecthelp command line option is used.  See the + example build file for details.

+

Each project defines zero or more targets.  + A target is a set of tasks to be + executed.  When starting NAnt, you can select which target(s) you want to + have executed.  When no target is given, the project's default target is used. + When no target and no default target are specified, only the global tasks of the + project are executed.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/properties.html b/build-support/tools/nant/doc/help/fundamentals/properties.html index bde77164..1dbb4ae9 100644 --- a/build-support/tools/nant/doc/help/fundamentals/properties.html +++ b/build-support/tools/nant/doc/help/fundamentals/properties.html @@ -1,319 +1,314 @@ - - - - - - - - NAnt - Properties - - - - - - - - -

Properties

- -

Contents

- -

1 Introduction

-

A project can have a set of properties.  These might be set in the - buildfile by the <property> task, or - might be set outside NAnt.  A property has a name and a value. Properties - may be used in the value of task attributes. This is done by placing the - property name between "${" and "}" in the attribute - value. Properties may also be used in expressions. -

-

2 Naming rules

-

A property name is a string of the following characters:

-
    -
  • - letters (A-Z, a-z),
  • -
  • - digits (0-9),
  • -
  • - underscore characters (_),
  • -
  • - dash characters (-),
  • -
  • - dot characters (.),
  • -
-

In addition, a valid property name must start with a letter or an underscore and - must end with a letter, digit or an uderscore.

-

Examples of valid property names include:

-
    -
  • - propertyname
  • -
  • - property.name.with.dots
  • -
  • - property-name-with-dashes
  • -
  • - property.name-with.both-dots.and-dashes
  • -
  • - __prop---3-erty__
  • -
  • - __prop.1...erty__
  • -
  • - property1
  • -
  • - property1.0
  • -
  • - property2.0.0
  • -
  • - _property-2-1__
  • -
  • - property-1-name_
  • -
  • - property-1.0-name
  • -
-

The following property names are not valid in NAnt:

-
    -
  • - !@#!@$!@ (contains illegal characters)
  • -
  • - .aaaaa (starts with a dot)
  • -
  • - -aaaaa (starts with a dash)
  • -
  • - 1aaaaa (starts with a digit)
  • -
  • - aaaaa.aaa.a.a.a.a- (ends with a dash)
  • -
  • - aaaaa.aaa.a.a.a.a. (ends with a dot)
  • -
-

3 Built-in Properties

-

NAnt has these built-in properties:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property - Description
nant.versionDeprecated. The version of NAnt.
nant.filenameDeprecated. The full path to the NAnt assembly.
nant.locationDeprecated. The base directory of the NAnt assembly.
nant.project.basedirDeprecated. The absolute path of the project's basedir.
nant.project.buildfileDeprecated. The absolute path of the buildfile.
nant.project.nameDeprecated. The name of the project.
nant.project.defaultDeprecated. The name of the project's default target.
nant.onsuccessThe name of a target to be executed when the build succeeds.
nant.onfailureThe name of a target to be executed when the build fails.
nant.tasks.*Deprecated. Each task available to nant has a "true" value, e.g., - nant.tasks.copy
-
-

3.1 Framework related Properties:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Property - Description
nant.settings.currentframeworkThe current target framework, eg. 'net-1.0'.
nant.settings.currentframework.descriptionDeprecated. Description of the current target framework.
nant.settings.currentframework.frameworkdirectoryDeprecated. The framework directory of the current target framework.
nant.settings.currentframework.sdkdirectoryDeprecated. The framework SDK directory of the current target framework.
nant.settings.currentframework.frameworkassemblydirectoryDeprecated. The framework assembly directory of the current target - framework.
nant.settings.currentframework.runtimeengineDeprecated. The runtime engine of the current target framework if used - eg. mono.exe.
-
-

3.2 Platform related Properties:

-
- - - - - - - - - - - - - - - - - - - -
- Property - Description
nant.platform.nameDeprecated. The name of the platform on which NAnt is currently running - - either win32 or unix.
nant.platform.win32Deprecated. Holds the value true if NAnt is running on the - win32 platform; otherwise, false.
nant.platform.unixDeprecated. Holds the value true if NAnt is running on the - unix platform; otherwise, false.
-
-

4 Read-only Properties

-

- A property can be explicitly marked read-only by setting the - "readonly" attribute on the <property> - task to true. -

-

- The value of a read-only property cannot be modified after it has been set. -

-

- When attempting to override a read-only property using the - <property> task, the new value will be ignored and a warning - message will be output in the build log. Attempting to override read-only - properties using any other means (eg. other tasks) will result in a build - failure. -

-

Note: properties set on the command-line are always read-only.

-

5 Global Properties

-

Properties that should be accessible to all build files on a system can be - defined in the <properties> node of the NAnt configuration - file (NAnt.exe.config).

-

By changing the value of the property in the NAnt configuration file, the - updated value will be accessible to all build files on the system:

-
-    <?xml version="1.0"?>
-    <configuration>
-        ...
-        <nant>
-            ...
-            <properties>
-                <!-- properties defined here are accessible to all build files -->
-                <property name="company.name" value="Foo Ltd." readonly="true" />
-            </properties>
-        </nant>
-    </configuration>
-        
-

Individual build files can then use this property:

-
-    <?xml version="1.0"?>
-    <project name="test">
-        <echo message="Company: ${company.name}" />
-    </project>
-        
-

The output of this build is:

-
-    [echo] Company: Foo Ltd.
-        
-

6 Examples

-

The following build file demonstrates the use of property expansion:

-
-    <?xml version="1.0"?>
-    <project name="Property Test" default="test" basedir=".">
-        <property name="project.name" value="PropertyTest"/>
-        <property name="project.version" value="1.0.0"/>
-        <target name="test">
-            <echo message="Building ${project.name}-${project.version}"/>
-        </target>
-    </project>
-        
-

The output of this build is:

-
-    [echo] Building PropertyTest-1.0.0
-        
-

The following build file demonstrates the use of properties in - expressions. It evaluates the length of the property project.name - and displays it.

-
-    <?xml version="1.0"?>
-    <project name="Expression Test" default="test" basedir=".">
-        <property name="project.name" value="Expression Test"/>
-        <target name="test">
-            <echo message="Project name consists of ${string::get-length(project.name)} characters."/>
-        </target>
-    </project>
-        
-

The output of this build is:

-
-   [echo] Project name consists of 15 characters.
-        
-

See Also

- - - + + + + + + + + NAnt - Properties + + + + + + + + +

Properties

+

[This is preliminary documentation and subject to change.]

+

Contents

+ +

1 Introduction

+

A project can have a set of properties.  These might be set in the + buildfile by the <property> task, or + might be set outside NAnt.  A property has a name and a value. Properties + may be used in the value of task attributes. This is done by placing the + property name between "${" and "}" in the attribute + value. Properties may also be used in expressions. +

+

2 Naming rules

+

A property name is a string of the following characters:

+
    +
  • + letters (A-Z, a-z),
  • +
  • + digits (0-9),
  • +
  • + underscore characters (_),
  • +
  • + dash characters (-),
  • +
  • + dot characters (.),
  • +
+

In addition, a valid property name must start with a letter or an underscore and + must end with a letter, digit or an uderscore.

+

Examples of valid property names include:

+
    +
  • + propertyname
  • +
  • + property.name.with.dots
  • +
  • + property-name-with-dashes
  • +
  • + property.name-with.both-dots.and-dashes
  • +
  • + __prop---3-erty__
  • +
  • + __prop.1...erty__
  • +
  • + property1
  • +
  • + property1.0
  • +
  • + property2.0.0
  • +
  • + _property-2-1__
  • +
  • + property-1-name_
  • +
  • + property-1.0-name
  • +
+

The following property names are not valid in NAnt:

+
    +
  • + !@#!@$!@ (contains illegal characters)
  • +
  • + .aaaaa (starts with a dot)
  • +
  • + -aaaaa (starts with a dash)
  • +
  • + 1aaaaa (starts with a digit)
  • +
  • + aaaaa.aaa.a.a.a.a- (ends with a dash)
  • +
  • + aaaaa.aaa.a.a.a.a. (ends with a dot)
  • +
+

3 Built-in Properties

+

NAnt has these built-in properties:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Property + Description
nant.versionDeprecated. The version of NAnt.
nant.filenameDeprecated. The full path to the NAnt assembly.
nant.locationDeprecated. The base directory of the NAnt assembly.
nant.project.basedirDeprecated. The absolute path of the project's basedir.
nant.project.buildfileDeprecated. The absolute path of the buildfile.
nant.project.nameDeprecated. The name of the project.
nant.project.defaultDeprecated. The name of the project's default target.
nant.onsuccessThe name of a target to be executed when the build succeeds.
nant.onfailureThe name of a target to be executed when the build fails.
+
+

3.1 Framework related Properties:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Property + Description
nant.settings.currentframeworkThe current target framework, eg. 'net-1.0'.
nant.settings.currentframework.descriptionDeprecated. Description of the current target framework.
nant.settings.currentframework.frameworkdirectoryDeprecated. The framework directory of the current target framework.
nant.settings.currentframework.sdkdirectoryDeprecated. The framework SDK directory of the current target framework.
nant.settings.currentframework.frameworkassemblydirectoryDeprecated. The framework assembly directory of the current target + framework.
nant.settings.currentframework.runtimeengineDeprecated. The runtime engine of the current target framework if used + eg. mono.exe.
+
+

3.2 Platform related Properties:

+
+ + + + + + + + + + + + + + + + + + + +
+ Property + Description
nant.platform.nameDeprecated. The name of the platform on which NAnt is currently running + - either win32 or unix.
nant.platform.win32Deprecated. Holds the value true if NAnt is running on the + win32 platform; otherwise, false.
nant.platform.unixDeprecated. Holds the value true if NAnt is running on the + unix platform; otherwise, false.
+
+

4 Read-only Properties

+

+ A property can be explicitly marked read-only by setting the + "readonly" attribute on the <property> + task to true. +

+

+ The value of a read-only property cannot be modified after it has been set. +

+

+ When attempting to override a read-only property using the + <property> task, the new value will be ignored and a warning + message will be output in the build log. Attempting to override read-only + properties using any other means (eg. other tasks) will result in a build + failure. +

+

Note: properties set on the command-line are always read-only.

+

5 Global Properties

+

Properties that should be accessible to all build files on a system can be + defined in the <properties> node of the NAnt configuration + file (NAnt.exe.config).

+

By changing the value of the property in the NAnt configuration file, the + updated value will be accessible to all build files on the system:

+
+    <?xml version="1.0"?>
+    <configuration>
+        ...
+        <nant>
+            ...
+            <properties>
+                <!-- properties defined here are accessible to all build files -->
+                <property name="company.name" value="Foo Ltd." readonly="true" />
+            </properties>
+        </nant>
+    </configuration>
+        
+

Individual build files can then use this property:

+
+    <?xml version="1.0"?>
+    <project name="test">
+        <echo message="Company: ${company.name}" />
+    </project>
+        
+

The output of this build is:

+
+    [echo] Company: Foo Ltd.
+        
+

6 Examples

+

The following build file demonstrates the use of property expansion:

+
+    <?xml version="1.0"?>
+    <project name="Property Test" default="test" basedir=".">
+        <property name="project.name" value="PropertyTest"/>
+        <property name="project.version" value="1.0.0"/>
+        <target name="test">
+            <echo message="Building ${project.name}-${project.version}"/>
+        </target>
+    </project>
+        
+

The output of this build is:

+
+    [echo] Building PropertyTest-1.0.0
+        
+

The following build file demonstrates the use of properties in + expressions. It evaluates the length of the property project.name + and displays it.

+
+    <?xml version="1.0"?>
+    <project name="Expression Test" default="test" basedir=".">
+        <property name="project.name" value="Expression Test"/>
+        <target name="test">
+            <echo message="Project name consists of ${string::get-length(project.name)} characters."/>
+        </target>
+    </project>
+        
+

The output of this build is:

+
+   [echo] Project name consists of 15 characters.
+        
+

See Also

+ + + diff --git a/build-support/tools/nant/doc/help/fundamentals/running-nant.html b/build-support/tools/nant/doc/help/fundamentals/running-nant.html index 912bfd45..607b733d 100644 --- a/build-support/tools/nant/doc/help/fundamentals/running-nant.html +++ b/build-support/tools/nant/doc/help/fundamentals/running-nant.html @@ -1,92 +1,92 @@ - - - - - - - - NAnt - Running NAnt - - - - - - - - -

Running NAnt

- -

- Running NAnt is simple once you have it - installed, just type NAnt.  Type - NAnt -help to get usage information.

-

Specifying the Build File

-

- When nothing is specified, NAnt looks for a file ending with .build, - e.g., NAnt.build, in the current directory.  If found, it - uses that file as the build file.  If more than one file is found you need - to specify the build file using the -buildfile option (see below).

-

- If you use the -find option, NAnt will search for a build file in - the parent directory, and so on, until the root of the file system has been - reached.  To make NAnt use another build file, use the command-line option - -buildfile:file, where file is the build file you want to - use.

-

Specifying Targets

-

- You can specify one or more targets that should be executed. When omitted, the - target that is specified in the default attribute of the <project> - tag is used.

-

- The -projecthelp option prints out the description of the project, - if it exists, followed by a list of the project's targets. First those with a - description, then those without one.

-

Setting Properties

-

- To override properties specified in the build file use the - -D:property=value option, where property is the - name of the property, and value is the value for that property. 

-

Examples

-
-
-
NAnt
-
-
-

- Runs NAnt using the file ending in *.build.xml file in the - current directory, on the default target.

-
-
-
NAnt -buildfile:..\ProjectName.build
-
-
-

- Runs NAnt using the ProjectName.build file in the parent - directory, on the default target.

-
-
-
NAnt clean
-
-
-

- Runs NAnt using the default build file in the current directory, on a target - called clean.

-
-
-
NAnt -D:debug=false clean dist
-
-
-

- Runs NAnt using the default build file in the current directory, first on - the clean target and then on the dist target - while setting the debug property to false.  This - could, for example, make a release distribution from scratch.

- - + + + + + + + + NAnt - Running NAnt + + + + + + + + +

Running NAnt

+

[This is preliminary documentation and subject to change.]

+

+ Running NAnt is simple once you have it + installed, just type NAnt.  Type + NAnt -help to get usage information.

+

Specifying the Build File

+

+ When nothing is specified, NAnt looks for a file ending with .build, + e.g., NAnt.build, in the current directory.  If found, it + uses that file as the build file.  If more than one file is found you need + to specify the build file using the -buildfile option (see below).

+

+ If you use the -find option, NAnt will search for a build file in + the parent directory, and so on, until the root of the file system has been + reached.  To make NAnt use another build file, use the command-line option + -buildfile:file, where file is the build file you want to + use.

+

Specifying Targets

+

+ You can specify one or more targets that should be executed. When omitted, the + target that is specified in the default attribute of the <project> + tag is used.

+

+ The -projecthelp option prints out the description of the project, + if it exists, followed by a list of the project's targets. First those with a + description, then those without one.

+

Setting Properties

+

+ To override properties specified in the build file use the + -D:property=value option, where property is the + name of the property, and value is the value for that property. 

+

Examples

+
+
+
NAnt
+
+
+

+ Runs NAnt using the file ending in *.build.xml file in the + current directory, on the default target.

+
+
+
NAnt -buildfile:..\ProjectName.build
+
+
+

+ Runs NAnt using the ProjectName.build file in the parent + directory, on the default target.

+
+
+
NAnt clean
+
+
+

+ Runs NAnt using the default build file in the current directory, on a target + called clean.

+
+
+
NAnt -D:debug=false clean dist
+
+
+

+ Runs NAnt using the default build file in the current directory, first on + the clean target and then on the dist target + while setting the debug property to false.  This + could, for example, make a release distribution from scratch.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/targets.html b/build-support/tools/nant/doc/help/fundamentals/targets.html index a54e9a23..ebedcb88 100644 --- a/build-support/tools/nant/doc/help/fundamentals/targets.html +++ b/build-support/tools/nant/doc/help/fundamentals/targets.html @@ -1,136 +1,136 @@ - - - - - - - - NAnt - Targets - - - - - - - - -

Targets

- -

A target has these attributes:

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Attribute - Description - Required
nameThe name of the target.Yes
dependsA comma-separated list of names of targets on which this target depends.No
ifAn expression that should evaluate to true in order for this target to - execute.No
unlessAn expression that, when evaluated to true, will cause the target to be - skipped.No
descriptionA short description of this target's function.No
-
-

- The optional description attribute can be used to provide a - one-line description of this target, which is printed by the - -projecthelp command-line option.

-

Dependencies

-

- A target can depend on other targets.  You might have a target for - compiling, for example, and a target for creating a distributable.  You - can only build a distributable when you have compiled first, so the distribute - target depends on the compile target.  NAnt resolves these - dependencies.

-

- NAnt tries to execute the targets in the depends attribute in the - order they appear from left to right.  It is possible that a target can - get executed earlier when an earlier target depends on it:

-
-    <target name="A"/>
-    <target name="B" depends="A" />
-    <target name="C" depends="B" />
-    <target name="D" depends="C,B,A" />
-        
-

- Suppose we want to execute target D.  From its depends attribute, - you might think that first target C, then B and then A is executed.  - Wrong!  C depends on B, and B depends on A, so first A is executed, then - B, then C, and finally D.

-

- A target gets executed only once, even when more than one target depends on it - (see the previous example). However, when the <call> - task is used to execute a target, both the target and all its dependent targets - will be re-executed.

-

Wild Targets

-

- A target can be marked as wild by setting the name attribute - to "*". A build file can contain up to one wild target, and it is executed if - and only if the invoked target does not exist in the current build file.  Wild - targets let you define how to handle invalid requests, or provide generic - behavior for unknown targets. For example:

-
-     <target name="A" />
-     <target name="B" />
-     <target name="*" />
-         
-

- The last target is executed if the invoked target is neither A nor B.

-

Conditional Execution

-

- A target also has the ability to perform its execution if or unless a property - has been set.  This allows, for example, better control on the building - process depending on the state of the system (OS, command-line property - defines, etc.).  To make a target sense this property, you should - add the if or unless attribute with an expression - that the target should react to. For example:

-
-    <target name="build-module-A" if="${module-A-present}" />
-    <target name="build-own-fake-module-A" unless="${file::exists('fake-module-a.dll')}" />
-        
-

- If no if and no unless attribute is present, the - target will always be executed.

-

Note: the dependencies of a target are always executed before testing the - target's condition.

- - + + + + + + + + NAnt - Targets + + + + + + + + +

Targets

+

[This is preliminary documentation and subject to change.]

+

A target has these attributes:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Attribute + Description + Required
nameThe name of the target.Yes
dependsA comma-separated list of names of targets on which this target depends.No
ifAn expression that should evaluate to true in order for this target to + execute.No
unlessAn expression that, when evaluated to true, will cause the target to be + skipped.No
descriptionA short description of this target's function.No
+
+

+ The optional description attribute can be used to provide a + one-line description of this target, which is printed by the + -projecthelp command-line option.

+

Dependencies

+

+ A target can depend on other targets.  You might have a target for + compiling, for example, and a target for creating a distributable.  You + can only build a distributable when you have compiled first, so the distribute + target depends on the compile target.  NAnt resolves these + dependencies.

+

+ NAnt tries to execute the targets in the depends attribute in the + order they appear from left to right.  It is possible that a target can + get executed earlier when an earlier target depends on it:

+
+    <target name="A"/>
+    <target name="B" depends="A" />
+    <target name="C" depends="B" />
+    <target name="D" depends="C,B,A" />
+        
+

+ Suppose we want to execute target D.  From its depends attribute, + you might think that first target C, then B and then A is executed.  + Wrong!  C depends on B, and B depends on A, so first A is executed, then + B, then C, and finally D.

+

+ A target gets executed only once, even when more than one target depends on it + (see the previous example). However, when the <call> + task is used to execute a target, both the target and all its dependent targets + will be re-executed.

+

Wild Targets

+

+ A target can be marked as wild by setting the name attribute + to "*". A build file can contain up to one wild target, and it is executed if + and only if the invoked target does not exist in the current build file.  Wild + targets let you define how to handle invalid requests, or provide generic + behavior for unknown targets. For example:

+
+     <target name="A" />
+     <target name="B" />
+     <target name="*" />
+         
+

+ The last target is executed if the invoked target is neither A nor B.

+

Conditional Execution

+

+ A target also has the ability to perform its execution if or unless a property + has been set.  This allows, for example, better control on the building + process depending on the state of the system (OS, command-line property + defines, etc.).  To make a target sense this property, you should + add the if or unless attribute with an expression + that the target should react to. For example:

+
+    <target name="build-module-A" if="${module-A-present}" />
+    <target name="build-own-fake-module-A" unless="${file::exists('fake-module-a.dll')}" />
+        
+

+ If no if and no unless attribute is present, the + target will always be executed.

+

Note: the dependencies of a target are always executed before testing the + target's condition.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/tasks.html b/build-support/tools/nant/doc/help/fundamentals/tasks.html index 13f0df28..b2d35c01 100644 --- a/build-support/tools/nant/doc/help/fundamentals/tasks.html +++ b/build-support/tools/nant/doc/help/fundamentals/tasks.html @@ -1,274 +1,277 @@ - - - - - - - - Tasks - - - - - - - - -

Tasks

- -

Contents

- -

1 Introduction

-

A task is a piece of code that can be executed.

-

A task can have multiple attributes (or arguments, if you prefer).  The - value of an attribute may contain references to a property.  - These references will be resolved before the task is executed.

-

Tasks have a common structure:

-
<name attribute1="value1" attribute2="value2" ... />
-
-

where name is the name of the task, attribute# is the attribute - name, and value# is the value for this attribute.

-

> For - more information see the Task Reference.

-

2 Loading custom extensions

-

- Extensions can be devided in the following categories: -

-
    -
  • Tasks
  • -
  • Filters
  • -
  • Functions
  • -
  • Global Types
  • -
-

- NAnt currently provides two mechanisms to make third-party extensions available for use in build scripts: -

-
    -
  • - Automatic discovery -
  • -
  • - Forced scan -
  • -
-

- Both mechanisms use .NET reflection to scan one or more assemblies for the presence of extensions. When found, - these extensions are registered in the NAnt type system, and from then on these are available for all build - scripts (in the current NAnt instance). -

-

2.1 Automatic discovery

-

- To facilitate registration of extensions that are used in multiple (or even all) build - scripts, NAnt supports automatic discovery of extensions. -

-

- In this context, automatic discovery means scanning a predefined set of directories and files for extensions. -

-

- The actual set of directories and files that is scanned is determined by: -

-
    -
  • Operating system
  • -
  • Runtime framework
  • -
  • Project
  • -
-

2.1.1 Operating system

-

- When starting NAnt, all assemblies matching the following patterns will be scanned for extensions: -

-
-

- Windows -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PatternActionDescription

*Tasks.dllincludeNAnt Core assemblies
*Tests.dllincludeNAnt test assemblies
tasks/*.dllincludeFramework-neutral assemblies
NAnt.MSNetTasks.dllexcludeMicrosoft.NET specific assembly
NAnt.MSNet.Tests.dllexcludeMicrosoft.NET specific test assembly
-
-
-
-

- Unix -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PatternActionDescription

*Tasks.dllincludeNAnt Core assemblies
*Tests.dllincludeNAnt test assemblies
tasks/*.dllincludeFramework-neutral assemblies
NAnt.MSNetTasks.dllexcludeMicrosoft.NET specific assembly
NAnt.MSNet.Tests.dllexcludeMicrosoft.NET specific test assembly
NAnt.VSNetTasks.dllexcludeAssembly containing <solution> task
NAnt.Win32Tasks.dllexcludeWin32 specific assembly
NAnt.Win32.Tests.dllexcludeWin32 specific test assembly
-
-
-

- NOTE: all patterns are matched relative to the NAnt base directory, which is the directory in which NAnt.exe is located. -

-

2.1.2 Runtime framework

-

- Depending on the runtime framework on which NAnt is running, some additional directories are scanned. -

-

- In general, the following include patterns are applied: -

-
- tasks/<framework family>/*.dll
- tasks/<framework family>/<framework version>/**/*.dll
-
-

- Example: -

-

- When running NAnt on Microsoft .NET Framework 1.0, assemblies matching the following pattern would be scanned: -

-
- tasks/net/*.dll
- tasks/net/1.0/**/*.dll -
-

- NOTE: the exact set of patterns that are used for a given runtime framework is defined in the NAnt configuration file (NAnt.exe.config). -

-

2.1.3 Project

-

- Whenever a build project is started, NAnt will scan the following directories for assemblies that match the *.dll pattern: -

-
    -
  • - <Project Base Directory>\tasks\ -
  • -
  • - <Project Base Directory>\tasks\<framework family>\ -
  • -
  • - <Project Base Directory>\tasks\<framework family>\<framework version>\ -
  • -
-

- Example: -

-

- For a project file located in "c:\projects\log4net" with NAnt running on the Microsoft .NET 2.0 runtime, NAnt would end-up scanning the following project-level directories: -

-
    -
  • - c:\projects\log4net\tasks\ -
  • -
  • - c:\projects\log4net\tasks\net\ -
  • -
  • - c:\projects\log4net\tasks\net\2.0\ -
  • -
-

2.2 Forced scan

-

- To explicitly instruct NAnt to scan a certain assembly (or set of assemblies) for extensions, build authors can use the <loadtasks> tasks. -

- - + + + + + + + + Tasks + + + + + + + + +

Tasks

+

[This is preliminary documentation and subject to change.]

+

Contents

+ +

1 Introduction

+

A task is a piece of code that can be executed.

+

A task can have multiple attributes (or arguments, if you prefer).  The + value of an attribute may contain references to a property.  + These references will be resolved before the task is executed.

+

Tasks have a common structure:

+
<name attribute1="value1" attribute2="value2" ... />
+
+

where name is the name of the task, attribute# is the attribute + name, and value# is the value for this attribute.

+

> For + more information see the Task Reference.

+

2 Loading custom extensions

+

+ Extensions can be devided in the following categories: +

+
    +
  • Tasks
  • +
  • Filters
  • +
  • Functions
  • +
  • Global Types
  • +
+

+ NAnt currently provides two mechanisms to make third-party extensions available for use in build scripts: +

+
    +
  • + Automatic discovery +
  • +
  • + Forced scan +
  • +
+

+ Both mechanisms use .NET reflection to scan one or more assemblies for the presence of extensions. When found, + these extensions are registered in the NAnt type system, and from then on these are available for all build + scripts (in the current NAnt instance). +

+

2.1 Automatic discovery

+

+ To facilitate registration of extensions that are used in multiple (or even all) build + scripts, NAnt supports automatic discovery of extensions. +

+

+ In this context, automatic discovery means scanning a predefined set of directories and files for extensions. +

+

+ The actual set of directories and files that is scanned is determined by: +

+
    +
  • Operating system
  • +
  • Runtime framework
  • +
  • Project
  • +
+

2.1.1 Operating system

+

+ When starting NAnt, all assemblies matching the following patterns will be scanned for extensions: +

+
+

+ Windows +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PatternActionDescription

*Tasks.dllincludeNAnt Core assemblies
*Tests.dllincludeNAnt test assemblies
extensions/common/neutral/**/*.dllincludeFramework and version-neutral assemblies
NAnt.MSNetTasks.dllexcludeMicrosoft.NET specific assembly
NAnt.MSNet.Tests.dllexcludeMicrosoft.NET specific test assembly
+
+
+
+

+ Unix +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PatternActionDescription

*Tasks.dllincludeNAnt Core assemblies
*Tests.dllincludeNAnt test assemblies
extensions/common/neutral/**/*.dllincludeFramework and version-neutral assemblies
NAnt.MSNetTasks.dllexcludeMicrosoft.NET specific assembly
NAnt.MSNet.Tests.dllexcludeMicrosoft.NET specific test assembly
NAnt.Win32Tasks.dllexcludeWin32 specific assembly
NAnt.Win32.Tests.dllexcludeWin32 specific test assembly
+
+
+

+ NOTE: all patterns are matched relative to the NAnt base directory, which is the directory in which NAnt.exe is located. +

+

2.1.2 Runtime framework

+

+ Depending on the runtime framework on which NAnt is running, some additional directories are scanned. +

+

+ In general, the following include patterns are applied: +

+
+ extensions/common/<CLR version>/**/*.dll
+ extensions/<framework family>/neutral/**/*.dll
+ extensions/<framework family>/<framework version>/**/*.dll
+
+

+ Example: +

+

+ When running NAnt on Microsoft .NET Framework 1.0, assemblies matching the following pattern would be scanned: +

+
+ extensions/common/1.0/**/*.dll
+ extensions/net/neutral/**/*.dll
+ extensions/net/1.0/**/*.dll +
+

+ NOTE: the exact set of patterns that are used for a given runtime framework is defined in the NAnt configuration file (NAnt.exe.config). +

+

2.1.3 Project

+

+ Whenever a build project is started, NAnt will scan the following directories for assemblies that match the *.dll pattern: +

+
    +
  • + <Project Base Directory>/extensions/common/neutral/ +
  • +
  • + <Project Base Directory>/extensions/common/<CLR version>/ +
  • +
  • + <Project Base Directory>/extensions/<framework family>/neutral/ +
  • +
  • + <Project Base Directory>/tasks/<framework family>/<framework version>/ +
  • +
+

+ Example: +

+

+ For a project file located in "c:\projects\log4net" with NAnt running on the Microsoft .NET 2.0 runtime, NAnt would end-up scanning the following project-level directories: +

+
    +
  • + c:\projects\log4net\extensions\common\neutral\ +
  • +
  • + c:\projects\log4net\extensions\common\2.0\ +
  • +
  • + c:\projects\log4net\extensions\net\neutral\ +
  • +
  • + c:\projects\log4net\extensions\net\2.0\ +
  • +
+

2.2 Forced scan

+

+ To explicitly instruct NAnt to scan a certain assembly (or set of assemblies) for extensions, build authors can use the <loadtasks> tasks. +

+ + diff --git a/build-support/tools/nant/doc/help/index.html b/build-support/tools/nant/doc/help/index.html index 26dae29d..fa80bbd9 100644 --- a/build-support/tools/nant/doc/help/index.html +++ b/build-support/tools/nant/doc/help/index.html @@ -1,61 +1,61 @@ - - - - - - - NAnt Help - - - - - - - - - - - - - -
-

NAnt - Help

-
- NAnt logo (link to home page) -
- -

 > Introduction
- Requirements, installation, quick start, history of NAnt and other - miscellaneous topics.

-

 > Fundamentals
- The basic concepts needed to understand and use NAnt.

-

-  > Task Reference -
- List of Tasks. -

-

-  > Type Reference -
- List of global (referencable) Types. -

-

 > Function - Reference
- List of Functions that can be used in Expressions. -

-

 > Filter - Reference
- List of Filters that can be used in FilterChains. -

-
-

Portions of this document have been directly copied from the - Apache Ant user manual.

- - + + + + + + + NAnt Help + + + + + + + + + + + + + +
+

NAnt + Help

+
+ NAnt logo (link to home page) +
+

[This is preliminary documentation and subject to change.]

+

 > Introduction
+ Requirements, installation, quick start, history of NAnt and other + miscellaneous topics.

+

 > Fundamentals
+ The basic concepts needed to understand and use NAnt.

+

+  > Task Reference +
+ List of Tasks. +

+

+  > Type Reference +
+ List of global (referencable) Types. +

+

 > Function + Reference
+ List of Functions that can be used in Expressions. +

+

 > Filter + Reference
+ List of Filters that can be used in FilterChains. +

+
+

Portions of this document have been directly copied from the + Apache Ant user manual.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000006.html b/build-support/tools/nant/doc/help/introduction/fog0000000006.html index c7cbf175..3ce160d7 100644 --- a/build-support/tools/nant/doc/help/introduction/fog0000000006.html +++ b/build-support/tools/nant/doc/help/introduction/fog0000000006.html @@ -1,42 +1,42 @@ - - - - - - - - System Requirements - - - - - - - - -

System Requirements

- -

To use NAnt you need one of the following CLR's:

-
    -
  • Microsoft .NET Framework 1.0
  • -
  • Microsoft .NET Framework 1.1
  • -
  • Microsoft .NET Framework 2.0
  • -
  • Mono 1.x
  • -
-

Note: Additional requirements may apply to individual tasks.

-

Library Dependencies

-

NAnt uses a number of open source third party libaries.  Recent versions are included included with the NAnt distribution and no extra work is required to install them.  More information on these libraries are available at:

-

> NUnit - Required for unit testing

-

> NDoc - Required for documentation generation

-

> SharpZipLib - Required for the zip and unzip tasks

- - + + + + + + + + System Requirements + + + + + + + + +

System Requirements

+

[This is preliminary documentation and subject to change.]

+

To use NAnt you need one of the following CLR's:

+
    +
  • Microsoft .NET Framework 1.0
  • +
  • Microsoft .NET Framework 1.1
  • +
  • Microsoft .NET Framework 2.0
  • +
  • Mono 1.x
  • +
+

Note: Additional requirements may apply to individual tasks.

+

Library Dependencies

+

NAnt uses a number of open source third party libaries.  Recent versions are included included with the NAnt distribution and no extra work is required to install them.  More information on these libraries are available at:

+

> NUnit - Required for unit testing

+

> NDoc - Required for documentation generation

+

> SharpZipLib - Required for the zip and unzip tasks

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000041.html b/build-support/tools/nant/doc/help/introduction/fog0000000041.html index e508c479..0677cf61 100644 --- a/build-support/tools/nant/doc/help/introduction/fog0000000041.html +++ b/build-support/tools/nant/doc/help/introduction/fog0000000041.html @@ -1,39 +1,39 @@ - - - - - - - - Getting Started - - - - - - - - -

Getting Started

- -

This topic will show you NAnt building itself.  Before you begin make sure your system meets the system requirements.

-
    -
  1. Download the latest release.
  2. -
  3. Unzip the distribution into a new folder.
  4. -
  5. Open a command prompt and change the directory to the folder where NAnt was installed.
  6. -
  7. Type bin\nant to build NAnt.
  8. -
  9. Look at the NAnt.build file to see how it works.
  10. -
-

If you did everything correctly you should see something like this:

-

Console output

- - + + + + + + + + Getting Started + + + + + + + + +

Getting Started

+

[This is preliminary documentation and subject to change.]

+

This topic will show you NAnt building itself.  Before you begin make sure your system meets the system requirements.

+
    +
  1. Download the latest source release.
  2. +
  3. Unzip the distribution into a new folder.
  4. +
  5. Open a command prompt and change the directory to the folder where NAnt was installed.
  6. +
  7. Type bin\nant to build NAnt.
  8. +
  9. Look at the NAnt.build file to see how it works.
  10. +
+

If you did everything correctly you should see something like this:

+

Console output

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000042.html b/build-support/tools/nant/doc/help/introduction/fog0000000042.html index e6ac498b..58a3a7d8 100644 --- a/build-support/tools/nant/doc/help/introduction/fog0000000042.html +++ b/build-support/tools/nant/doc/help/introduction/fog0000000042.html @@ -1,32 +1,32 @@ - - - - - - - - History - - - - - - - - -

History

- -

The idea for NAnt came from Hazware's XBuild project which in turn was inspired from Apache Ant.  After emailing the author for a beta 2 release of the tool and getting no response Gerry Shaw ported the code to .NET beta 2.  Due to the number of changes from .NET beta 1 to beta 2 the result was a total rewrite.

-

NAnt was registered at Source Forge on July 18, 2001 with the first public release made that day.

-

The name NAnt comes from the fact that this tool is Not Ant.

- - + + + + + + + + History + + + + + + + + +

History

+

[This is preliminary documentation and subject to change.]

+

The idea for NAnt came from Hazware's XBuild project which in turn was inspired from Apache Ant.  After emailing the author for a beta 2 release of the tool and getting no response Gerry Shaw ported the code to .NET beta 2.  Due to the number of changes from .NET beta 1 to beta 2 the result was a total rewrite.

+

NAnt was registered at Source Forge on July 18, 2001 with the first public release made that day.

+

The name NAnt comes from the fact that this tool is Not Ant.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000079.html b/build-support/tools/nant/doc/help/introduction/fog0000000079.html index 292c6c2f..98ad7570 100644 --- a/build-support/tools/nant/doc/help/introduction/fog0000000079.html +++ b/build-support/tools/nant/doc/help/introduction/fog0000000079.html @@ -1,32 +1,32 @@ - - - - - - - - Why NAnt? - - - - - - - - -

Why NAnt?

- -

NAnt is different.  Instead of a model where it is extended with shell-based commands, NAnt is extended using task classes.  Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed.  Each task is run by an object that implements a particular Task interface.

-

Granted, this removes some of the expressive power that is inherent in being able to construct a shell command such as 'find . -name foo -exec rm {}', but it gives you the ability to be cross-platform - to work anywhere and everywhere. And hey, if you really need to execute a shell command, NAnt has an <exec> task that allows different commands to be executed based on the OS it is executing on.

-

For more information on why Ant and NAnt were developed read the Ant Introduction.

- - + + + + + + + + Why NAnt? + + + + + + + + +

Why NAnt?

+

[This is preliminary documentation and subject to change.]

+

NAnt is different.  Instead of a model where it is extended with shell-based commands, NAnt is extended using task classes.  Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed.  Each task is run by an object that implements a particular Task interface.

+

Granted, this removes some of the expressive power that is inherent in being able to construct a shell command such as 'find . -name foo -exec rm {}', but it gives you the ability to be cross-platform - to work anywhere and everywhere. And hey, if you really need to execute a shell command, NAnt has an <exec> task that allows different commands to be executed based on the OS it is executing on.

+

For more information on why Ant and NAnt were developed read the Ant Introduction.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000081.html b/build-support/tools/nant/doc/help/introduction/fog0000000081.html index b678e644..32491bcb 100644 --- a/build-support/tools/nant/doc/help/introduction/fog0000000081.html +++ b/build-support/tools/nant/doc/help/introduction/fog0000000081.html @@ -1,35 +1,35 @@ - - - - - - - - Ant Users - - - - - - - - -

Ant Users

- -

If you have used Ant before than NAnt should feel comfortable but NAnt is only compatible with Ant in spirit.   Here is a partial list of differences:

-
    -
  • Tasks do not have to be in a target.  Tasks that appear directly in the project are executed inorder before any tasks in targets are executed.
  • -
  • nant.onsuccess and nant.onfailure properties can be defined target names that will be executed at the end of the build.
  • -
  • NAnt looks for the first file ending in .build instead of build.xml.
  • -
- - + + + + + + + + Ant Users + + + + + + + + +

Ant Users

+

[This is preliminary documentation and subject to change.]

+

If you have used Ant before than NAnt should feel comfortable but NAnt is only compatible with Ant in spirit.   Here is a partial list of differences:

+
    +
  • Tasks do not have to be in a target.  Tasks that appear directly in the project are executed inorder before any tasks in targets are executed.
  • +
  • nant.onsuccess and nant.onfailure properties can be defined target names that will be executed at the end of the build.
  • +
  • NAnt looks for the first file ending in .build instead of build.xml.
  • +
+ + diff --git a/build-support/tools/nant/doc/help/introduction/index.html b/build-support/tools/nant/doc/help/introduction/index.html index 63b0552a..7cea2ccd 100644 --- a/build-support/tools/nant/doc/help/introduction/index.html +++ b/build-support/tools/nant/doc/help/introduction/index.html @@ -1,35 +1,35 @@ - - - - - - - - NAnt - Introduction - - - - - - - - -

Introduction

- -

Requirements, installation, quick start, history of NAnt and other miscellaneous - topics.

-

> Why NAnt?

-

> System - Requirements

-

> Installation

-

> Getting - Started

-

> Ant Users

-

> History

- - + + + + + + + + NAnt - Introduction + + + + + + + + +

Introduction

+

[This is preliminary documentation and subject to change.]

+

Requirements, installation, quick start, history of NAnt and other miscellaneous + topics.

+

> Why NAnt?

+

> System + Requirements

+

> Installation

+

> Getting + Started

+

> Ant Users

+

> History

+ + diff --git a/build-support/tools/nant/doc/help/introduction/installation.html b/build-support/tools/nant/doc/help/introduction/installation.html index 17fad073..a299a27a 100644 --- a/build-support/tools/nant/doc/help/introduction/installation.html +++ b/build-support/tools/nant/doc/help/introduction/installation.html @@ -1,164 +1,164 @@ - - - - - - - - Installation - - - - - - - - - -

Installation

-

NAnt is available in either a source or binary distribution. The binary - distribution is all you need to use NAnt to build your projects, including - creating your own custom tasks, types and functions.

-

If you are upgrading NAnt from a previous version, you must never install over - the top of your previous installation. Delete or rename the existing - installation directory before installing the new version of NAnt.

-

Installing from binaries

-
    -
  1. - Download the binary distribution archive. Either nant-bin.zip or - nant-bin.tar.gz will work, the contents of each archive are the - same.
  2. -
  3. - Remove any previous versions of NAnt you may have installed.
  4. -
  5. - Extract the contents of the archive to the location you wish to install NAnt - (eg: C:\Program Files\NAnt in windows, or /usr/local/nant in Linux) -
  6. -
  7. - Depending on your environment, create a wrapper script to run NAnt: -

    Run NAnt using Microsoft.NET

    -
      -
    • - Create a file called nant.bat in a directory that is included in - the PATH system environment variable. (eg. C:\WINDOWS). -
    • -
    • - Add the following to nant.bat: -
      -@echo off
      -"C:\Program Files\NAnt\bin\NAnt.exe" %*
      -                        
      -
    • -
    -

    Run NAnt using Mono

    -
      -
    • -

      Windows

      -
        -
      • - Create a file called nant.bat in a directory that is included in - the PATH system environment variable. (eg. C:\WINDOWS). -
      • -
      • - Add the following to nant.bat: -
        -@echo off
        -mono "C:\Program Files\NAnt\bin\NAnt.exe" %*
        -                                
        -
      • -
      -
    • -
    • -

      Linux / Cygwin

      -
        -
      • - Create a file called nant in a suitable location in your - filesystem (eg. /usr/local/bin). -
      • -
      • - Add the following to nant: -
        -#!/bin/sh
        -exec mono /usr/local/nant/bin/NAnt.exe "$@"
        -                        
        -
      • -
      • - Ensure nant has permission to execute, eg: -
        -chmod a+x /usr/local/bin/nant
        -                        
        -
      • -
      -
    • -
    -
  8. -
  9. - Open a new command prompt (shell) and type nant -help. If - successful, you should see a usage message displaying available command line - options.
  10. -
  11. - (optional) Download and install NAnt-contrib or other third party extensions to - NAnt.
  12. -
-

Installing from source

-
    -
  1. - Download the source distribution archive. Either nant-src.zip or - nant-src.tar.gz will work, the contents of each archive are the - same.
  2. -
  3. - Remove any previous versions of NAnt you may have installed.
  4. -
  5. - Extract the contents of the archive to a temporary location. This should not - be the location you wish to install NAnt to.
  6. -
  7. - Open a command prompt and change into the folder you extracted the archive to.
  8. -
  9. - Depending on your environment, build the NAnt distribution: -

    Install NAnt using Microsoft .NET

    -
      -
    • -

      GNU Make

      - make install MONO= MCS=csc prefix=installation-path -

      eg. make install MONO= MCS=csc prefix="C:\Program Files"

      -
    • -
    • -

      NMake

      - nmake -f Makefile.nmake install prefix=installation-path -

      eg. nmake -f Makefile.nmake install prefix="C:\Program Files"

      -
    • -
    -

    Install NAnt using Mono

    -
      -
    • -

      GNU Make

      - make install prefix=installation-path -

      eg. make install prefix="C:\Program Files"

      -
    • -
    • -

      NMake

      - nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=installation-path -

      eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/

      -
    • -
    -

    - This will first build a bootstrap version of NAnt, and then use that to build - and install the full version to installation-path/NAnt. -

    -
  10. -
  11. - Follow the instructions as for a binary release from step 5.
  12. -
- - + + + + + + + + Installation + + + + + + + + + +

Installation

[This is preliminary documentation and subject to change.]

+

NAnt is available in either a source or binary distribution. The binary + distribution is all you need to use NAnt to build your projects, including + creating your own custom tasks, types and functions.

+

If you are upgrading NAnt from a previous version, you must never install over + the top of your previous installation. Delete or rename the existing + installation directory before installing the new version of NAnt.

+

Installing from binaries

+
    +
  1. + Download the binary distribution archive. Either nant-bin.zip or + nant-bin.tar.gz will work, the contents of each archive are the + same.
  2. +
  3. + Remove any previous versions of NAnt you may have installed.
  4. +
  5. + Extract the contents of the archive to the location you wish to install NAnt + (eg: C:\Program Files\NAnt in windows, or /usr/local/nant in Linux) +
  6. +
  7. + Depending on your environment, create a wrapper script to run NAnt: +

    Run NAnt using Microsoft.NET

    +
      +
    • + Create a file called nant.bat in a directory that is included in + the PATH system environment variable. (eg. C:\WINDOWS). +
    • +
    • + Add the following to nant.bat: +
      +@echo off
      +"C:\Program Files\NAnt\bin\NAnt.exe" %*
      +                        
      +
    • +
    +

    Run NAnt using Mono

    +
      +
    • +

      Windows

      +
        +
      • + Create a file called nant.bat in a directory that is included in + the PATH system environment variable. (eg. C:\WINDOWS). +
      • +
      • + Add the following to nant.bat: +
        +@echo off
        +mono "C:\Program Files\NAnt\bin\NAnt.exe" %*
        +                                
        +
      • +
      +
    • +
    • +

      Linux / Cygwin

      +
        +
      • + Create a file called nant in a suitable location in your + filesystem (eg. /usr/local/bin). +
      • +
      • + Add the following to nant: +
        +#!/bin/sh
        +exec mono /usr/local/nant/bin/NAnt.exe "$@"
        +                        
        +
      • +
      • + Ensure nant has permission to execute, eg: +
        +chmod a+x /usr/local/bin/nant
        +                        
        +
      • +
      +
    • +
    +
  8. +
  9. + Open a new command prompt (shell) and type nant -help. If + successful, you should see a usage message displaying available command line + options.
  10. +
  11. + (optional) Download and install NAnt-contrib or other third party extensions to + NAnt.
  12. +
+

Installing from source

+
    +
  1. + Download the source distribution archive. Either nant-src.zip or + nant-src.tar.gz will work, the contents of each archive are the + same.
  2. +
  3. + Remove any previous versions of NAnt you may have installed.
  4. +
  5. + Extract the contents of the archive to a temporary location. This should not + be the location you wish to install NAnt to.
  6. +
  7. + Open a command prompt and change into the folder you extracted the archive to.
  8. +
  9. + Depending on your environment, build the NAnt distribution: +

    Install NAnt using Microsoft .NET

    +
      +
    • +

      GNU Make

      + make install MONO= MCS=csc prefix=installation-path +

      eg. make install MONO= MCS=csc prefix="C:\Program Files"

      +
    • +
    • +

      NMake

      + nmake -f Makefile.nmake install prefix=installation-path +

      eg. nmake -f Makefile.nmake install prefix="C:\Program Files"

      +
    • +
    +

    Install NAnt using Mono

    +
      +
    • +

      GNU Make

      + make install prefix=installation-path +

      eg. make install prefix="C:\Program Files"

      +
    • +
    • +

      NMake

      + nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=installation-path +

      eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/

      +
    • +
    +

    + This will first build a bootstrap version of NAnt, and then use that to build + and install the full version to installation-path/NAnt. +

    +
  10. +
  11. + Follow the instructions as for a binary release from step 5.
  12. +
+ + diff --git a/build-support/tools/nant/doc/help/style.css b/build-support/tools/nant/doc/help/style.css index c097a444..74a6d3c7 100644 --- a/build-support/tools/nant/doc/help/style.css +++ b/build-support/tools/nant/doc/help/style.css @@ -1,213 +1,213 @@ -body { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 90%; - background: white; - color: black; -} - -h1, h2, h3, h4, h5, h6 { - font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; -} - -h1.LinkHeader, h2.LinkHeader, h3.LinkHeader { - margin-bottom: -18px; -} - -h4 { - margin-bottom: 0.5em; -} - -hr { - color: gray; - background-color: inherit; -} - -input { - font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; -} - -a:link { - color: #0000cc; - background-color: inherit; -} - -a:visited { - color: purple; - background-color: inherit; -} - -a:active { - color: #cc0000; - background-color: inherit; -} - -a:hover { - color: #cc0000; - background-color: inherit; -} - -a.heading:link { - color: black; - background-color: inherit; - text-decoration: none; -} - -a.heading:visited { - color: black; - background-color: inherit; - text-decoration: none; -} - -a.heading:active { - color: black; - background-color: inherit; - text-decoration: none; -} - -a.heading:hover { - color: #0000cc; - background-color: inherit; -} - -.NavBar { - color: black; - background-color: #dfff80; - border-color: #999966; - border-style: none none solid none; - border-width: 2px; -} - -.NavBar-Cell { - font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; - font-size: 79%; -} - -.SideBar { - font-size: 80%; - font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; - padding: 8px; -} - -div.table { - margin-left: 40px; - font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; - font-size: 80%; -} - -div.nested-element { - margin-left: 40px; - position: relative; -} - -div.nested-element table { - font-size: 100%; - border-collapse: collapse; - width: 710px; -} - -.table table { - font-size: 100%; - border-collapse: collapse; - width: 93%; -} - -.table th { - background-color: #eeeeee; - color: #000000; - font-weight: bolder; - padding: 5px; - border: 1px solid #999999; - text-align: left; -} - -.table td { - border: 1px solid #999999; - padding: 5px; -} - -.table td.section { - border: 1px solid #999999; - background-color: #f0f0e0; - padding: 5px; - font-weight: bold; -} - -.N { - color: #99cc00; - background-color: inherit; -} - -.Ant { - color: #ff9900; - background-color: inherit; -} - -pre { - margin-top: .5em; - margin-bottom: .5em; -} - -code { - font-family: Monospace, Courier New, Courier; - background-color: inherit; - color: #0000AA; - font-size: 100%; -} - -pre.code { - font-family: Monospace, Courier New, Courier; - background-color: inherit; - color: #0000AA; - font-size: 100%; -} - -pre.syntax { - background-color: #cccccc; - padding: 4px 8px; - cursor: text; - margin-top: 1em; - margin-bottom: 1em; - color: #000000; - border-width: 1px; - border-style: solid; - border-color: #999999; -} - -span.code { - font-family: Monospace, Courier New, Courier; - background-color: inherit; - color: #0000AA; - font-size: 100%; -} - -span.expression { - font-family: Monospace, Courier New, Courier; - background-color: inherit; - color: #0000AA; - font-weight: bold; - font-size: 100%; -} - -tr.required { -} - -td.required { - font-weight: bolder; -} - -.missing { - color: red; -} - -span.parameter { - color: #606080; -} - -p.topicstatus { - display: block; - color: red; -} - -ul.examples { - list-style-type: lower-roman; -} +body { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 90%; + background: white; + color: black; +} + +h1, h2, h3, h4, h5, h6 { + font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; +} + +h1.LinkHeader, h2.LinkHeader, h3.LinkHeader { + margin-bottom: -18px; +} + +h4 { + margin-bottom: 0.5em; +} + +hr { + color: gray; + background-color: inherit; +} + +input { + font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; +} + +a:link { + color: #0000cc; + background-color: inherit; +} + +a:visited { + color: purple; + background-color: inherit; +} + +a:active { + color: #cc0000; + background-color: inherit; +} + +a:hover { + color: #cc0000; + background-color: inherit; +} + +a.heading:link { + color: black; + background-color: inherit; + text-decoration: none; +} + +a.heading:visited { + color: black; + background-color: inherit; + text-decoration: none; +} + +a.heading:active { + color: black; + background-color: inherit; + text-decoration: none; +} + +a.heading:hover { + color: #0000cc; + background-color: inherit; +} + +.NavBar { + color: black; + background-color: #dfff80; + border-color: #999966; + border-style: none none solid none; + border-width: 2px; +} + +.NavBar-Cell { + font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; + font-size: 79%; +} + +.SideBar { + font-size: 80%; + font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; + padding: 8px; +} + +div.table { + margin-left: 40px; + font-family: Verdana, Arial, Helvetica, Geneva, SunSans-Regular, sans-serif; + font-size: 80%; +} + +div.nested-element { + margin-left: 40px; + position: relative; +} + +div.nested-element table { + font-size: 100%; + border-collapse: collapse; + width: 710px; +} + +.table table { + font-size: 100%; + border-collapse: collapse; + width: 93%; +} + +.table th { + background-color: #eeeeee; + color: #000000; + font-weight: bolder; + padding: 5px; + border: 1px solid #999999; + text-align: left; +} + +.table td { + border: 1px solid #999999; + padding: 5px; +} + +.table td.section { + border: 1px solid #999999; + background-color: #f0f0e0; + padding: 5px; + font-weight: bold; +} + +.N { + color: #99cc00; + background-color: inherit; +} + +.Ant { + color: #ff9900; + background-color: inherit; +} + +pre { + margin-top: .5em; + margin-bottom: .5em; +} + +code { + font-family: Monospace, Courier New, Courier; + background-color: inherit; + color: #0000AA; + font-size: 100%; +} + +pre.code { + font-family: Monospace, Courier New, Courier; + background-color: inherit; + color: #0000AA; + font-size: 100%; +} + +pre.syntax { + background-color: #cccccc; + padding: 4px 8px; + cursor: text; + margin-top: 1em; + margin-bottom: 1em; + color: #000000; + border-width: 1px; + border-style: solid; + border-color: #999999; +} + +span.code { + font-family: Monospace, Courier New, Courier; + background-color: inherit; + color: #0000AA; + font-size: 100%; +} + +span.expression { + font-family: Monospace, Courier New, Courier; + background-color: inherit; + color: #0000AA; + font-weight: bold; + font-size: 100%; +} + +tr.required { +} + +td.required { + font-weight: bolder; +} + +.missing { + color: red; +} + +span.parameter { + color: #606080; +} + +p.topicstatus { + display: block; + color: red; +} + +ul.examples { + list-style-type: lower-roman; +} diff --git a/build-support/tools/nant/doc/help/tasks/al.html b/build-support/tools/nant/doc/help/tasks/al.html index 0ec6ea12..a529c6d2 100644 --- a/build-support/tools/nant/doc/help/tasks/al.html +++ b/build-support/tools/nant/doc/help/tasks/al.html @@ -19,11 +19,12 @@ -> Task Reference -> <al> - - v0.85 + + v0.91-alpha2

<al>

+

[This is preliminary documentation and subject to change.]

Wraps al.exe, the assembly linker for the .NET Framework.

All specified sources will be embedded using the /embed flag. Other source types are not supported.

Parameters

@@ -79,8 +80,10 @@ delaysign - bool - Specifies whether the assembly should be partially signed. The default is false. + + DelaySign + + Specifies whether the assembly should be partially signed. The default is NAnt.DotNet.Types.DelaySign.NotSet. False @@ -220,6 +223,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportstemplate bool @@ -229,35 +240,48 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False

Nested Elements:

+

+ + + <modules> +

+
One or more modules to be compiled into an assembly.

+

+ + + </modules> +

+

- - <sources> + + <sources>

The set of resources to embed.

- - </sources> + + </sources>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -267,25 +291,36 @@
         

- - </arg> + + </arg>

Examples

  • Create a library containing all icon files in the current directory.

    -<al output="MyIcons.dll" target="lib">
    -    <sources>
    -        <include name="*.ico" />
    -    </sources>
    -</al>
    -    
    + <al output="MyIcons.dll" target="lib"> + <sources> + <include name="*.ico" /> + </sources> + </al> + +
  • +
  • +

    Create an executable assembly manifest from modules.

    +
    +            <al output="Client.exe" target="exe" main="Program.Main">
    +                <modules>
    +                    <include name="Client.netmodule" />
    +                    <include name="Common.netmodule" />
    +                </modules>
    +            </al>
    +                

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/asminfo.html b/build-support/tools/nant/doc/help/tasks/asminfo.html index 9154dbff..f6d7d99f 100644 --- a/build-support/tools/nant/doc/help/tasks/asminfo.html +++ b/build-support/tools/nant/doc/help/tasks/asminfo.html @@ -19,11 +19,12 @@ -> Task Reference -> <asminfo> - - v0.85 + + v0.91-alpha2

<asminfo>

+

[This is preliminary documentation and subject to change.]

Generates an AssemblyInfo file using the attributes given.

Parameters

@@ -78,34 +79,34 @@

- - <attributes> + + <attributes>

The assembly-level attributes to generate.
<attribute>

Represents an assembly-level attribute.

Parameters

AttributeTypeDescriptionRequired
typestring Typename of the assembly-level attribute. True
asisbool If true then the value of the attribute will be set as is, without actually looking for a matching constructor or named properties. The default is false. False
ifbool Indicates if the attribute should be generated. False
unlessbool Indicates if the attribute should be not generated. False
valuestring Value of the attribute. False
</attribute>

</attributes>

- - <imports> + + <imports>

The namespaces to import.

- - </imports> + + </imports>

- - <references> + + <references>

Assembly files used to locate the types of the specified attributes.

- - </references> + + </references>

Examples

    @@ -153,7 +154,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/attrib.html b/build-support/tools/nant/doc/help/tasks/attrib.html index e0137598..3a745216 100644 --- a/build-support/tools/nant/doc/help/tasks/attrib.html +++ b/build-support/tools/nant/doc/help/tasks/attrib.html @@ -19,11 +19,12 @@ -> Task Reference -> <attrib> - - v0.85 + + v0.91-alpha2

<attrib>

+

[This is preliminary documentation and subject to change.]

Changes the file attributes of a file or set of files and directories.

<attrib> task does not have the concept of turning attributes off. Instead you specify all the attributes that you want turned on and the rest are turned off by default.

@@ -103,14 +104,14 @@

- - <fileset> + + <fileset>

All the matching files and directories in this fileset will have their attributes set.

- - </fileset> + + </fileset>

Examples

    @@ -140,7 +141,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/available.html b/build-support/tools/nant/doc/help/tasks/available.html index e371e7e3..23e34e7c 100644 --- a/build-support/tools/nant/doc/help/tasks/available.html +++ b/build-support/tools/nant/doc/help/tasks/available.html @@ -19,11 +19,12 @@ -> Task Reference -> <available> - - v0.85 + + v0.91-alpha2

<available>

+

[This is preliminary documentation and subject to change.]

(Deprecated)

@@ -39,25 +40,25 @@ - file::exists() + file::exists() Determines whether the specified file exists. - directory::exists() + directory::exists() Determines whether the given path refers to an existing directory on disk. - framework::exists() + framework::exists() Checks whether the specified framework exists.. - framework::sdk-exists() + framework::sdk-exists() Checks whether the SDK for the specified framework is installed. @@ -147,7 +148,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/aximp.html b/build-support/tools/nant/doc/help/tasks/aximp.html index 0bedaaaf..f173892a 100644 --- a/build-support/tools/nant/doc/help/tasks/aximp.html +++ b/build-support/tools/nant/doc/help/tasks/aximp.html @@ -19,11 +19,12 @@ -> Task Reference -> <aximp> - - v0.85 + + v0.91-alpha2

<aximp>

+

[This is preliminary documentation and subject to change.]

Generates a Windows Forms Control that wraps ActiveX Controls defined in an OCX.

Parameters

@@ -129,6 +130,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportsrcw bool @@ -138,7 +147,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -148,13 +158,13 @@

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -164,20 +174,20 @@
         

- - </arg> + + </arg>

Examples

  • -<aximp ocx="MyControl.ocx" output="MyFormsControl.dll" />
    -    
    + <aximp ocx="MyControl.ocx" output="MyFormsControl.dll" /> +

Requirements

- Assembly: NAnt.Win32Tasks (0.85.2478.0) + Assembly: NAnt.Win32Tasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/call.html b/build-support/tools/nant/doc/help/tasks/call.html index 5558cb83..a5e94ee5 100644 --- a/build-support/tools/nant/doc/help/tasks/call.html +++ b/build-support/tools/nant/doc/help/tasks/call.html @@ -19,11 +19,12 @@ -> Task Reference -> <call> - - v0.85 + + v0.91-alpha2

<call>

+

[This is preliminary documentation and subject to change.]

Calls a NAnt target in the current project.

When the <call> task is used to execute a target, both that target and all its dependent targets will be re-executed.

To avoid dependent targets from being executed more than once, two options are available:

@@ -117,8 +118,7 @@
build:
   
 init:
-
-    [echo] initializing
+                [echo] initializing
     
 compile:
 
@@ -139,8 +139,7 @@ BUILD SUCCEEDED
         
build:
   
 init:
-
-    [echo] initializing
+                [echo] initializing
     
 compile:
 
@@ -156,7 +155,7 @@ BUILD SUCCEEDED
     
     

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cl.html b/build-support/tools/nant/doc/help/tasks/cl.html index 3c8d87a5..c7c829c1 100644 --- a/build-support/tools/nant/doc/help/tasks/cl.html +++ b/build-support/tools/nant/doc/help/tasks/cl.html @@ -19,11 +19,12 @@ -> Task Reference -> <cl> - - v0.85 + + v0.91-alpha2

<cl>

+

[This is preliminary documentation and subject to change.]

Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler.

This task is intended for version 13.00.9466 of cl.exe.

Parameters

@@ -140,10 +141,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -152,64 +162,64 @@

- - <sources> + + <sources>

The list of files to compile.

- - </sources> + + </sources>

- - <includedirs> + + <includedirs>

The list of directories in which to search for include files.

- - </includedirs> + + </includedirs>

- - <metadataincludedirs> + + <metadataincludedirs>

Directories that the compiler will search to resolve file references passed to the #using directive.

- - </metadataincludedirs> + + </metadataincludedirs>

- - <forcedusingfiles> + + <forcedusingfiles>

Specifies metadata files to reference in this compilation as an alternative to passing a file name to #using in source code.

- - </forcedusingfiles> + + </forcedusingfiles>

- - <defines> + + <defines>

Macro definitions to pass to cl.exe. Each entry will generate a /D
<define>

Represents an option.

Parameters

AttributeTypeDescriptionRequired
namestring Name of the option. True
ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
</define>

</defines>

- - <undefines> + + <undefines>

Macro undefines (/U) to pass to cl.exe.
<undefine>

Represents an option.

Parameters

AttributeTypeDescriptionRequired
namestring Name of the option. True
ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
</undefine>

</undefines>

@@ -217,13 +227,13 @@

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -233,25 +243,25 @@
         

- - </arg> + + </arg>

Examples

  • Compiles helloworld.cpp for the Common Language Runtime.

    -<cl outputdir="build" options="/clr">
    -    <sources>
    -        <include name="helloworld.cpp" />
    -    </sources>
    -</cl>
    -    
    + <cl outputdir="build" options="/clr"> + <sources> + <include name="helloworld.cpp" /> + </sources> + </cl> +

Requirements

- Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/copy.html b/build-support/tools/nant/doc/help/tasks/copy.html index ca3bdc78..e6f640f0 100644 --- a/build-support/tools/nant/doc/help/tasks/copy.html +++ b/build-support/tools/nant/doc/help/tasks/copy.html @@ -19,11 +19,12 @@ -> Task Reference -> <copy> - - v0.85 + + v0.91-alpha2

<copy>

+

[This is preliminary documentation and subject to change.]

Copies a file or set of files to a new file or directory.

Files are only copied if the source file is newer than the destination file, or if the destination file does not exist. However, you can explicitly overwrite files with the overwrite attribute.

When a <fileset> is used to select files to copy, the todir attribute must be set. Files that are located under the base directory of the <fileset> will be copied to a directory under the destination directory matching the path relative to the base directory of the <fileset>, unless the flatten attribute is set to true.

@@ -124,26 +125,26 @@

- - <fileset> + + <fileset>

Used to select the files to copy. To use a <fileset>, the todir attribute must be set.

- - </fileset> + + </fileset>

- - <filterchain> + + <filterchain>

Chain of filters used to alter the file's content as it is copied.

- - </filterchain> + + </filterchain>

Examples

    @@ -185,7 +186,7 @@

Requirements

- Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/csc.html b/build-support/tools/nant/doc/help/tasks/csc.html index 1ecd0ff6..0f5172a1 100644 --- a/build-support/tools/nant/doc/help/tasks/csc.html +++ b/build-support/tools/nant/doc/help/tasks/csc.html @@ -19,11 +19,12 @@ -> Task Reference -> <csc> - - v0.85 + + v0.91-alpha2

<csc>

+

[This is preliminary documentation and subject to change.]

Compiles C# programs.

Note: In order to have <csc> task generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the prefix attribute of the <resources> element should match the "Default Namespace" of the C# project, and the value of the dynamicprefix attribute should be set to "true".

@@ -134,6 +135,14 @@ Define conditional compilation symbol(s). False + + delaysign + + DelaySign + + Specifies whether to delay sign the assembly using only the public portion of the strong name key. The default is NotSet. + False + failonerror bool @@ -207,6 +216,12 @@ Icon to associate with the application. False + + win32res + file + Specifies a Win32 resource file (.res). + False +

Framework-configurable parameters

@@ -224,6 +239,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + noconfig bool @@ -236,6 +259,12 @@ Instructs the compiler not to import mscorlib.dll. The default is false. False + + supportsdelaysign + bool + Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is false. + False + supportsdocgeneration bool @@ -287,7 +316,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -296,53 +326,53 @@

- - <warnaserror> + + <warnaserror>

Controls which warnings should be reported as errors.

- - </warnaserror> + + </warnaserror>

- - <nowarn> + + <nowarn>

Specifies a list of warnings that you want the compiler to suppress.
<warning>

Represents a compiler warning.

Parameters

AttributeTypeDescriptionRequired
numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
</warning>

</nowarn>

- - <lib> + + <lib>

Deprecated. Additional directories to search in for assembly references.

- - </lib> + + </lib>

- - <references> + + <references>

Reference metadata from the specified assembly files.

- - </references> + + </references>

- - <pkg-references> + + <pkg-references>

Specifies list of packages to reference.
<package>

Represents a package.

Parameters

AttributeTypeDescriptionRequired
namestring Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. True
ifbool Indicates if the package should be passed to the task. If true then the package will be passed; otherwise, skipped. The default is true. False
unlessbool Indicates if the package should not be passed to the task. If false then the package will be passed; otherwise, skipped. The default is false. False
</package>

</pkg-references>

@@ -350,50 +380,50 @@

- - <resources> + + <resources>

Resources to embed.

- - </resources> + + </resources>

- - <modules> + + <modules>

Link the specified modules into this assembly.

- - </modules> + + </modules>

- - <sources> + + <sources>

The set of source files for compilation.

- - </sources> + + </sources>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -403,8 +433,8 @@
         

- - </arg> + + </arg>

Examples

    @@ -432,7 +462,7 @@

Requirements

- Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-changelog.html b/build-support/tools/nant/doc/help/tasks/cvs-changelog.html index cf21055f..49a1c28d 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-changelog.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-changelog.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-changelog> - - v0.85 + + v0.91-alpha2

<cvs-changelog>

+

[This is preliminary documentation and subject to change.]

Produces an XML report that represents the cvs changes from the given start day, to a given end date.

Parameters

@@ -186,10 +187,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -198,26 +208,26 @@

- - <fileset> + + <fileset>

Used to specify the version control system (VCS) files that are going to be acted on.

- - </fileset> + + </fileset>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -227,28 +237,28 @@
         

- - </arg> + + </arg>

Examples

  • Report changes in NAnt from 1st of June 2004 until 25th of July 2004.

    -<cvs-changelog
    -    destination="e:/test/nant/sourcecontrol/"
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant"
    -    module="nant"
    -    start="2004/06/01"
    -    end="2004/07/25"
    -    xmlfile="e:/test/nant/sourcecontrol/changelog-nant.xml"
    -/>
    -    
    + <cvs-changelog + destination="e:/test/nant/sourcecontrol/" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + start="2004/06/01" + end="2004/07/25" + xmlfile="e:/test/nant/sourcecontrol/changelog-nant.xml" + /> +

Requirements

- Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-checkout.html b/build-support/tools/nant/doc/help/tasks/cvs-checkout.html index 747a840b..7d0bbe42 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-checkout.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-checkout.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-checkout> - - v0.85 + + v0.91-alpha2

<cvs-checkout>

+

[This is preliminary documentation and subject to change.]

Checks out a CVS module to the required directory.

Parameters

@@ -208,10 +209,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -220,26 +230,26 @@

- - <fileset> + + <fileset>

Used to specify the version control system (VCS) files that are going to be acted on.

- - </fileset> + + </fileset>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -249,47 +259,47 @@
         

- - </arg> + + </arg>

Examples

  • Checkout NAnt.

    -<cvs-checkout 
    -    destination="c:\src\nant\" 
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    -    module="nant" />
    -    
    + <cvs-checkout + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" /> +
  • Checkout NAnt revision named 0_85 to the folder c:\src\nant\v0.85.

    -<cvs-checkout 
    -    destination="c:\src\nant" 
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    -    module="nant"
    -    revision="0_85"
    -    overridedir="v0.85" />
    -    
    + <cvs-checkout + destination="c:\src\nant" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + revision="0_85" + overridedir="v0.85" /> +

    So the nant module tagged with revision 0_85 will be checked out in the folder v0.85 under the working/ destination directory.

    This could be used to work on different branches of a repository at the same time.

  • Checkout NAnt with specified revision date to the folder c:\src\nant\2003_08_16.

    -<cvs-checkout 
    -    destination="c:\src\nant\" 
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    -    module="nant"
    -    date="2003/08/16"
    -    overridedir="2003_08_16" />
    -    
    + <cvs-checkout + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + date="2003/08/16" + overridedir="2003_08_16" /> +

Requirements

- Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-export.html b/build-support/tools/nant/doc/help/tasks/cvs-export.html index 4d80dbcb..579527f9 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-export.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-export.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-export> - - v0.85 + + v0.91-alpha2

<cvs-export>

+

[This is preliminary documentation and subject to change.]

Exports a cvs module in preperation for a release (i.e. the CVS version folders are not exported).

Parameters

@@ -214,10 +215,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -226,26 +236,26 @@

- - <fileset> + + <fileset>

Used to specify the version control system (VCS) files that are going to be acted on.

- - </fileset> + + </fileset>

- - <arg> + + <arg>

-
The command-line arguments for the external program.

Represents a command-line argument.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

- <path> -

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

- </path> +
The command-line arguments for the external program.

Represents a command-line argument.

When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

Parameters

AttributeTypeDescriptionRequired
dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
linestring List of command-line arguments; will be passed to the executable as is. False
path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
valuestring A single command-line argument; can contain space characters. False

Nested Elements:

+ <path> +

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

+ </path>

Examples

  • A single command-line argument containing a space character.

     <arg value="-l -a" />
         
  • Two separate command-line arguments.

    @@ -255,41 +265,41 @@
         

- - </arg> + + </arg>

Examples

  • Export the most recent NAnt sources from cvs.

    -<cvs-export 
    -    destination="c:\src\nant\" 
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant"  
    -    module="nant" />
    -    
    + <cvs-export + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" /> +
  • Export NAnt revision named your_favorite_revision_here to the folder c:\src\nant\replacement_for_module_directory_name. **NOTE**: filesets names for the export task must be prefixed with the module name. This is different than other tasks.

    -<cvs-export 
    -    destination="c:\src\nant\" 
    -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    -    module="nant"
    -    revision="your_favorite_revision_here"
    -    overridedir="replacement_for_module_directory_name"
    -    recursive="false">
    -    <fileset>
    -        <include name="nant/bin/NAnt.exe"/>
    -        <include name="nant/bin/NAnt.exe.config"/>
    -    </fileset>
    -</cvs-export>
    -    
    + <cvs-export + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + revision="your_favorite_revision_here" + overridedir="replacement_for_module_directory_name" + recursive="false"> + <fileset> + <include name="nant/bin/NAnt.exe"/> + <include name="nant/bin/NAnt.exe.config"/> + </fileset> + </cvs-export> +

Requirements

- Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
\ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-pass.html b/build-support/tools/nant/doc/help/tasks/cvs-pass.html index 99071bf9..a2a7e6cb 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-pass.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-pass.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-pass> - - v0.85 + + v0.91-alpha2

<cvs-pass>

+

[This is preliminary documentation and subject to change.]

Executes the cvs login command which appends or updates an entry to the specified .cvspass file.

Parameters

@@ -83,15 +84,15 @@
  • Update .cvspass file to include the NAnt anonymous login.

    -<cvs-pass cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    -     password="anonymous"
    -     passfile="C:\.cvspass" />
    -    
    + <cvs-pass cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + password="anonymous" + passfile="C:\.cvspass" /> +
  • Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-rtag.html b/build-support/tools/nant/doc/help/tasks/cvs-rtag.html index 3ad6b678..20af6cf4 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-rtag.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-rtag.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-rtag> - - v0.85 + + v0.91-alpha2

    <cvs-rtag>

    +

    [This is preliminary documentation and subject to change.]

    Tags all sources in the remote repository with a given tag.

    Unlike tag, the rtag command acts only on sources that are in the repository. Any modified sources on the local file system will NOT be tagged with this command, so a commit should be performed before an rtag is done.

    NOTE: Although a working directory is not necessary to perform the command one must be specified in order to remain in compliance with the cvs library.

    @@ -222,10 +223,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -234,26 +244,26 @@

    - - <fileset> + + <fileset>

    Used to specify the version control system (VCS) files that are going to be acted on.

    - - </fileset> + + </fileset>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -263,38 +273,36 @@
           

    - - </arg> + + </arg>

    Examples

    • Tag NAnt sources remotely.

      -<cvs-rtag 
      -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
      -    destination="."
      -    module="nant"
      -    tagname="v0_8_4"
      -     />
      -    
      + <cvs-rtag + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + destination="." + tag="v0_8_4" + /> +
    • Remove a tag from the remote repository.

      -<cvs-rtag 
      -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
      -    destination="."
      -    module="nant"
      -    tagname="v0_8_4"
      -    remove="true"
      -     />
      -    
      + <cvs-rtag + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + destination="." + tag="v0_8_4" + remove="true" + /> +

    Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-tag.html b/build-support/tools/nant/doc/help/tasks/cvs-tag.html index f9a47e3f..42a8777d 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-tag.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-tag.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-tag> - - v0.85 + + v0.91-alpha2

    <cvs-tag>

    +

    [This is preliminary documentation and subject to change.]

    Tags all local sources with the specified tag.

    This differs from the <cvs-rtag> task in that it acts on references to the cvs files contained in your local filesystem. As such the sticky tags and local revisions can be considered in commits. It also allows you to verify that all local files have been checked in before a tag is performed.

    Parameters

    @@ -221,10 +222,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -233,26 +243,26 @@

    - - <fileset> + + <fileset>

    Used to specify the version control system (VCS) files that are going to be acted on.

    - - </fileset> + + </fileset>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -262,8 +272,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -273,8 +283,7 @@ <cvs-tag cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" destination="." - module="nant" - tagname="v0_8_4" + tag="v0_8_4" /> @@ -284,8 +293,7 @@ <cvs-tag cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" destination="." - module="nant" - tagname="v0_8_4" + tag="v0_8_4" remove="true" fail-if-modified="true" /> @@ -294,7 +302,7 @@

    Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs-update.html b/build-support/tools/nant/doc/help/tasks/cvs-update.html index 1d7be38a..abdec276 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs-update.html +++ b/build-support/tools/nant/doc/help/tasks/cvs-update.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs-update> - - v0.85 + + v0.91-alpha2

    <cvs-update>

    +

    [This is preliminary documentation and subject to change.]

    Updates a CVS module in a local working directory.

    Parameters

    @@ -220,10 +221,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -232,26 +242,26 @@

    - - <fileset> + + <fileset>

    Used to specify the version control system (VCS) files that are going to be acted on.

    - - </fileset> + + </fileset>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -261,41 +271,41 @@
           

    - - </arg> + + </arg>

    Examples

    • Update nant.

      -<cvs-update 
      -    destination="c:\src\nant\" 
      -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
      -    password="" 
      -    module="nant" />
      -    
      + <cvs-update + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + password="" + module="nant" /> +
    • Update your NAnt revision named your_favorite_revision_here in the folder c:\src\nant\replacement_for_module_directory_name.

      -<cvs-update 
      -    destination="c:\src\nant\" 
      -    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
      -    module="nant"
      -    revision="your_favorite_revision_here"
      -    overridedir="replacement_for_module_directory_name"
      -    usesharpcvslib="false">
      -    <fileset>
      -        <include name="build.number"/>
      -    </fileset>
      -</cvs-update>
      -    
      + <cvs-update + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" + revision="your_favorite_revision_here" + overridedir="replacement_for_module_directory_name" + usesharpcvslib="false"> + <fileset> + <include name="build.number"/> + </fileset> + </cvs-update> +

    Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/cvs.html b/build-support/tools/nant/doc/help/tasks/cvs.html index 0534732e..d54db484 100644 --- a/build-support/tools/nant/doc/help/tasks/cvs.html +++ b/build-support/tools/nant/doc/help/tasks/cvs.html @@ -19,11 +19,12 @@ -> Task Reference -> <cvs> - - v0.85 + + v0.91-alpha2

    <cvs>

    +

    [This is preliminary documentation and subject to change.]

    Executes the cvs command specified by the command attribute.

    Parameters

    @@ -184,10 +185,19 @@ Description Required + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -196,26 +206,26 @@

    - - <fileset> + + <fileset>

    Used to specify the version control system (VCS) files that are going to be acted on.

    - - </fileset> + + </fileset>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -225,24 +235,24 @@
           

    - - </arg> + + </arg>

    Examples

    • Checkout NAnt.

      -<cvs command="checkout" 
      -     destination="c:\src\nant\" 
      -     cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
      -     module="nant" />
      -    
      + <cvs command="checkout" + destination="c:\src\nant\" + cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" + module="nant" /> +

    Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/delay-sign.html b/build-support/tools/nant/doc/help/tasks/delay-sign.html index 5a746e36..c6278871 100644 --- a/build-support/tools/nant/doc/help/tasks/delay-sign.html +++ b/build-support/tools/nant/doc/help/tasks/delay-sign.html @@ -19,11 +19,12 @@ -> Task Reference -> <delay-sign> - - v0.85 + + v0.91-alpha2

    <delay-sign>

    +

    [This is preliminary documentation and subject to change.]

    Signs delay-signed .NET Assemblies, or re-signs existing assemblies.

    The delay-signing mechanism takes a fileset (named targets) and either a keyfile attribute for a file containing the public and private keys, or keycontainer to name a key container.

    Parameters

    @@ -94,10 +95,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -106,26 +116,26 @@

    - - <targets> + + <targets>

    List of assemblies/executables to sign.

    - - </targets> + + </targets>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -135,8 +145,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -153,7 +163,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/delete.html b/build-support/tools/nant/doc/help/tasks/delete.html index 49ce08ad..14b9fb8a 100644 --- a/build-support/tools/nant/doc/help/tasks/delete.html +++ b/build-support/tools/nant/doc/help/tasks/delete.html @@ -19,11 +19,12 @@ -> Task Reference -> <delete> - - v0.85 + + v0.91-alpha2

    <delete>

    +

    [This is preliminary documentation and subject to change.]

    Deletes a file, fileset or directory.

    Deletes either a single file, all files in a specified directory and its sub-directories, or a set of files specified by one or more filesets.

    If the file or dir attribute is set then the fileset contents will be ignored. To delete the files in the fileset ommit the file and dir attributes in the <delete> element.

    @@ -87,14 +88,14 @@

    - - <fileset> + + <fileset>

    All the files in the file set will be deleted.

    - - </fileset> + + </fileset>

    Examples

      @@ -124,7 +125,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/description.html b/build-support/tools/nant/doc/help/tasks/description.html index d6050673..a86d1fa2 100644 --- a/build-support/tools/nant/doc/help/tasks/description.html +++ b/build-support/tools/nant/doc/help/tasks/description.html @@ -19,11 +19,12 @@ -> Task Reference -> <description> - - v0.85 + + v0.91-alpha2

    <description>

    +

    [This is preliminary documentation and subject to change.]

    An empty task that allows a build file to contain a description.

    Parameters

    @@ -65,13 +66,13 @@
  • Set a description.

    -<description>This is a description.</description>
    -    
    + <description>This is a description.</description> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/echo.html b/build-support/tools/nant/doc/help/tasks/echo.html index 4c703e62..4c048558 100644 --- a/build-support/tools/nant/doc/help/tasks/echo.html +++ b/build-support/tools/nant/doc/help/tasks/echo.html @@ -19,15 +19,18 @@ -> Task Reference -> <echo> - - v0.85 + + v0.91-alpha2

    <echo>

    +

    [This is preliminary documentation and subject to change.]

    Writes a message to the build log or a specified file.

    -

    The message can be specified using the message attribute or as inline content.

    +

    The message can be specified using the message attribute or as inline content. If neither is included - or the message contains only whitespace - then an empty message will be emitted in the output.

    Macros in the message will be expanded.

    When writing to a file, the level attribute is ignored.

    +

    + Note: Since NAnt 0.86, a newline will no longer be implictly added when writing a message to a file.

    Parameters

    @@ -43,6 +46,14 @@ + + + + + + @@ -95,6 +106,20 @@

    Writes a message with level Debug to the build log.

     <echo message="Hello, World!" level="Debug" />
    +    
    + +
  • +

    Writes a two-line message to the build log using inline content.

    +
    +<echo>First line
    +Second line</echo>
    +    
    +
  • +
  • +

    Writes a two-line message to the build log using the message attribute.

    +
    +<echo message='First line
    +Second line</echo>
         
  • @@ -118,7 +143,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/exec.html b/build-support/tools/nant/doc/help/tasks/exec.html index 338a340e..91c1f692 100644 --- a/build-support/tools/nant/doc/help/tasks/exec.html +++ b/build-support/tools/nant/doc/help/tasks/exec.html @@ -19,12 +19,14 @@ -> Task Reference -> <exec> -
  • +
    Determines whether the <echo> task should append to the file, or overwrite it. By default, the file will be overwritten. False
    encoding + Encoding + The encoding to use when writing message to a file. The default is UTF-8 encoding without a Byte Order Mark (BOM). False
    file file

    <exec>

    +

    [This is preliminary documentation and subject to change.]

    Executes a system command.

    +

    Use of nested arg element(s) is advised over the commandline parameter, as it supports automatic quoting and can resolve relative to absolute paths.

    Parameters

    @@ -55,7 +57,15 @@ - + + + + + + + @@ -64,6 +74,12 @@ + + + + + + @@ -73,10 +89,17 @@ + + + + + + - + @@ -132,50 +155,44 @@ - - - - - -
    commandline string The command-line arguments for the program. The command-line arguments for the program. These will be passed as is to the external program. When quoting is necessary, these must be explictly set as part of the value. Consider using nested arg elements instead. False
    managed + ManagedExecution + Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False
    The file to which the standard output will be redirected. False
    pidpropertystring The name of a property in which the unique identifier of the spawned application should be stored. Only of interest if spawn is true. False
    resultproperty string False
    spawnbool Gets or sets a value indicating whether the application should be spawned. If you spawn an application, its output will not be logged by NAnt. The default is false. False
    useruntimeengine bool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + Deprecated. Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
    The name of the executable that should be used to launch the external program. False
    useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False

    Nested Elements:

    - - <environment> + + <environment>

    -
    Environment variables to pass to the program.

    A set of environment variables.

    Nested Elements:

    - <option> -

    Deprecated. Environment variable to pass to a program.

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False

    - </option> -

    - <variable> -

    Environment variable to pass to a program.

    Represents an environment variable.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the environment variable. True
    dirdirectory The value for a directory-based environment variable. NAnt will convert it to an absolute path. False
    filefile The value for a file-based environment variable. NAnt will convert it to an absolute filename. False
    ifbool Indicates if the environment variable should be passed to the external program. If true then the environment variable will be passed; otherwise, skipped. The default is true. False
    path<path> The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. False
    unlessbool Indicates if the environment variable should not be passed to the external program. If false then the environment variable will be passed; otherwise, skipped. The default is false. False
    valuestring The literal value for the environment variable. False

    Nested Elements:

    - <path> -

    Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> -

    - </variable> +
    Environment variables to pass to the program.

    A set of environment variables.

    Nested Elements:

    + <option> +

    Deprecated. Environment variable to pass to a program.

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False

    + </option> +

    + <variable> +

    Environment variable to pass to a program.

    Represents an environment variable.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the environment variable. True
    dirdirectory The value for a directory-based environment variable. NAnt will convert it to an absolute path. False
    filefile The value for a file-based environment variable. NAnt will convert it to an absolute filename. False
    ifbool Indicates if the environment variable should be passed to the external program. If true then the environment variable will be passed; otherwise, skipped. The default is true. False
    path<path> The value for a PATH like environment variable. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions. False
    unlessbool Indicates if the environment variable should not be passed to the external program. If false then the environment variable will be passed; otherwise, skipped. The default is false. False
    valuestring The literal value for the environment variable. False

    Nested Elements:

    + <path> +

    Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path> +

    + </variable>

    - - </environment> + + </environment>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -185,8 +202,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -225,7 +242,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/fail.html b/build-support/tools/nant/doc/help/tasks/fail.html index 7d98f39d..aac41a25 100644 --- a/build-support/tools/nant/doc/help/tasks/fail.html +++ b/build-support/tools/nant/doc/help/tasks/fail.html @@ -19,11 +19,12 @@ -> Task Reference -> <fail> - - v0.85 + + v0.91-alpha2

    <fail>

    +

    [This is preliminary documentation and subject to change.]

    Exits the current build by throwing a BuildException, optionally printing additional information.

    The cause of the build failure can be specified using the message attribute or as inline content.

    Macros in the message will be expanded.

    @@ -91,7 +92,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/foreach.html b/build-support/tools/nant/doc/help/tasks/foreach.html index d2bcfecb..e2176177 100644 --- a/build-support/tools/nant/doc/help/tasks/foreach.html +++ b/build-support/tools/nant/doc/help/tasks/foreach.html @@ -19,11 +19,12 @@ -> Task Reference -> <foreach> - - v0.85 + + v0.91-alpha2

    <foreach>

    +

    [This is preliminary documentation and subject to change.]

    Loops over a set of items.

    Can loop over files in directory, lines in a file, etc.

    The property value is stored before the loop is done, and restored when the loop is finished.

    @@ -101,99 +102,99 @@

    - - <in> + + <in>

    -
    Stuff to operate in. Just like the in attribute, but supports more complicated things like a <fileset> and such.

    Note: Please remove the in attribute if you are using this element.

    Nested Elements:

    - <items> -

    - </items> +
    Stuff to operate in. Just like the in attribute, but supports more complicated things like a <fileset> and such.

    Note: Please remove the in attribute if you are using this element.

    Nested Elements:

    + <items> +

    + </items>

    - - </in> + + </in>

    - - <do> + + <do>

    Tasks to execute for each matching item.

    Executes embedded tasks in the order in which they are defined.

    Parameters

    AttributeTypeDescriptionRequired
    failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
    ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
    verbosebool Determines whether the task should report detailed build log messages. The default is false. False

    - - </do> + + </do>

    Examples

    • Loops over the files in c:\.

      -<foreach item="File" in="c:\" property="filename">
      -    <echo message="${filename}" />
      -</foreach>
      -    
      + <foreach item="File" in="c:\" property="filename"> + <echo message="${filename}" /> + </foreach> +
    • Loops over all files in the project directory.

      -<foreach item="File" property="filename">
      -    <in>
      -        <items>
      -            <include name="**" />
      -        </items>
      -    </in>
      -    <do>
      -        <echo message="${filename}" />
      -    </do>
      -</foreach>
      -    
      + <foreach item="File" property="filename"> + <in> + <items> + <include name="**" /> + </items> + </in> + <do> + <echo message="${filename}" /> + </do> + </foreach> +
    • Loops over the folders in c:\.

      -<foreach item="Folder" in="c:\" property="foldername">
      -    <echo message="${foldername}" />
      -</foreach>
      -    
      + <foreach item="Folder" in="c:\" property="foldername"> + <echo message="${foldername}" /> + </foreach> +
    • Loops over all folders in the project directory.

      -<foreach item="Folder" property="foldername">
      -    <in>
      -        <items>
      -            <include name="**" />
      -        </items>
      -    </in>
      -    <do>
      -        <echo message="${foldername}" />
      -    </do>
      -</foreach>
      -    
      + <foreach item="Folder" property="foldername"> + <in> + <items> + <include name="**" /> + </items> + </in> + <do> + <echo message="${foldername}" /> + </do> + </foreach> +
    • Loops over a list.

      -<foreach item="String" in="1 2,3" delim=" ," property="count">
      -    <echo message="${count}" />
      -</foreach>
      -    
      + <foreach item="String" in="1 2,3" delim=" ," property="count"> + <echo message="${count}" /> + </foreach> +
    • Loops over lines in the file properties.csv, where each line is of the format name,value.

      -<foreach item="Line" in="properties.csv" delim="," property="x,y">
      -    <echo message="Read pair ${x}=${y}" />
      -</foreach>
      -    
      + <foreach item="Line" in="properties.csv" delim="," property="x,y"> + <echo message="Read pair ${x}=${y}" /> + </foreach> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/get.html b/build-support/tools/nant/doc/help/tasks/get.html index ab69d40d..bee1e150 100644 --- a/build-support/tools/nant/doc/help/tasks/get.html +++ b/build-support/tools/nant/doc/help/tasks/get.html @@ -19,11 +19,12 @@ -> Task Reference -> <get> - - v0.85 + + v0.91-alpha2

    <get>

    +

    [This is preliminary documentation and subject to change.]

    Gets a particular file from a URL source.

    Options include verbose reporting and timestamp based fetches.

    Currently, only HTTP and UNC protocols are supported. FTP support may be added when more pluggable protocols are added to the System.Net assembly.

    @@ -107,38 +108,38 @@

    - - <proxy> + + <proxy>

    The network proxy to use to access the Internet resource.

    - - </proxy> + + </proxy>

    - - <credentials> + + <credentials>

    The network credentials used for authenticating the request with the Internet resource.

    - - </credentials> + + </credentials>

    - - <certificates> + + <certificates>

    The security certificates to associate with the request.

    - - </certificates> + + </certificates>

    Examples

      @@ -162,7 +163,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/gunzip.html b/build-support/tools/nant/doc/help/tasks/gunzip.html index 58a05b15..fe2e150e 100644 --- a/build-support/tools/nant/doc/help/tasks/gunzip.html +++ b/build-support/tools/nant/doc/help/tasks/gunzip.html @@ -19,11 +19,12 @@ -> Task Reference -> <gunzip> - - v0.85 + + v0.91-alpha2

    <gunzip>

    +

    [This is preliminary documentation and subject to change.]

    Expands a file packed using GZip compression.

    Parameters

    @@ -77,13 +78,13 @@
  • Expands "test.tar.gz" to "test2.tar".

    -<gunzip src="test.tar.gz" dest="test.tar" />
    -    
    + <gunzip src="test.tar.gz" dest="test.tar" /> +
  • Requirements

    - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/if.html b/build-support/tools/nant/doc/help/tasks/if.html index c6efe337..0d516b20 100644 --- a/build-support/tools/nant/doc/help/tasks/if.html +++ b/build-support/tools/nant/doc/help/tasks/if.html @@ -19,11 +19,12 @@ -> Task Reference -> <if> - - v0.85 + + v0.91-alpha2

    <if>

    +

    [This is preliminary documentation and subject to change.]

    Checks the conditional attributes and executes the children if true.

    If no conditions are checked, all child tasks are executed.

    If more than one attribute is used, they are &&'d. The first to fail stops the check.

    @@ -38,13 +39,13 @@ - property::exists() + property::exists() Checks whether the specified property exists. - target::exists() + target::exists() Checks whether the specified target exists. @@ -130,35 +131,35 @@

    - - <comparefiles> + + <comparefiles>

    Deprecated. The <fileset> that contains the comparison files for the uptodatefile(s) check.

    - - </comparefiles> + + </comparefiles>

    - - <uptodatefiles> + + <uptodatefiles>

    Deprecated. The <fileset> that contains the uptodate files for the comparefile(s) check.

    - - </uptodatefiles> + + </uptodatefiles>

    Examples

    • Tests the value of a property using expressions.

      -<if test="${build.configuration='release'}">
      +<if test="${build.configuration=='release'}">
           <echo>Build release configuration</echo>
       </if>
           
      @@ -249,7 +250,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/ifnot.html b/build-support/tools/nant/doc/help/tasks/ifnot.html index 03d7c238..d21a9f28 100644 --- a/build-support/tools/nant/doc/help/tasks/ifnot.html +++ b/build-support/tools/nant/doc/help/tasks/ifnot.html @@ -19,11 +19,12 @@ -> Task Reference -> <ifnot> - - v0.85 + + v0.91-alpha2

    <ifnot>

    +

    [This is preliminary documentation and subject to change.]

    (Deprecated)

    @@ -108,57 +109,57 @@

    - - <comparefiles> + + <comparefiles>

    Deprecated. The <fileset> that contains the comparison files for the uptodatefile(s) check.

    - - </comparefiles> + + </comparefiles>

    - - <uptodatefiles> + + <uptodatefiles>

    Deprecated. The <fileset> that contains the uptodate files for the comparefile(s) check.

    - - </uptodatefiles> + + </uptodatefiles>

    Examples

    • Check that a property does not exist.

      -<ifnot propertyexists="myProp">
      -    <echo message="myProp does not exist."/>
      -</if>
      -    
      + <ifnot propertyexists="myProp"> + <echo message="myProp does not exist."/> + </if> +

      Check that a property value is not true.

      -<ifnot propertytrue="myProp">
      -    <echo message="myProp is not true."/>
      -</if>
      -    
      + <ifnot propertytrue="myProp"> + <echo message="myProp is not true."/> + </if> +
    • Check that a target does not exist.

      -<ifnot targetexists="myTarget">
      -    <echo message="myTarget does not exist."/>
      -</if>
      -    
      + <ifnot targetexists="myTarget"> + <echo message="myTarget does not exist."/> + </if> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/ilasm.html b/build-support/tools/nant/doc/help/tasks/ilasm.html index f7fcb587..3f0d30f1 100644 --- a/build-support/tools/nant/doc/help/tasks/ilasm.html +++ b/build-support/tools/nant/doc/help/tasks/ilasm.html @@ -19,11 +19,12 @@ -> Task Reference -> <ilasm> - - v0.85 + + v0.91-alpha2

    <ilasm>

    +

    [This is preliminary documentation and subject to change.]

    Compiles ILASM programs.

    Parameters

    @@ -34,6 +35,12 @@ Description Required + + output + file + Specifies the name of the output file created by the compiler. + True + target string @@ -94,12 +101,6 @@ Specifies whether or not the compiler should type a formatted listing of the compilation result. False - - output - file - Specifies the name of the output file created by the compiler. - False - rebuild bool @@ -165,10 +166,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -177,26 +187,26 @@

    - - <sources> + + <sources>

    Specifies the set of source files to compile.

    - - </sources> + + </sources>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -206,25 +216,25 @@
           

    - - </arg> + + </arg>

    Examples

    • Compiles helloworld.il to helloworld.exe.

      -<ilasm target="exe" output="helloworld.exe" debug="true">
      -    <sources>
      -        <include name="helloworld.il" />
      -    </sources>
      -</ilasm>
      -    
      + <ilasm target="exe" output="helloworld.exe" debug="true"> + <sources> + <include name="helloworld.il" /> + </sources> + </ilasm> +

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/ildasm.html b/build-support/tools/nant/doc/help/tasks/ildasm.html index c4916a7f..874aaeee 100644 --- a/build-support/tools/nant/doc/help/tasks/ildasm.html +++ b/build-support/tools/nant/doc/help/tasks/ildasm.html @@ -19,11 +19,12 @@ -> Task Reference -> <ildasm> - - v0.85 + + v0.91-alpha2

    <ildasm>

    +

    [This is preliminary documentation and subject to change.]

    Disassembles any portable executable (PE) file that contains intermediate language (IL) code.

    Files are only disassembled if the input file is newer than the output file, or if the output file does not exist. However, you can explicitly force files to be disassembled with the rebuild attribute.

    A <fileset> can be used to select files to disassemble. To use a <fileset>, the todir attribute must be set. The file name of the output file will be equal to the file name of the input file, but with extension ".il".

    @@ -191,10 +192,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -203,14 +213,14 @@

    - - <assemblies> + + <assemblies>

    Specifies a list of PE files to disassemble. To use a <fileset>, the todir attribute must be specified.

    - - </assemblies> + + </assemblies>

    Examples

      @@ -234,7 +244,7 @@

    Requirements

    - Assembly: NAnt.MSNetTasks (0.85.2478.0) + Assembly: NAnt.MSNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/include.html b/build-support/tools/nant/doc/help/tasks/include.html index c4909605..a292ce66 100644 --- a/build-support/tools/nant/doc/help/tasks/include.html +++ b/build-support/tools/nant/doc/help/tasks/include.html @@ -19,11 +19,12 @@ -> Task Reference -> <include> - - v0.85 + + v0.91-alpha2

    <include>

    +

    [This is preliminary documentation and subject to change.]

    Includes an external build file.

    This task is used to break your build file into smaller chunks. You can load a partial build file and have it included into the build file.

    @@ -80,13 +81,13 @@

  • Include a task that fetches the project version from the GetProjectVersion.include build file.

    -<include buildfile="GetProjectVersion.include" />
    -    
    + <include buildfile="GetProjectVersion.include" /> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/index.html b/build-support/tools/nant/doc/help/tasks/index.html index 9a47a62c..c7fcde6a 100644 --- a/build-support/tools/nant/doc/help/tasks/index.html +++ b/build-support/tools/nant/doc/help/tasks/index.html @@ -16,14 +16,15 @@ -> Help - -> - Task Reference + -> + Task Reference - - v0.85 + + v0.91-alpha2

    Task Reference

    +

    [This is preliminary documentation and subject to change.]

    @@ -368,7 +369,7 @@ - + + + + + - + - +
    script Executes the code contained within the task. This code can include custom extension function definitions. Once the script task has executed those custom functions will be available for use in the buildfile. Executes the code contained within the task.
    @@ -436,11 +437,17 @@ Sets properties with the current date and time.
    + untar + Extracts files from a tar archive.
    unzip Extracts files from a zip file. Extracts files from a zip archive.
    diff --git a/build-support/tools/nant/doc/help/tasks/jsc.html b/build-support/tools/nant/doc/help/tasks/jsc.html index 18693331..f1d4461e 100644 --- a/build-support/tools/nant/doc/help/tasks/jsc.html +++ b/build-support/tools/nant/doc/help/tasks/jsc.html @@ -19,11 +19,12 @@ -> Task Reference -> <jsc>

    <jsc>

    +

    [This is preliminary documentation and subject to change.]

    Compiles JScript.NET programs.

    Parameters

    @@ -34,18 +35,36 @@ Description Required + + autoref + bool + Automatically references assemblies if they have the same name as an imported namespace or as a type annotation when declaring a variable. The default is false. + False + codepage string Specifies the code page to use for all source code files in the compilation. False + + nostdlib + bool + Instructs the compiler not to import standard library, and changes autoref to false. The default is false. + False + platform string Specifies which platform version of common language runtime (CLR) can run the output file. False + + versionsafe + bool + Causes the compiler to generate errors for implicit method overrides. The default is false. + False + warninglevel string @@ -130,6 +149,12 @@ Icon to associate with the application. False + + win32res + file + Specifies a Win32 resource file (.res). + False +

    Framework-configurable parameters

    @@ -147,6 +172,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportsnowarnlist bool @@ -174,7 +207,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -183,33 +217,33 @@

    - - <lib> + + <lib>

    Deprecated. Additional directories to search in for assembly references.

    - - </lib> + + </lib>

    - - <references> + + <references>

    Reference metadata from the specified assembly files.

    - - </references> + + </references>

    - - <pkg-references> + + <pkg-references>

    Specifies list of packages to reference.
    <package>

    Represents a package.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. True
    ifbool Indicates if the package should be passed to the task. If true then the package will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the package should not be passed to the task. If false then the package will be passed; otherwise, skipped. The default is false. False
    </package>

    </pkg-references>

    @@ -217,38 +251,38 @@

    - - <resources> + + <resources>

    Resources to embed.

    - - </resources> + + </resources>

    - - <sources> + + <sources>

    The set of source files for compilation.

    - - </sources> + + </sources>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -258,25 +292,25 @@
           

    - - </arg> + + </arg>

    Examples

    • Compile helloworld.js to helloworld.exe.

      -<jsc target="exe" output="helloworld.exe" debug="true">
      -    <sources>
      -        <include name="helloworld.js" />
      -    </sources>
      -</jsc>
      -    
      + <jsc target="exe" output="helloworld.exe" debug="true"> + <sources> + <include name="helloworld.js" /> + </sources> + </jsc> +

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/lib.html b/build-support/tools/nant/doc/help/tasks/lib.html index f864b17e..b40a8efe 100644 --- a/build-support/tools/nant/doc/help/tasks/lib.html +++ b/build-support/tools/nant/doc/help/tasks/lib.html @@ -19,11 +19,12 @@ -> Task Reference -> <lib> - - v0.85 + + v0.91-alpha2

    <lib>

    +

    [This is preliminary documentation and subject to change.]

    Run lib.exe, Microsoft's Library Manager.

    Parameters

    @@ -99,10 +100,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -111,54 +121,54 @@

    - - <sources> + + <sources>

    The list of files to combine into the output file.

    - - </sources> + + </sources>

    - - <symbols> + + <symbols>

    Symbols to add to the symbol table.
    <symbol>

    Represents a symbol.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the symbol. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </symbol>

    </symbols>

    - - <ignorelibraries> + + <ignorelibraries>

    Names of default libraries to ignore.
    <library>

    Represents a library.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the library. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </library>

    </ignorelibraries>

    - - <libdirs> + + <libdirs>

    The list of additional library directories to search.

    - - </libdirs> + + </libdirs>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -168,25 +178,25 @@
           

    - - </arg> + + </arg>

    Examples

    • Create a library.

      -<lib output="library.lib">
      -    <sources>
      -        <include name="library.obj" />
      -    </sources>
      -</lib>
      -    
      + <lib output="library.lib"> + <sources> + <include name="library.obj" /> + </sources> + </lib> +

    Requirements

    - Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/license.html b/build-support/tools/nant/doc/help/tasks/license.html index 89ac1104..3541d4ae 100644 --- a/build-support/tools/nant/doc/help/tasks/license.html +++ b/build-support/tools/nant/doc/help/tasks/license.html @@ -19,11 +19,12 @@ -> Task Reference -> <license> - - v0.85 + + v0.91-alpha2

    <license>

    +

    [This is preliminary documentation and subject to change.]

    Generates a .licence file from a .licx file.

    If no output file is specified, the default filename is the name of the target file with the extension .licenses appended.

    Parameters

    @@ -113,6 +114,14 @@ Indicates whether the current target framework has a command line tool for compiling licenses files. The default is true. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportsassemblyreferences bool @@ -122,7 +131,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -131,27 +141,27 @@

    - - <assemblies> + + <assemblies>

    Names of the references to scan for the licensed component.

    - - </assemblies> + + </assemblies>

    Examples

    • Generate the file component.exe.licenses file from component.licx.

      -<license input="component.licx" licensetarget="component.exe" />
      -    
      + <license input="component.licx" licensetarget="component.exe" /> +

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/link.html b/build-support/tools/nant/doc/help/tasks/link.html index 032240e6..083d468a 100644 --- a/build-support/tools/nant/doc/help/tasks/link.html +++ b/build-support/tools/nant/doc/help/tasks/link.html @@ -19,11 +19,12 @@ -> Task Reference -> <link> - - v0.85 + + v0.91-alpha2

    <link>

    +

    [This is preliminary documentation and subject to change.]

    Links files using link.exe, Microsoft's Incremental Linker.

    This task is intended for version 7.00.9466 of link.exe.

    Parameters

    @@ -41,6 +42,12 @@ The output file. True + + moduledefinition + file + The name of a module-definition file (.def) to be passed to the linker. + False + options string @@ -100,10 +107,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -112,76 +128,76 @@

    - - <delayloaded> + + <delayloaded>

    Specified DLLs for delay loading.

    - - </delayloaded> + + </delayloaded>

    - - <sources> + + <sources>

    The list of files to combine into the output file.

    - - </sources> + + </sources>

    - - <libdirs> + + <libdirs>

    The list of additional library directories to search.

    - - </libdirs> + + </libdirs>

    - - <modules> + + <modules>

    Link the specified modules into this assembly.

    - - </modules> + + </modules>

    - - <embeddedresources> + + <embeddedresources>

    Embed the specified resources into this assembly.

    - - </embeddedresources> + + </embeddedresources>

    - - <symbols> + + <symbols>

    Symbols to add to the symbol table.
    <symbol>

    Represents a symbol.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the symbol. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </symbol>

    </symbols>

    - - <ignorelibraries> + + <ignorelibraries>

    Names of libraries that you want the linker to ignore when it resolves external references.
    <library>

    Represents a library.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the library. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </library>

    </ignorelibraries>

    @@ -189,13 +205,13 @@

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -205,25 +221,25 @@
           

    - - </arg> + + </arg>

    Examples

    • Combine all object files in the current directory into helloworld.exe.

      -<link output="helloworld.exe">
      -    <sources>
      -        <include name="*.obj" />
      -    </sources>
      -</link>
      -    
      + <link output="helloworld.exe"> + <sources> + <include name="*.obj" /> + </sources> + </link> +

    Requirements

    - Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/loadfile.html b/build-support/tools/nant/doc/help/tasks/loadfile.html index 5ece4dbd..2f5de2c1 100644 --- a/build-support/tools/nant/doc/help/tasks/loadfile.html +++ b/build-support/tools/nant/doc/help/tasks/loadfile.html @@ -19,11 +19,12 @@ -> Task Reference -> <loadfile> - - v0.85 + + v0.91-alpha2

    <loadfile>

    +

    [This is preliminary documentation and subject to change.]

    Load a text file into a single property.

    Unless an encoding is specified, the encoding associated with the system's current ANSI code page is used.

    An UTF-8, little-endian Unicode, and big-endian Unicode encoded text file is automatically recognized, if the file starts with the appropriate byte order marks.

    @@ -86,50 +87,50 @@

    - - <filterchain> + + <filterchain>

    The filterchain definition to use.

    - - </filterchain> + + </filterchain>

    Examples

    • Load file message.txt into property "message".

      -<loadfile
      -    file="message.txt"
      -    property="message" />
      -    
      + <loadfile + file="message.txt" + property="message" /> +
    • Load a file using the "latin-1" encoding.

      -<loadfile
      -    file="loadfile.xml"
      -    property="encoded-file"
      -    encoding="iso-8859-1" />
      -    
      + <loadfile + file="loadfile.xml" + property="encoded-file" + encoding="iso-8859-1" /> +
    • Load a file, replacing all @NOW@ tokens with the current date/time.

      -<loadfile file="token.txt" property="token-file">
      -    <filterchain>
      -        <replacetokens>
      -            <token key="NOW" value="${datetime::now()}" />
      -        </replacetokens>
      -    </filterchain>
      -</loadfile>
      -    
      + <loadfile file="token.txt" property="token-file"> + <filterchain> + <replacetokens> + <token key="NOW" value="${datetime::now()}" /> + </replacetokens> + </filterchain> + </loadfile> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/loadtasks.html b/build-support/tools/nant/doc/help/tasks/loadtasks.html index a2b6f91e..440f515c 100644 --- a/build-support/tools/nant/doc/help/tasks/loadtasks.html +++ b/build-support/tools/nant/doc/help/tasks/loadtasks.html @@ -19,11 +19,12 @@ -> Task Reference -> <loadtasks> - - v0.85 + + v0.91-alpha2

    <loadtasks>

    +

    [This is preliminary documentation and subject to change.]

    Loads tasks form a given assembly or all assemblies in a given directory or <fileset>.

    Parameters

    @@ -76,14 +77,14 @@

    - - <fileset> + + <fileset>

    Used to select which directories or individual assemblies to scan.

    - - </fileset> + + </fileset>

    Examples

      @@ -113,7 +114,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/mail.html b/build-support/tools/nant/doc/help/tasks/mail.html index ff9a6463..7f80b6be 100644 --- a/build-support/tools/nant/doc/help/tasks/mail.html +++ b/build-support/tools/nant/doc/help/tasks/mail.html @@ -19,11 +19,12 @@ -> Task Reference -> <mail> - - v0.85 + + v0.91-alpha2

    <mail>

    +

    [This is preliminary documentation and subject to change.]

    Sends an SMTP message.

    Text and text files to include in the message body may be specified as well as binary attachments.

    Parameters

    @@ -115,52 +116,52 @@

    - - <files> + + <files>

    Files that are transmitted as part of the body of the email message.

    - - </files> + + </files>

    - - <attachments> + + <attachments>

    Attachments that are transmitted with the message.

    - - </attachments> + + </attachments>

    Examples

    • Sends an email from nant@sourceforge.net to three recipients with a subject about the attachments. The body of the message will be the combined contents of all .txt files in the base directory. All zip files in the base directory will be included as attachments. The message will be sent using the smtpserver.anywhere.com SMTP server.

      -<mail 
      -    from="nant@sourceforge.net" 
      -    tolist="recipient1@sourceforge.net" 
      -    cclist="recipient2@sourceforge.net" 
      -    bcclist="recipient3@sourceforge.net" 
      -    subject="Msg 7: With attachments" 
      -    mailhost="smtpserver.anywhere.com">
      -    <files>
      -        <include name="*.txt" />
      -    </files>   
      -    <attachments>
      -        <include name="*.zip" />
      -    </attachments>
      -</mail>
      -    
      + <mail + from="nant@sourceforge.net" + tolist="recipient1@sourceforge.net" + cclist="recipient2@sourceforge.net" + bcclist="recipient3@sourceforge.net" + subject="Msg 7: With attachments" + mailhost="smtpserver.anywhere.com"> + <files> + <include name="*.txt" /> + </files> + <attachments> + <include name="*.zip" /> + </attachments> + </mail> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/mc.html b/build-support/tools/nant/doc/help/tasks/mc.html index f3b013ea..698bd953 100644 --- a/build-support/tools/nant/doc/help/tasks/mc.html +++ b/build-support/tools/nant/doc/help/tasks/mc.html @@ -19,11 +19,12 @@ -> Task Reference -> <mc> - - v0.85 + + v0.91-alpha2

    <mc>

    +

    [This is preliminary documentation and subject to change.]

    Compiles messages using mc.exe, Microsoft's Win32 message compiler.

    Parameters

    @@ -105,10 +106,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -118,13 +128,13 @@

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -134,25 +144,25 @@
           

    - - </arg> + + </arg>

    Examples

    • Compile text.mc using the default options.

      -<mc mcfile="text.mc"/>
      -    
      + <mc mcfile="text.mc"/> +

      Compile text.mc, passing a path to store the header, the rc file and some additonal options.

      -<mc mcfile="text.mc" headerpath=".\build" rcpath=".\build" options="-v -c -u"/>
      -    
      + <mc mcfile="text.mc" headerpath=".\build" rcpath=".\build" options="-v -c -u"/> +

    Requirements

    - Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/midl.html b/build-support/tools/nant/doc/help/tasks/midl.html index 8dc229f1..c8b23747 100644 --- a/build-support/tools/nant/doc/help/tasks/midl.html +++ b/build-support/tools/nant/doc/help/tasks/midl.html @@ -19,11 +19,12 @@ -> Task Reference -> <midl> - - v0.85 + + v0.91-alpha2

    <midl>

    +

    [This is preliminary documentation and subject to change.]

    This tasks allows you to run MIDL.exe.

    This task only supports a small subset of the MIDL.EXE command line switches, but you can use the options element to specify any other unsupported commands you want to specify.

    Parameters

    @@ -166,10 +167,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -178,50 +188,50 @@

    - - <options> + + <options>

    Additional options to pass to midl.exe.
    <option>

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
    </option>

    </options>

    - - <defines> + + <defines>

    Macro definitions to pass to mdil.exe. Each entry will generate a /D
    <define>

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
    </define>

    </defines>

    - - <undefines> + + <undefines>

    Macro undefines (/U) to pass to mdil.
    <undefine>

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
    </undefine>

    </undefines>

    - - <includedirs> + + <includedirs>

    The list of directories in which to search for include files.

    - - </includedirs> + + </includedirs>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -231,37 +241,37 @@
           

    - - </arg> + + </arg>

    Examples

    • -<midl
      -    env="win32"
      -    Oi="cf"
      -    tlb="${outputdir}\TempAtl.tlb"
      -    header="${outputdir}\TempAtl.h"
      -    iid="${outputdir}\TempAtl_i.c"
      -    proxy="${outputdir}\TempAtl_p.c"
      -    filename="TempAtl.idl"
      ->
      -    <defines>
      -        <define name="_DEBUG"/>
      -        <define name="WIN32" value="1"/>
      -    </defines>
      -    <options>
      -        <option name="/mktyplib203"/>
      -        <option name="/error" value="allocation"/>
      -    </options>
      -</midl>
      -    
      + <midl + env="win32" + Oi="cf" + tlb="${outputdir}\TempAtl.tlb" + header="${outputdir}\TempAtl.h" + iid="${outputdir}\TempAtl_i.c" + proxy="${outputdir}\TempAtl_p.c" + filename="TempAtl.idl" + > + <defines> + <define name="_DEBUG"/> + <define name="WIN32" value="1"/> + </defines> + <options> + <option name="/mktyplib203"/> + <option name="/error" value="allocation"/> + </options> + </midl> +

    Requirements

    - Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/mkdir.html b/build-support/tools/nant/doc/help/tasks/mkdir.html index 44ee5ddc..85c7b102 100644 --- a/build-support/tools/nant/doc/help/tasks/mkdir.html +++ b/build-support/tools/nant/doc/help/tasks/mkdir.html @@ -19,11 +19,12 @@ -> Task Reference -> <mkdir> - - v0.85 + + v0.91-alpha2

    <mkdir>

    +

    [This is preliminary documentation and subject to change.]

    Creates a directory and any non-existent parent directory if necessary.

    Parameters

    @@ -71,19 +72,19 @@
  • Create the directory build.

    -<mkdir dir="build" />
    -    
    + <mkdir dir="build" /> +
  • Create the directory tree one/two/three.

    -<mkdir dir="one/two/three" />
    -    
    + <mkdir dir="one/two/three" /> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/move.html b/build-support/tools/nant/doc/help/tasks/move.html index ad1f2360..e51a6de5 100644 --- a/build-support/tools/nant/doc/help/tasks/move.html +++ b/build-support/tools/nant/doc/help/tasks/move.html @@ -19,11 +19,12 @@ -> Task Reference -> <move> - - v0.85 + + v0.91-alpha2

    <move>

    +

    [This is preliminary documentation and subject to change.]

    Moves a file or set of files to a new file or directory.

    Files are only moved if the source file is newer than the destination file, or if the destination file does not exist. However, you can explicitly overwrite files with the overwrite attribute.

    A <fileset> can be used to select files to move. To use a <fileset>, the todir attribute must be set.

    @@ -123,26 +124,26 @@

    - - <fileset> + + <fileset>

    Used to select the files to move. To use a <fileset>, the todir attribute must be set.

    - - </fileset> + + </fileset>

    - - <filterchain> + + <filterchain>

    Chain of filters used to alter the file's content as it is moved.

    - - </filterchain> + + </filterchain>

    Examples

      @@ -184,7 +185,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/nant.html b/build-support/tools/nant/doc/help/tasks/nant.html index cb546a80..ac6feda2 100644 --- a/build-support/tools/nant/doc/help/tasks/nant.html +++ b/build-support/tools/nant/doc/help/tasks/nant.html @@ -19,11 +19,12 @@ -> Task Reference -> <nant> - - v0.85 + + v0.91-alpha2

    <nant>

    +

    [This is preliminary documentation and subject to change.]

    Runs NAnt on a supplied build file, or a set of build files.

    By default, all the properties of the current project will be available in the new project. Alternatively, you can set inheritall to false to not copy any properties to the new project.

    You can also set properties in the new project from the old project by using nested property tags. These properties are always passed to the new project regardless of the setting of inheritall. This allows you to parameterize your subprojects.

    @@ -91,37 +92,37 @@

    - - <buildfiles> + + <buildfiles>

    Used to specify a set of build files to process.

    - - </buildfiles> + + </buildfiles>

    - - <properties> + + <properties>

    -
    Specifies a collection of properties that should be created in the executed project. Note, existing properties with identical names that are not read-only will be overwritten.
    <property>

    Sets a property in the current project.

    Note: NAnt uses a number of predefined properties.

    Parameters

    - +
    AttributeTypeDescriptionRequired
    namestring The name of the NAnt property to set. True
    valuestring The value to assign to the NAnt property.

    - This attribute's properties will not be automatically expanded! +

    Specifies a collection of properties that should be created in the executed project. Note, existing properties with identical names that are not read-only will be overwritten.
    <property>

    Sets a property in the current project.

    Note: NAnt uses a number of predefined properties.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The name of the NAnt property to set. True
    valuestring The value to assign to the NAnt property.

    + This attribute's properties will not be automatically expanded!

    True
    dynamicbool Specifies whether references to other properties should not be expanded when the value of the property is set, but expanded when the property is actually used. By default, properties will be expanded when set. False
    overwritebool Specifies whether the value of a property should be overwritten if the property already exists (unless the property is read-only). The default is true. False
    readonlybool Specifies whether the property is read-only or not. The default is false. False
    failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
    ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
    verbosebool Determines whether the task should report detailed build log messages. The default is false. False

    Examples

    • Define a debug property with value true.

      -<property name="debug" value="true" />
      -    
    • Use the user-defined debug property.

      -<property name="trace" value="${debug}" />
      -    
    • Define a read-only property. This is just like passing in the param on the command line.

      -<property name="do_not_touch_ME" value="hammer" readonly="true" />
      -    
    • Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line).

      -<project name="property-example">
      -  <property name="debug" value="true" overwrite="false" />
      -  <echo message="debug: ${debug}" />
      -</project>
      -    

      Executing this build file with the command line option -D:debug=false, would cause the value specified on the command line to remain unaltered.

      -[echo] debug: false
      -    
    </property>
    + <property name="debug" value="true" /> +
  • Use the user-defined debug property.

    +            <property name="trace" value="${debug}" />
    +                
  • Define a read-only property. This is just like passing in the param on the command line.

    +            <property name="do_not_touch_ME" value="hammer" readonly="true" />
    +                
  • Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line).

    +            <project name="property-example">
    +              <property name="debug" value="true" overwrite="false" />
    +              <echo message="debug: ${debug}" />
    +            </project>
    +                

    Executing this build file with the command line option -D:debug=false, would cause the value specified on the command line to remain unaltered.

    +            [echo] debug: false
    +                
  • </property>

    </properties>

    Examples

      @@ -158,7 +159,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/nantschema.html b/build-support/tools/nant/doc/help/tasks/nantschema.html index dd2e9f87..79db398c 100644 --- a/build-support/tools/nant/doc/help/tasks/nantschema.html +++ b/build-support/tools/nant/doc/help/tasks/nantschema.html @@ -19,11 +19,12 @@ -> Task Reference -> <nantschema>

    <nantschema>

    +

    [This is preliminary documentation and subject to change.]

    Creates an XSD File for all available tasks.

    This can be used in conjuntion with the command-line option to do XSD Schema validation on the build file.

    Parameters

    @@ -84,13 +85,13 @@
  • Creates a NAnt.xsd file in the current project directory.

    -<nantschema output="NAnt.xsd" />
    -    
    + <nantschema output="NAnt.xsd" /> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/ndoc.html b/build-support/tools/nant/doc/help/tasks/ndoc.html index 9cffaebe..4f99baef 100644 --- a/build-support/tools/nant/doc/help/tasks/ndoc.html +++ b/build-support/tools/nant/doc/help/tasks/ndoc.html @@ -19,11 +19,12 @@ -> Task Reference -> <ndoc> - - v0.85 + + v0.91-alpha2

    <ndoc>

    +

    [This is preliminary documentation and subject to change.]

    Runs NDoc V1.3.1 to create documentation.

    See the NDoc home page for more information.

    @@ -67,50 +68,50 @@

    - - <assemblies> + + <assemblies>

    The set of assemblies to document.

    - - </assemblies> + + </assemblies>

    - - <summaries> + + <summaries>

    The set of namespace summary files.

    - - </summaries> + + </summaries>

    - - <documenters> + + <documenters>

    Specifies the formats in which the documentation should be generated.

    Represents an element of which the XML is processed by its parent task or type.

    - - </documenters> + + </documenters>

    - - <referencepaths> + + <referencepaths>

    Collection of additional directories to search for referenced assemblies.

    - - </referencepaths> + + </referencepaths>

    Examples

      @@ -166,7 +167,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/nunit.html b/build-support/tools/nant/doc/help/tasks/nunit.html index c8ae1ad4..bed1ef7c 100644 --- a/build-support/tools/nant/doc/help/tasks/nunit.html +++ b/build-support/tools/nant/doc/help/tasks/nunit.html @@ -19,11 +19,12 @@ -> Task Reference -> <nunit> - - v0.85 + + v0.91-alpha2

    <nunit>

    +

    [This is preliminary documentation and subject to change.]

    (Deprecated)

    @@ -88,27 +89,27 @@

    - - <test> + + <test>

    Tests to run.

    Represents a test element of an <nunit> task.

    Parameters

    AttributeTypeDescriptionRequired
    assemblystring Assembly to load the test from. True
    classstring Class name of the test. True
    appconfigstring The application configuration file to use for the NUnit test domain. False
    forkbool Run the tests in a separate AppDomain. False
    haltonerrorbool Stop the build process if an error occurs during the test run. False
    haltonfailurebool Stop the build process if a test fails (errors are considered failures as well). False
    outfilestring Base name of the test result. The full filename is determined by this attribute and the extension of formatter. False
    todirstring Directory to write the reports to. False

    - - </test> + + </test>

    - - <formatter> + + <formatter>

    Formatters to output results of unit tests.

    Represents the FormatterElement of the NUnit task.

    Parameters

    AttributeTypeDescriptionRequired
    typeFormatterType Type of formatter. True
    extensionstring Extension to append to the output filename. False
    outputdirdirectory Specifies the directory where the output file should be written to, if usefile is true. If not specified, the output file will be written to the directory where the test module is located. False
    usefilebool Determines whether output should be persisted to a file. The default is false. False

    - - </formatter> + + </formatter>

    Examples

      @@ -126,7 +127,7 @@

    Requirements

    - Assembly: NAnt.NUnit1Tasks (0.85.2478.0) + Assembly: NAnt.NUnit1Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/nunit2.html b/build-support/tools/nant/doc/help/tasks/nunit2.html index b36af516..1a162487 100644 --- a/build-support/tools/nant/doc/help/tasks/nunit2.html +++ b/build-support/tools/nant/doc/help/tasks/nunit2.html @@ -19,11 +19,12 @@ -> Task Reference -> <nunit2> - - v0.85 + + v0.91-alpha2

    <nunit2>

    +

    [This is preliminary documentation and subject to change.]

    Runs tests using the NUnit V2.2 framework.

    The haltonfailure attribute is only useful when more than one test suite is used, and you want to continue running other test suites although a test failed.

    Set failonerror to false to ignore any errors and continue the build.

    @@ -90,35 +91,39 @@

    - - <test> + + <test>

    -
    Tests to run.

    Represents a test element of an <nunit2> task.

    Parameters

    AttributeTypeDescriptionRequired
    appconfigfile The application configuration file to use for the NUnit test domain. If not specified, NAnt will try to use a configuration name matching the file name of the assembly with extension ".config". False
    assemblynamefile Name of the assembly to search for tests. False
    haltonfailurebool Build fails on failure. The default is true. False
    testnamestring Name of a specific testfixture to run. If not specified then all testfixtures are run. False
    transformfilefile XSLT transform file to use when using the Plain formatter. False

    Nested Elements:

    - <assemblies> -

    Assemblies to include in test.

    - </assemblies> -

    - <categories> -

    Categories of test cases to include or exclude.

    - </categories> +
    Tests to run.

    Represents a test element of an <nunit2> task.

    Parameters

    AttributeTypeDescriptionRequired
    appconfigfile The application configuration file to use for the NUnit test domain. If not specified, NAnt will try to use a configuration name matching the file name of the assembly with extension ".config". False
    assemblynamefile Name of the assembly to search for tests. False
    haltonfailurebool Build fails on failure. The default is true. False
    testnamestring Name of a specific testfixture to run. If not specified then all testfixtures are run. False
    transformfilefile XSLT transform file to use when using the Plain formatter. False

    Nested Elements:

    + <assemblies> +

    Assemblies to include in test.

    + </assemblies> +

    + <references> +

    Assemblies to scan for missing assembly references.

    + </references> +

    + <categories> +

    Categories of test cases to include or exclude.

    + </categories>

    - - </test> + + </test>

    - - <formatter> + + <formatter>

    Formatters to output results of unit tests.

    Represents the FormatterElement of the NUnit task.

    Parameters

    AttributeTypeDescriptionRequired
    typeFormatterType Type of formatter. True
    extensionstring Extension to append to the output filename. False
    outputdirdirectory Specifies the directory where the output file should be written to, if usefile is true. If not specified, the output file will be written to the directory where the test module is located. False
    usefilebool Determines whether output should be persisted to a file. The default is false. False

    - - </formatter> + + </formatter>

    Examples

      @@ -143,6 +148,10 @@ <categories> <exclude name="NotWorking" /> </categories> + <references basedir="build"> + <include name="Cegeka.Income.Services.dll" /> + <include name="Cegeka.Util.dll" /> + </references> </test> </nunit2> @@ -150,7 +159,7 @@

    Requirements

    - Assembly: NAnt.NUnit2Tasks (0.85.2478.0) + Assembly: NAnt.NUnit2Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/property.html b/build-support/tools/nant/doc/help/tasks/property.html index ea0be270..cb36c4c1 100644 --- a/build-support/tools/nant/doc/help/tasks/property.html +++ b/build-support/tools/nant/doc/help/tasks/property.html @@ -19,11 +19,12 @@ -> Task Reference -> <property> - - v0.85 + + v0.91-alpha2

    <property>

    +

    [This is preliminary documentation and subject to change.]

    Sets a property in the current project.

    Note: NAnt uses a number of predefined properties.

    @@ -45,8 +46,8 @@ value string - The value to assign to the NAnt property.

    - This attribute's properties will not be automatically expanded! + The value to assign to the NAnt property.

    + This attribute's properties will not be automatically expanded!

    True @@ -99,38 +100,38 @@
  • Define a debug property with value true.

    -<property name="debug" value="true" />
    -    
    + <property name="debug" value="true" /> +
  • Use the user-defined debug property.

    -<property name="trace" value="${debug}" />
    -    
    + <property name="trace" value="${debug}" /> +
  • Define a read-only property. This is just like passing in the param on the command line.

    -<property name="do_not_touch_ME" value="hammer" readonly="true" />
    -    
    + <property name="do_not_touch_ME" value="hammer" readonly="true" /> +
  • Define a property, but do not overwrite the value if the property already exists (eg. it was specified on the command line).

    -<project name="property-example">
    -  <property name="debug" value="true" overwrite="false" />
    -  <echo message="debug: ${debug}" />
    -</project>
    -    
    + <project name="property-example"> + <property name="debug" value="true" overwrite="false" /> + <echo message="debug: ${debug}" /> + </project> +

    Executing this build file with the command line option -D:debug=false, would cause the value specified on the command line to remain unaltered.

    -[echo] debug: false
    -    
    + [echo] debug: false +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/rc.html b/build-support/tools/nant/doc/help/tasks/rc.html index 0895d6d0..8b20d748 100644 --- a/build-support/tools/nant/doc/help/tasks/rc.html +++ b/build-support/tools/nant/doc/help/tasks/rc.html @@ -19,11 +19,12 @@ -> Task Reference -> <rc> - - v0.85 + + v0.91-alpha2

    <rc>

    +

    [This is preliminary documentation and subject to change.]

    Compiles resources using rc.exe, Microsoft's Win32 resource compiler.

    Parameters

    @@ -105,10 +106,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -117,20 +127,20 @@

    - - <includedirs> + + <includedirs>

    The list of directories in which to search for include files.

    - - </includedirs> + + </includedirs>

    - - <defines> + + <defines>

    Macro definitions to pass to rc.exe. Each entry will generate a /d
    <define>

    Represents an option.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the option. True
    ifbool Indicates if the option should be passed to the task. If true then the option will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the option should not be passed to the task. If false then the option will be passed; otherwise, skipped. The default is false. False
    valuestring Value of the option. The default is a null reference (Nothing in Visual Basic). False
    </define>

    </defines>

    @@ -138,13 +148,13 @@

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -154,27 +164,27 @@
           

    - - </arg> + + </arg>

    Examples

    • Compile text.rc to text.res using the default options.

      -<rc rcfile="text.rc" output="text.res" />
      -    
      + <rc rcfile="text.rc" output="text.res" /> +
    • Compile text.rc, passing an additional option.

      -<rc rcfile="text.rc" options="/r"/>
      -    
      + <rc rcfile="text.rc" options="/r"/> +

    Requirements

    - Assembly: NAnt.VisualCppTasks (0.85.2478.0) + Assembly: NAnt.VisualCppTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/readregistry.html b/build-support/tools/nant/doc/help/tasks/readregistry.html index a5f3a102..923f2ece 100644 --- a/build-support/tools/nant/doc/help/tasks/readregistry.html +++ b/build-support/tools/nant/doc/help/tasks/readregistry.html @@ -19,11 +19,12 @@ -> Task Reference -> <readregistry> - - v0.85 + + v0.91-alpha2

    <readregistry>

    +

    [This is preliminary documentation and subject to change.]

    Reads a value or set of values from the Windows Registry into one or more NAnt properties.

    Parameters

    @@ -95,17 +96,17 @@
  • Read a single value from the registry.

    -<readregistry property="sdkRoot" key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot" hive="LocalMachine" />
    -    
    + <readregistry property="sdkRoot" key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot" hive="LocalMachine" /> +

    Read all the registry values in a key.

    -<readregistry prefix="dotNetFX" key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot" hive="LocalMachine" />
    -    
    + <readregistry prefix="dotNetFX" key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot" hive="LocalMachine" /> +
  • Requirements

    - Assembly: NAnt.Win32Tasks (0.85.2478.0) + Assembly: NAnt.Win32Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/regasm.html b/build-support/tools/nant/doc/help/tasks/regasm.html index 6d06869b..95c7ce07 100644 --- a/build-support/tools/nant/doc/help/tasks/regasm.html +++ b/build-support/tools/nant/doc/help/tasks/regasm.html @@ -19,11 +19,12 @@ -> Task Reference -> <regasm> - - v0.85 + + v0.91-alpha2

    <regasm>

    +

    [This is preliminary documentation and subject to change.]

    Registers an assembly, or set of assemblies for use from COM clients.

    Refer to the Regasm documentation for more information on the regasm tool.

    Parameters

    @@ -118,10 +119,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -130,38 +140,38 @@

    - - <assemblies> + + <assemblies>

    The set of assemblies to register, or unregister.

    - - </assemblies> + + </assemblies>

    - - <references> + + <references>

    The set of assembly references.

    - - </references> + + </references>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -171,41 +181,41 @@
           

    - - </arg> + + </arg>

    Examples

    • Register types in a single assembly.

      -<regasm assembly="myAssembly.dll" />
      -    
      + <regasm assembly="myAssembly.dll" /> +
    • Register types of an assembly and generate a type library containing definitions of accessible types defined within the assembly.

      -<regasm assembly="myAssembly.dll" typelib="myAssembly.tlb" />
      -    
      + <regasm assembly="myAssembly.dll" typelib="myAssembly.tlb" /> +
    • Register types of set of assemblies at once, while specifying a set of reference assemblies.

      -<regasm codebase="true">
      -    <assemblies>
      -        <include name="OutlookAddin.dll" />
      -        <include name="OfficeCoreAddin.dll" />
      -    </assemblies>
      -    <references>
      -        <include name="CommonTypes.dll" />
      -    </references>
      -</regasm>
      -    
      + <regasm codebase="true"> + <assemblies> + <include name="OutlookAddin.dll" /> + <include name="OfficeCoreAddin.dll" /> + </assemblies> + <references> + <include name="CommonTypes.dll" /> + </references> + </regasm> +

    Requirements

    - Assembly: NAnt.Win32Tasks (0.85.2478.0) + Assembly: NAnt.Win32Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/regex.html b/build-support/tools/nant/doc/help/tasks/regex.html index dd2c45ec..2aab5e3c 100644 --- a/build-support/tools/nant/doc/help/tasks/regex.html +++ b/build-support/tools/nant/doc/help/tasks/regex.html @@ -19,11 +19,12 @@ -> Task Reference -> <regex> - - v0.85 + + v0.91-alpha2

    <regex>

    +

    [This is preliminary documentation and subject to change.]

    Sets project properties based on the evaluatuion of a regular expression.

    The pattern attribute must contain one or more named grouping constructs, which represents the names of the properties to be set. These named grouping constructs can be enclosed by angle brackets (?<name>) or single quotes (?'name').

    @@ -110,7 +111,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/regsvcs.html b/build-support/tools/nant/doc/help/tasks/regsvcs.html index a026d5cd..f83fd3c9 100644 --- a/build-support/tools/nant/doc/help/tasks/regsvcs.html +++ b/build-support/tools/nant/doc/help/tasks/regsvcs.html @@ -19,11 +19,12 @@ -> Task Reference -> <regsvcs> - - v0.85 + + v0.91-alpha2

    <regsvcs>

    +

    [This is preliminary documentation and subject to change.]

    Installs or removes .NET Services.

    This tasks provides the same functionality as the regsvcs tool provided in the .NET SDK.

    It performs the following actions:

    @@ -145,10 +146,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -158,13 +168,13 @@

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -174,39 +184,39 @@
           

    - - </arg> + + </arg>

    Examples

    • Adds all public classes contained in myTest.dll to a COM+ application and produces the myTest.tlb type library. If the application already exists, it is overwritten.

      -<regsvcs action="FindOrCreate" assembly="myTest.dll" />
      -    
      + <regsvcs action="FindOrCreate" assembly="myTest.dll" /> +
    • Adds all public classes contained in myTest.dll to myTargetApp and produces the myTest.tlb type library. If the application already exists, it is overwritten.

      -<regsvcs action="FindOrCreate" assembly="myTest.dll" application="myTargetApp" />
      -    
      + <regsvcs action="FindOrCreate" assembly="myTest.dll" application="myTargetApp" /> +
    • Adds all public classes contained in myTest.dll to a COM+ application and produces the myTest.tlb type library. A new application is always created.

      -<regsvcs action="Create" assembly="myTest.dll" />
      -    
      + <regsvcs action="Create" assembly="myTest.dll" /> +
    • Uninstalls the COM+ application contained in myTest.dll.

      -<regsvcs action="Uninstall" assembly="myTest.dll" />
      -    
      + <regsvcs action="Uninstall" assembly="myTest.dll" /> +

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/resgen.html b/build-support/tools/nant/doc/help/tasks/resgen.html index 515efc33..8e6bfd43 100644 --- a/build-support/tools/nant/doc/help/tasks/resgen.html +++ b/build-support/tools/nant/doc/help/tasks/resgen.html @@ -19,11 +19,12 @@ -> Task Reference -> <resgen> - - v0.85 + + v0.91-alpha2

    <resgen>

    +

    [This is preliminary documentation and subject to change.]

    Converts files from one resource format to another.

    Note: If no todir is specified, the resource file will be created next to the input file.

    @@ -113,6 +114,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportsassemblyreferences bool @@ -128,7 +137,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -137,38 +147,38 @@

    - - <resources> + + <resources>

    Takes a list of .resx or .txt files to convert to .resources files.

    - - </resources> + + </resources>

    - - <assemblies> + + <assemblies>

    Reference metadata from the specified assembly files.

    - - </assemblies> + + </assemblies>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -178,8 +188,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -202,7 +212,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/script.html b/build-support/tools/nant/doc/help/tasks/script.html index ba62516b..161f2a08 100644 --- a/build-support/tools/nant/doc/help/tasks/script.html +++ b/build-support/tools/nant/doc/help/tasks/script.html @@ -19,24 +19,30 @@ -> Task Reference -> <script> - - v0.85 + + v0.91-alpha2

    <script>

    -

    Executes the code contained within the task. This code can include custom extension function definitions. Once the script task has executed those custom functions will be available for use in the buildfile.

    +

    [This is preliminary documentation and subject to change.]

    +

    Executes the code contained within the task.

    +
    Code

    The <script> task must contain a single code element, which in turn contains the script code.

    -

    A static entry point named ScriptMain is required if no custom functions have been defined. It must have a single Project parameter.

    -

    The following namespaces are loaded by default:

    +

    This code can include extensions such as functions, or tasks. Once the script task has executed those extensions will be available for use in the buildfile.

    +

    If no extensions have been defined, a static entry point named ScriptMain - which must have a single Project argument - is required.

    +
    Namespaces
    +

    The following namespaces are imported by default:

    • System
    • System.Collections
    • -
    • System.Collections.Specialized
    • System.IO
    • System.Text
    • -
    • System.Text.RegularExpressions
    • NAnt.Core
    • +
    • NAnt.Core.Attributes
    +
    Assembly References
    +

    The assembly references that are specified will be used to compile the script, and will be loaded into the NAnt appdomain.

    +

    By default, only the NAnt.Core and mscorlib assemblies are referenced.

    Parameters

    @@ -94,38 +100,38 @@

    - - <references> + + <references>

    Any required references.

    - - </references> + + </references>

    - - <imports> + + <imports>

    The namespaces to import.

    - - </imports> + + </imports>

    - - <code> + + <code>

    The code to execute.

    Represents an element of which the XML is processed by its parent task or type.

    - - </code> + + </code>

    Examples

      @@ -211,39 +217,32 @@
    • Define a custom task and call it using C#.

      -
              <script language="C#" prefix="test" >
      -            <code>
      -              <![CDATA[
      -                [TaskName("usertask")]
      -                public class TestTask : Task {
      -                  #region Private Instance Fields
      -
      -                  private string _message;
      -
      -                  #endregion Private Instance Fields
      -
      -                  #region Public Instance Properties
      -
      -                  [TaskAttribute("message", Required=true)]
      -                  public string FileName {
      -                      get { return _message; }
      -                      set { _message = value; }
      -                  }
      -
      -                  #endregion Public Instance Properties
      -
      -                  #region Override implementation of Task
      -
      -                  protected override void ExecuteTask() {
      -                      Log(Level.Info, _message.ToUpper());
      -                  }
      -                  #endregion Override implementation of Task
      +        
            <script language="C#" prefix="test" >
      +          <code>
      +            <![CDATA[
      +              [TaskName("usertask")]
      +              public class TestTask : Task {
      +                #region Private Instance Fields
      +                            private string _message;
      +                            #endregion Private Instance Fields
      +                            #region Public Instance Properties
      +                            [TaskAttribute("message", Required=true)]
      +                public string FileName {
      +                    get { return _message; }
      +                    set { _message = value; }
                       }
      -              ]]>
      -            </code>
      -        </script>
      -        <usertask message='Hello from UserTask'/>
      -  
      + #endregion Public Instance Properties + #region Override implementation of Task + protected override void ExecuteTask() { + Log(Level.Info, _message.ToUpper()); + } + #endregion Override implementation of Task + } + ]]> + </code> + </script> + <usertask message='Hello from UserTask'/> +
    • Define a custom function and call it using Boo.

      @@ -264,7 +263,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/servicecontroller.html b/build-support/tools/nant/doc/help/tasks/servicecontroller.html index 40ebed33..27456024 100644 --- a/build-support/tools/nant/doc/help/tasks/servicecontroller.html +++ b/build-support/tools/nant/doc/help/tasks/servicecontroller.html @@ -19,11 +19,12 @@ ->Task Reference-> <servicecontroller> - +

    <servicecontroller>

    +

    [This is preliminary documentation and subject to change.]

    Allows a Windows service to be controlled.

    Parameters

    @@ -91,19 +92,19 @@
  • Starts the World Wide Web Publishing Service on the local computer.

    -<servicecontroller action="Start" service="w3svc" />
    -    
    + <servicecontroller action="Start" service="w3svc" /> +
  • Stops the Alerter service on computer 'MOTHER'.

    -<servicecontroller action="Stop" service="Alerter" machine="MOTHER" />
    -    
    + <servicecontroller action="Stop" service="Alerter" machine="MOTHER" /> +
  • Requirements

    - Assembly: NAnt.MSNetTasks (0.85.2478.0) + Assembly: NAnt.MSNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/setenv.html b/build-support/tools/nant/doc/help/tasks/setenv.html index 64af8ed4..2e631915 100644 --- a/build-support/tools/nant/doc/help/tasks/setenv.html +++ b/build-support/tools/nant/doc/help/tasks/setenv.html @@ -19,11 +19,12 @@ -> Task Reference -> <setenv> - - v0.85 + + v0.91-alpha2

    <setenv>

    +

    [This is preliminary documentation and subject to change.]

    Sets an environment variable or a whole collection of them. Use an empty value attribute to clear a variable.

    Note: Variables will be set for the current NAnt process and all child processes that NAnt spawns (compilers, shell tools, etc). If the intention is to only set a variable for a single child process, then using the <exec> task and its nested environment element might be a better option.

    @@ -99,8 +100,8 @@

    - - <variable> + + <variable>

    Represents an environment variable.

    @@ -161,20 +162,20 @@

    - - <path> + + <path>

    Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used.

    - - </path> + + </path>

    - - </variable> + + </variable>

    Examples

      @@ -217,7 +218,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/sleep.html b/build-support/tools/nant/doc/help/tasks/sleep.html index cb7a0d9a..ce16d242 100644 --- a/build-support/tools/nant/doc/help/tasks/sleep.html +++ b/build-support/tools/nant/doc/help/tasks/sleep.html @@ -19,11 +19,12 @@ -> Task Reference -> <sleep> - - v0.85 + + v0.91-alpha2

    <sleep>

    +

    [This is preliminary documentation and subject to change.]

    A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks.

    Parameters

    @@ -89,19 +90,19 @@
  • Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds.

    -<sleep hours="1" minutes="2" seconds="3" milliseconds="4" />
    -    
    + <sleep hours="1" minutes="2" seconds="3" milliseconds="4" /> +
  • Sleep 123 milliseconds.

    -<sleep milliseconds="123" />
    -    
    + <sleep milliseconds="123" /> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/solution.html b/build-support/tools/nant/doc/help/tasks/solution.html index 3183861f..8c2af60b 100644 --- a/build-support/tools/nant/doc/help/tasks/solution.html +++ b/build-support/tools/nant/doc/help/tasks/solution.html @@ -19,11 +19,12 @@ -> Task Reference -> <solution> - - v0.85 + + v0.91-alpha2

    <solution>

    +

    [This is preliminary documentation and subject to change.]

    Compiles VS.NET solutions (or sets of projects), automatically determining project dependencies from inter-project references.

    This task support the following projects:

      @@ -73,6 +74,12 @@ The directory where compiled targets will be placed. This overrides path settings contained in the solution/project. False + + platform + string + The name of platform to build the solution for. + False + solutionfile file @@ -109,58 +116,58 @@

      - - <projects> + + <projects>

      The projects to build.

      - - </projects> + + </projects>

      - - <referenceprojects> + + <referenceprojects>

      The projects to scan, but not build.

      - - </referenceprojects> + + </referenceprojects>

      - - <webmap> + + <webmap>

      WebMap of URL's to project references.
      <map>

      Represents a single mapping from URL project path to physical project path.

      Parameters

      AttributeTypeDescriptionRequired
      pathfile Specifies the actual path to the project file, or the path fragment to replace. True
      urlstring Specifies the URL of the project file, or a URL fragment to match. True
      casesensitivebool Specifies whether the mapping is case-sensitive or not. False
      ifbool Indicates if the URL of the project file should be mapped. False
      unlessbool Indicates if the URL of the project file should not be mapped. False
      </map>

      </webmap>

      - - <excludeprojects> + + <excludeprojects>

      Fileset of projects to exclude.

      - - </excludeprojects> + + </excludeprojects>

      - - <assemblyfolders> + + <assemblyfolders>

      Set of folders where references are searched when not found in path from project file (HintPath).

      - - </assemblyfolders> + + </assemblyfolders>

      Examples

        @@ -225,7 +232,7 @@

      Requirements

      - Assembly: NAnt.VSNetTasks (0.85.2478.0) + Assembly: NAnt.VSNetTasks (0.91.3881.0)
      \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/style.html b/build-support/tools/nant/doc/help/tasks/style.html index 89ab528c..21d56a1f 100644 --- a/build-support/tools/nant/doc/help/tasks/style.html +++ b/build-support/tools/nant/doc/help/tasks/style.html @@ -19,11 +19,12 @@ -> Task Reference -> <style> - - v0.85 + + v0.91-alpha2

      <style>

      +

      [This is preliminary documentation and subject to change.]

      Processes a document via XSLT.

      Parameters

      @@ -96,98 +97,98 @@

      - - <infiles> + + <infiles>

      Specifies a group of input files to which to apply the stylesheet.

      - - </infiles> + + </infiles>

      - - <parameters> + + <parameters>

      XSLT parameters to be passed to the XSLT transformation.
      <parameter>

      Represents an XSLT parameter.

      Parameters

      AttributeTypeDescriptionRequired
      namestring The name of the XSLT parameter. True
      valuestring The value of the XSLT parameter. True
      ifbool Indicates if the parameter should be added to the XSLT argument list. If true then the parameter will be added; otherwise, skipped. The default is true. False
      namespaceuristring The namespace URI to associate with the parameter. False
      unlessbool Indicates if the parameter should not be added to the XSLT argument list. If false then the parameter will be added; otherwise, skipped. The default is false. False
      </parameter>

      </parameters>

      - - <extensionobjects> + + <extensionobjects>

      XSLT extension objects to be passed to the XSLT transformation.
      <extensionobject>

      Represents an XSLT extension object. The object should have a default parameterless constructor and the return value should be one of the four basic XPath data types of number, string, Boolean or node set.

      Parameters

      AttributeTypeDescriptionRequired
      assemblyfile The assembly which contains the XSLT extension object. True
      typenamestring The full type name of the XSLT extension object. True
      ifbool Indicates if the extension object should be added to the XSLT argument list. If true then the extension object will be added; otherwise, skipped. The default is true. False
      namespaceuristring The namespace URI to associate with the extension object. False
      unlessbool Indicates if the extension object should not be added to the XSLT argument list. If false then the extension object will be added; otherwise, skipped. The default is false. False
      </extensionobject>

      </extensionobjects>

      - - <proxy> + + <proxy>

      The network proxy to use to access the Internet resource.

      - - </proxy> + + </proxy>

      Examples

      • Create a report in HTML.

        -<style style="report.xsl" in="data.xml" out="report.html" />
        -    
        + <style style="report.xsl" in="data.xml" out="report.html" /> +
      • Create a report in HTML, with a param.

        -<style style="report.xsl" in="data.xml" out="report.html">
        -    <parameters>
        -        <parameter name="reportType" namespaceuri="" value="Plain" />
        -    </parameters>
        -</style>
        -    
        + <style style="report.xsl" in="data.xml" out="report.html"> + <parameters> + <parameter name="reportType" namespaceuri="" value="Plain" /> + </parameters> + </style> +
      • Create a report in HTML, with a expanded param.

        -<style style="report.xsl" in="data.xml" out="report.html">
        -    <parameters>
        -        <parameter name="reportType" namespaceuri="" value="${report.type}" />
        -    </parameters>
        -</style>
        -    
        + <style style="report.xsl" in="data.xml" out="report.html"> + <parameters> + <parameter name="reportType" namespaceuri="" value="${report.type}" /> + </parameters> + </style> +
      • Create some code based on a directory of templates.

        -<style style="CodeGenerator.xsl" extension="java">
        -    <infiles>
        -        <include name="*.xml" />
        -    </infiles>
        -    <parameters>
        -        <parameter name="reportType" namespaceuri="" value="Plain" if="${report.plain}" />
        -    </parameters>
        -<style>
        -    
        + <style style="CodeGenerator.xsl" extension="java"> + <infiles> + <include name="*.xml" /> + </infiles> + <parameters> + <parameter name="reportType" namespaceuri="" value="Plain" if="${report.plain}" /> + </parameters> + <style> +
      • Create a report in HTML, with an extension object.

        -<style style="report.xsl" in="data.xml" out="report.html">
        -    <extensionobjects>
        -        <extensionobject namespaceuri="urn:Formatter" typename="XsltExtensionObjects.Formatter" assembly="XsltExtensionObjects.dll" />
        -    </extensionobjects>
        -</style>
        -    
        + <style style="report.xsl" in="data.xml" out="report.html"> + <extensionobjects> + <extensionobject namespaceuri="urn:Formatter" typename="XsltExtensionObjects.Formatter" assembly="XsltExtensionObjects.dll" /> + </extensionobjects> + </style> +

      Requirements

      - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
      \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/sysinfo.html b/build-support/tools/nant/doc/help/tasks/sysinfo.html index 45b37bc0..5488d168 100644 --- a/build-support/tools/nant/doc/help/tasks/sysinfo.html +++ b/build-support/tools/nant/doc/help/tasks/sysinfo.html @@ -19,11 +19,12 @@ -> Task Reference -> <sysinfo> - - v0.85 + + v0.91-alpha2

      <sysinfo>

      +

      [This is preliminary documentation and subject to change.]

      Sets properties with system information.

      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.

      @@ -93,31 +94,31 @@ - environment::get-operating-system() + environment::get-operating-system() Gets a OperatingSystem object that identifies this operating system. - environment::get-folder-path() + environment::get-folder-path() Gets the path to a system special folder. - environment::get-variable() + environment::get-variable() Returns the value of a environment variable. - path::get-temp-path() + path::get-temp-path() Gets the path to the temporary directory. - environment::get-version() + environment::get-version() Gets the Common Language Runtime version. @@ -187,7 +188,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/tar.html b/build-support/tools/nant/doc/help/tasks/tar.html index 6e9d6440..9e368c17 100644 --- a/build-support/tools/nant/doc/help/tasks/tar.html +++ b/build-support/tools/nant/doc/help/tasks/tar.html @@ -19,11 +19,12 @@ -> Task Reference -> <tar> - - v0.85 + + v0.91-alpha2

    <tar>

    +

    [This is preliminary documentation and subject to change.]

    Creates a tar file from the specified filesets.

    Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.

    Parameters

    @@ -44,7 +45,7 @@ compression - TarCompressionMethod + TarCompressionMethod The compression method. The default is None. False @@ -86,34 +87,34 @@

    - - <fileset> + + <fileset>

    The set of files to be included in the archive.

    - - </fileset> + + </fileset>

    Examples

    • Tar all files in ${build.dir} and ${doc.dir} into a file called "backup.tar.gz", and apply gzip compression to it.

      -<tar destfile="backup.tar.gz" compression="GZip">
      -    <fileset basedir="${bin.dir}" prefix="bin">
      -        <include name="**/*" />
      -    </fileset>
      -    <fileset basedir="${doc.dir}" prefix="doc">
      -        <include name="**/*" />
      -    </fileset>
      -</tar>
      -    
      + <tar destfile="backup.tar.gz" compression="GZip"> + <fileset basedir="${bin.dir}" prefix="bin"> + <include name="**/*" /> + </fileset> + <fileset basedir="${doc.dir}" prefix="doc"> + <include name="**/*" /> + </fileset> + </tar> +

    Requirements

    - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/tlbexp.html b/build-support/tools/nant/doc/help/tasks/tlbexp.html index b5492a26..d2166647 100644 --- a/build-support/tools/nant/doc/help/tasks/tlbexp.html +++ b/build-support/tools/nant/doc/help/tasks/tlbexp.html @@ -19,11 +19,12 @@ -> Task Reference -> <tlbexp> - - v0.85 + + v0.91-alpha2

    <tlbexp>

    +

    [This is preliminary documentation and subject to change.]

    Exports a .NET assembly to a type library that can be used from unmanaged code (wraps Microsoft's tlbexp.exe).

    See the Microsoft.NET Framework SDK documentation for details. @@ -102,10 +103,19 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -115,13 +125,13 @@

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -131,21 +141,21 @@
           

    - - </arg> + + </arg>

    Examples

    • Export DotNetAssembly.dll to LegacyCOM.dll.

      -<tlbexp assembly="DotNetAssembly.dll" output="LegacyCOM.dll" />
      -    
      + <tlbexp assembly="DotNetAssembly.dll" output="LegacyCOM.dll" /> +

    Requirements

    - Assembly: NAnt.Win32Tasks (0.85.2478.0) + Assembly: NAnt.Win32Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/tlbimp.html b/build-support/tools/nant/doc/help/tasks/tlbimp.html index b28d8603..06c69af4 100644 --- a/build-support/tools/nant/doc/help/tasks/tlbimp.html +++ b/build-support/tools/nant/doc/help/tasks/tlbimp.html @@ -19,11 +19,12 @@ -> Task Reference -> <tlbimp> - - v0.85 + + v0.91-alpha2

    <tlbimp>

    +

    [This is preliminary documentation and subject to change.]

    Imports a type library to a .NET assembly (wraps Microsoft's tlbimp.exe).

    This task lets you easily create interop assemblies. By default, it will not reimport if the underlying COM TypeLib or reference has not changed.

    @@ -163,6 +164,14 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + supportstransform bool @@ -172,7 +181,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -181,26 +191,26 @@

    - - <references> + + <references>

    Specifies the assembly files to use to resolve references to types defined outside the current type library.

    - - </references> + + </references>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -210,31 +220,31 @@
           

    - - </arg> + + </arg>

    Examples

    • Import LegacyCOM.dll to DotNetAssembly.dll.

      -<tlbimp typelib="LegacyCOM.dll" output="DotNetAssembly.dll" />
      -    
      + <tlbimp typelib="LegacyCOM.dll" output="DotNetAssembly.dll" /> +
    • Generate an assembly named "Interop.MSVidCtlLib.dll" for the MS Video Control 1.0 Type Library, transforming any [out, retval] parameters of methods on dispinterfaces in the type library into return values in the managed library.

      -<tlbimp typelib="msvidctl.dll" output="Interop.MSVidCtlLib.dll" transform="dispret">
      -    <references basedir="Interop">
      -        <include name="Interop.TunerLib.dll" />
      -    </references>
      -</tlbimp>
      -    
      + <tlbimp typelib="msvidctl.dll" output="Interop.MSVidCtlLib.dll" transform="dispret"> + <references basedir="Interop"> + <include name="Interop.TunerLib.dll" /> + </references> + </tlbimp> +

    Requirements

    - Assembly: NAnt.Win32Tasks (0.85.2478.0) + Assembly: NAnt.Win32Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/touch.html b/build-support/tools/nant/doc/help/tasks/touch.html index 374116a1..4007c1f1 100644 --- a/build-support/tools/nant/doc/help/tasks/touch.html +++ b/build-support/tools/nant/doc/help/tasks/touch.html @@ -19,11 +19,12 @@ -> Task Reference -> <touch> - - v0.85 + + v0.91-alpha2

    <touch>

    +

    [This is preliminary documentation and subject to change.]

    Touches a file or set of files -- corresponds to the Unix touch command.

    If the file specified does not exist, the task will create it.

    Parameters

    @@ -83,38 +84,38 @@

    - - <fileset> + + <fileset>

    Used to select files that should be touched.

    - - </fileset> + + </fileset>

    Examples

    • Touch the Main.cs file. The current time is used.

      -<touch file="Main.cs" />
      -    
      + <touch file="Main.cs" /> +
    • Touch all executable files in the project base directory and its subdirectories.

      -<touch>
      -    <fileset>
      -        <include name="**/*.exe" />
      -        <include name="**/*.dll" />
      -    </fileset>
      -</touch>
      -    
      + <touch> + <fileset> + <include name="**/*.exe" /> + <include name="**/*.dll" /> + </fileset> + </touch> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/tstamp.html b/build-support/tools/nant/doc/help/tasks/tstamp.html index 2bd2b70a..1f1fc060 100644 --- a/build-support/tools/nant/doc/help/tasks/tstamp.html +++ b/build-support/tools/nant/doc/help/tasks/tstamp.html @@ -19,11 +19,12 @@ -> Task Reference -> <tstamp> - - v0.85 + + v0.91-alpha2

    <tstamp>

    +

    [This is preliminary documentation and subject to change.]

    Sets properties with the current date and time.

    By default the <tstamp> task displays the current date and time and sets the following properties:

      @@ -85,8 +86,8 @@

      - - <formatter> + + <formatter>

      @@ -129,8 +130,8 @@

      - - </formatter> + + </formatter>

      Examples

        @@ -153,7 +154,7 @@

      Requirements

      - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
      \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/unzip.html b/build-support/tools/nant/doc/help/tasks/unzip.html index 39c76787..3ba1dc98 100644 --- a/build-support/tools/nant/doc/help/tasks/unzip.html +++ b/build-support/tools/nant/doc/help/tasks/unzip.html @@ -19,13 +19,14 @@ -> Task Reference -> <unzip> - - v0.85 + + v0.91-alpha2

      <unzip>

      -

      Extracts files from a zip file.

      -

      Uses #ziplib (SharpZipLib), an open source Zip/GZip library written entirely in C#.

      +

      [This is preliminary documentation and subject to change.]

      +

      Extracts files from a zip archive.

      +

      Uses #ziplib (SharpZipLib), an open source Zip/GZip library written entirely in C#.

      Parameters

      @@ -67,6 +68,12 @@ + + + + + + @@ -86,13 +93,13 @@
    • Extracts all the file from the zip, preserving the directory structure.

      -<unzip zipfile="backup.zip"/>
      -    
      + <unzip zipfile="backup.zip"/> +
    • Requirements

      - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
      \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/uptodate.html b/build-support/tools/nant/doc/help/tasks/uptodate.html index 5b61f681..8a99f4dd 100644 --- a/build-support/tools/nant/doc/help/tasks/uptodate.html +++ b/build-support/tools/nant/doc/help/tasks/uptodate.html @@ -19,19 +19,20 @@ ->Task Reference-> <uptodate> - +
      If true then the task will be executed; otherwise, skipped. The default is true. False
      overwritebool Overwrite files, even if they are newer than the corresponding entries in the archive. The default is true. False
      unless bool

      <uptodate>

      -

      Check modification dates on groups of files.

      If all targetfiles are same or newer than all sourcefiles, the specified property is set to true, otherwise it is set to false.

      Parameters

      AttributeTypeDescriptionRequired
      propertystring Property that will be set to true or false depending on the result of the date check. True
      failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
      ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
      unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
      verbosebool Determines whether the task should report detailed build log messages. The default is false. False

      Nested Elements:

      - <sourcefiles> -

      The <fileset> that contains list of source files.

      - </sourcefiles> -

      - <targetfiles> -

      The <fileset> that contains list of target files.

      - </targetfiles> +

      [This is preliminary documentation and subject to change.]

      +

      Check modification dates on groups of files.

      If all targetfiles are same or newer than all sourcefiles, the specified property is set to true, otherwise it is set to false.

      Parameters

      AttributeTypeDescriptionRequired
      propertystring Property that will be set to true or false depending on the result of the date check. True
      failonerrorbool Determines if task failure stops the build, or is just reported. The default is true. False
      ifbool If true then the task will be executed; otherwise, skipped. The default is true. False
      unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
      verbosebool Determines whether the task should report detailed build log messages. The default is false. False

      Nested Elements:

      + <sourcefiles> +

      The <fileset> that contains list of source files.

      + </sourcefiles> +

      + <targetfiles> +

      The <fileset> that contains list of target files.

      + </targetfiles>

      Examples

      • Check file dates. If myfile.dll is same or newer than myfile.cs, then set myfile.dll.uptodate property to either true or false.

         <uptodate property="myfile.dll.uptodate">
             <sourcefiles>
        @@ -41,6 +42,6 @@
                 <include name="myfile.dll" />
             </targetfiles>
         </uptodate>
        -    

      Requirements

      Assembly: NAnt.Core (0.85.2478.0) +

    Requirements

    Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/vbc.html b/build-support/tools/nant/doc/help/tasks/vbc.html index ecee8065..b1b1cc21 100644 --- a/build-support/tools/nant/doc/help/tasks/vbc.html +++ b/build-support/tools/nant/doc/help/tasks/vbc.html @@ -19,11 +19,12 @@ -> Task Reference -> <vbc> - - v0.85 + + v0.91-alpha2

    <vbc>

    +

    [This is preliminary documentation and subject to change.]

    Compiles Visual Basic.NET programs.

    Note: In order to have <vbc> task generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the prefix attribute of the <resources> element should match the "Root namespace" of the VB.NET project, and the value of the dynamicprefix attribute should be set to "false".

    @@ -129,6 +130,14 @@ Define conditional compilation symbol(s). False + + delaysign + + DelaySign + + Specifies whether to delay sign the assembly using only the public portion of the strong name key. The default is NotSet. + False + failonerror bool @@ -202,6 +211,12 @@ Icon to associate with the application. False + + win32res + file + Specifies a Win32 resource file (.res). + False +

    Framework-configurable parameters

    @@ -219,12 +234,26 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + nostdlib bool Instructs the compiler not to reference standard libraries (system.dll and VBC.RSP). The default is false. Only supported when targeting .NET 2.0 (or higher). False + + supportsdelaysign + bool + Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is false. + False + supportsdocgeneration bool @@ -276,7 +305,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -285,65 +315,65 @@

    - - <imports> + + <imports>

    The namespaces to import.

    - - </imports> + + </imports>

    - - <warnaserror> + + <warnaserror>

    Controls which warnings should be reported as errors.

    - - </warnaserror> + + </warnaserror>

    - - <nowarn> + + <nowarn>

    Specifies a list of warnings that you want the compiler to suppress.
    <warning>

    Represents a compiler warning.

    Parameters

    AttributeTypeDescriptionRequired
    numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </warning>

    </nowarn>

    - - <lib> + + <lib>

    Deprecated. Additional directories to search in for assembly references.

    - - </lib> + + </lib>

    - - <references> + + <references>

    Reference metadata from the specified assembly files.

    - - </references> + + </references>

    - - <pkg-references> + + <pkg-references>

    Specifies list of packages to reference.
    <package>

    Represents a package.

    Parameters

    AttributeTypeDescriptionRequired
    namestring Name of the package to reference. Multiple package can be specified with a single element as a semi-colon separated list of package names. True
    ifbool Indicates if the package should be passed to the task. If true then the package will be passed; otherwise, skipped. The default is true. False
    unlessbool Indicates if the package should not be passed to the task. If false then the package will be passed; otherwise, skipped. The default is false. False
    </package>

    </pkg-references>

    @@ -351,50 +381,50 @@

    - - <resources> + + <resources>

    Resources to embed.

    - - </resources> + + </resources>

    - - <modules> + + <modules>

    Link the specified modules into this assembly.

    - - </modules> + + </modules>

    - - <sources> + + <sources>

    The set of source files for compilation.

    - - </sources> + + </sources>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -404,8 +434,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -443,7 +473,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/vjc.html b/build-support/tools/nant/doc/help/tasks/vjc.html index 5600dbdb..10c9cdd5 100644 --- a/build-support/tools/nant/doc/help/tasks/vjc.html +++ b/build-support/tools/nant/doc/help/tasks/vjc.html @@ -19,11 +19,12 @@ -> Task Reference -> <vjc> - - v0.85 + + v0.91-alpha2

    <vjc>

    +

    [This is preliminary documentation and subject to change.]

    Compiles Visual J# programs using vjc, Microsoft's J# compiler.

    Note: In order to have <vjc> task generate manifest resource names that match those generated by Microsoft Visual Studio.NET, the value of the prefix attribute of the <resources> element should match the "Default Package" of the J#.NET project, and the value of the dynamicprefix attribute should be set to "true".

    @@ -98,6 +99,14 @@ Define conditional compilation symbol(s). False + + delaysign + + DelaySign + + Specifies whether to delay sign the assembly using only the public portion of the strong name key. The default is NotSet. + False + failonerror bool @@ -171,6 +180,12 @@ Icon to associate with the application. False + + win32res + file + Specifies a Win32 resource file (.res). + False +

    Framework-configurable parameters

    @@ -188,6 +203,20 @@ The name of the executable that should be used to launch the external program. False + + managed + + ManagedExecution + + Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. + False + + + supportsdelaysign + bool + Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is false. + False + supportskeycontainer bool @@ -215,7 +244,8 @@ useruntimeengine bool - Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. + + Deprecated. Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is false. False @@ -224,72 +254,72 @@

    - - <nowarn> + + <nowarn>

    Specifies a list of warnings that you want the compiler to suppress.
    <warning>

    Represents a compiler warning.

    Parameters

    AttributeTypeDescriptionRequired
    numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False
    </warning>

    </nowarn>

    - - <lib> + + <lib>

    Deprecated. Additional directories to search in for assembly references.

    - - </lib> + + </lib>

    - - <references> + + <references>

    Reference metadata from the specified assembly files.

    - - </references> + + </references>

    - - <resources> + + <resources>

    Resources to embed.

    - - </resources> + + </resources>

    - - <sources> + + <sources>

    The set of source files for compilation.

    - - </sources> + + </sources>

    - - <arg> + + <arg>

    -
    The command-line arguments for the external program.

    Represents a command-line argument.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    - <path> -

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    - </path> +
    The command-line arguments for the external program.

    Represents a command-line argument.

    When passed to an external application, the argument will be quoted when appropriate. This does not apply to the line parameter, which is always passed as is.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. False
    filefile The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. False
    ifbool Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. False
    linestring List of command-line arguments; will be passed to the executable as is. False
    path<path> The value for a PATH-like command-line argument; you can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. False
    valuestring A single command-line argument; can contain space characters. False

    Nested Elements:

    + <path> +

    Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

    + </path>

    Examples

    • A single command-line argument containing a space character.

       <arg value="-l -a" />
           
    • Two separate command-line arguments.

      @@ -299,8 +329,8 @@
           

    - - </arg> + + </arg>

    Examples

      @@ -327,7 +357,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/xmlpeek.html b/build-support/tools/nant/doc/help/tasks/xmlpeek.html index 608bc7e1..e0443107 100644 --- a/build-support/tools/nant/doc/help/tasks/xmlpeek.html +++ b/build-support/tools/nant/doc/help/tasks/xmlpeek.html @@ -19,11 +19,12 @@ -> Task Reference -> <xmlpeek> - - v0.85 + + v0.91-alpha2

    <xmlpeek>

    +

    [This is preliminary documentation and subject to change.]

    Extracts text from an XML file at the location specified by an XPath expression.

    If the XPath expression specifies multiple nodes the node index is used to determine which of the nodes' text is returned.

    Parameters

    @@ -89,8 +90,8 @@

    - - <namespaces> + + <namespaces>

    Namespace definitions to resolve prefixes in the XPath expression.
    <namespace>

    Represents an XML namespace.

    Parameters

    AttributeTypeDescriptionRequired
    prefixstring The prefix to associate with the namespace. True
    uristring The associated XML namespace URI. True
    ifbool Indicates if the namespace should be added to the XmlNamespaceManager. If true then the namespace will be added; otherwise, skipped. The default is true. False
    unlessbool Indicates if the namespace should not be added to the XmlNamespaceManager. list. If false then the parameter will be added; otherwise, skipped. The default is false. False
    </namespace>

    </namespaces>

    @@ -99,31 +100,31 @@
  • The example provided assumes that the following XML file (App.config) exists in the current build directory.

    -<?xml version="1.0" encoding="utf-8" ?>
    -<configuration xmlns="http://www.gordic.cz/shared/project-config/v_1.0.0.0">
    -    <appSettings>
    -        <add key="server" value="testhost.somecompany.com" />
    -    </appSettings>
    -</configuration>
    -    
    + <?xml version="1.0" encoding="utf-8" ?> + <configuration xmlns="http://www.gordic.cz/shared/project-config/v_1.0.0.0"> + <appSettings> + <add key="server" value="testhost.somecompany.com" /> + </appSettings> + </configuration> +
  • The example will read the server value from the above configuration file.

    -<xmlpeek
    -    file="App.config"
    -    xpath="/x:configuration/x:appSettings/x:add[@key = 'server']/@value"
    -    property="configuration.server">
    -    <namespaces>
    -        <namespace prefix="x" uri="http://www.gordic.cz/shared/project-config/v_1.0.0.0" />
    -    </namespaces>
    -</xmlpeek>
    -    
    + <xmlpeek + file="App.config" + xpath="/x:configuration/x:appSettings/x:add[@key = 'server']/@value" + property="configuration.server"> + <namespaces> + <namespace prefix="x" uri="http://www.gordic.cz/shared/project-config/v_1.0.0.0" /> + </namespaces> + </xmlpeek> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/xmlpoke.html b/build-support/tools/nant/doc/help/tasks/xmlpoke.html index 0328c41a..2532e9de 100644 --- a/build-support/tools/nant/doc/help/tasks/xmlpoke.html +++ b/build-support/tools/nant/doc/help/tasks/xmlpoke.html @@ -19,11 +19,12 @@ -> Task Reference -> <xmlpoke> - - v0.85 + + v0.91-alpha2

    <xmlpoke>

    +

    [This is preliminary documentation and subject to change.]

    Replaces text in an XML file at the location specified by an XPath expression.

    The location specified by the XPath expression must exist, it will not create the parent elements for you. However, provided you have a root element you could use a series of the tasks to build the XML file up if necessary.

    Parameters

    @@ -53,6 +54,12 @@ The XPath expression used to select which nodes are to be modified. True + + preserveWhitespace + bool + Namespace definitions to resolve prefixes in the XPath expression. + False + failonerror bool @@ -83,8 +90,8 @@

    - - <namespaces> + + <namespaces>

    Namespace definitions to resolve prefixes in the XPath expression.
    <namespace>

    Represents an XML namespace.

    Parameters

    AttributeTypeDescriptionRequired
    prefixstring The prefix to associate with the namespace. True
    uristring The associated XML namespace URI. True
    ifbool Indicates if the namespace should be added to the XmlNamespaceManager. If true then the namespace will be added; otherwise, skipped. The default is true. False
    unlessbool Indicates if the namespace should not be added to the XmlNamespaceManager. list. If false then the parameter will be added; otherwise, skipped. The default is false. False
    </namespace>

    </namespaces>

    @@ -94,42 +101,42 @@

    Change the server setting in the configuration from testhost.somecompany.com to productionhost.somecompany.com.

    XML file:

    -<?xml version="1.0" encoding="utf-8" ?>
    -<configuration>
    -    <appSettings>
    -        <add key="server" value="testhost.somecompany.com" />
    -    </appSettings>
    -</configuration>
    -    
    + <?xml version="1.0" encoding="utf-8" ?> + <configuration> + <appSettings> + <add key="server" value="testhost.somecompany.com" /> + </appSettings> + </configuration> +

    Build fragment:

    -<xmlpoke
    -    file="App.config"
    -    xpath="/configuration/appSettings/add[@key = 'server']/@value"
    -    value="productionhost.somecompany.com" />
    -    
    + <xmlpoke + file="App.config" + xpath="/configuration/appSettings/add[@key = 'server']/@value" + value="productionhost.somecompany.com" /> +
  • Modify the noNamespaceSchemaLocation in an XML file.

    XML file:

    -<?xml version="1.0" encoding="utf-8" ?>
    -<Commands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Path Value">
    -</Commands>
    -    
    + <?xml version="1.0" encoding="utf-8" ?> + <Commands xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Path Value"> + </Commands> +

    Build fragment:

    -<xmlpoke file="test.xml" xpath="/Commands/@xsi:noNamespaceSchemaLocation" value="d:\Commands.xsd">
    -    <namespaces>
    -        <namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" />
    -    </namespaces>
    -</xmlpoke>
    -    
    + <xmlpoke file="test.xml" xpath="/Commands/@xsi:noNamespaceSchemaLocation" value="d:\Commands.xsd"> + <namespaces> + <namespace prefix="xsi" uri="http://www.w3.org/2001/XMLSchema-instance" /> + </namespaces> + </xmlpoke> +
  • Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/zip.html b/build-support/tools/nant/doc/help/tasks/zip.html index 5b078c25..1e7add6b 100644 --- a/build-support/tools/nant/doc/help/tasks/zip.html +++ b/build-support/tools/nant/doc/help/tasks/zip.html @@ -19,13 +19,14 @@ -> Task Reference -> <zip> - - v0.85 + + v0.91-alpha2

    <zip>

    +

    [This is preliminary documentation and subject to change.]

    Creates a zip file from the specified filesets.

    -

    Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.

    +

    Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.

    Parameters

    @@ -112,34 +113,34 @@

    - - <fileset> + + <fileset>

    The set of files to be included in the archive.

    - - </fileset> + + </fileset>

    Examples

    • Zip all files in ${build.dir} and ${doc.dir} into a file called "backup.zip".

      -<zip zipfile="backup.zip">
      -    <fileset basedir="${bin.dir}" prefix="bin">
      -        <include name="**/*" />
      -    </fileset>
      -    <fileset basedir="${doc.dir}" prefix="doc">
      -        <include name="**/*" />
      -    </fileset>
      -</zip>
      -    
      + <zip zipfile="backup.zip"> + <fileset basedir="${bin.dir}" prefix="bin"> + <include name="**/*" /> + </fileset> + <fileset basedir="${doc.dir}" prefix="doc"> + <include name="**/*" /> + </fileset> + </zip> +

    Requirements

    - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/assemblyfileset.html b/build-support/tools/nant/doc/help/types/assemblyfileset.html index 6b9c78a9..02b2085c 100644 --- a/build-support/tools/nant/doc/help/types/assemblyfileset.html +++ b/build-support/tools/nant/doc/help/types/assemblyfileset.html @@ -19,18 +19,20 @@ ->Type Reference-> <assemblyfileset> - +

    <assemblyfileset>

    +

    [This is preliminary documentation and subject to change.]

    Specialized <fileset> class for managing assembly files.

    If an include pattern does not contain any wildcard characters then the assembly will be searched for in following locations (in the order listed):

    • The base directory of the fileset.
    • The directories specified using the nested <lib> element.
    • -
    • The assembly directory of the current target framework.
    • +
    • The list of reference assemblies of the current target framework.
    +

    The reference assemblies of a given target framework are defined using <reference-assemblies> filesets in the <framework> node of the NAnt configuration file.

    Parameters

    @@ -46,6 +48,12 @@ + + + + + + @@ -76,136 +84,152 @@

    - - <lib> + + <lib>

    -
    Additional directories to search in for assembly references.

    A specialized <fileset> used for setting the lib directories.

    The primary reason for this class is to allow the BaseDirectory to always be the same value as the parent <assemblyfileset>

    Parameters

    The base of the directory of this fileset. The default is the project base directory. False
    casesensitivebool Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. False
    defaultexcludes bool
    AttributeTypeDescriptionRequired
    defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
    failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
    idstring The ID used to be referenced later. False
    refidstring The ID to use as the reference. False

    Nested Elements:

    - <includes> -

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - </includes> -

    - <include> -

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - </include> -

    - <excludes> -

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - </excludes> -

    - <exclude> -

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - </exclude> -

    - <includesList> -

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - </includesList> -

    - <includesfile> -

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - </includesfile> -

    - <excludesfile> -

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - </excludesfile> +
    Additional directories to search in for assembly references.

    A specialized <fileset> used for setting the lib directories.

    The primary reason for this class is to allow the BaseDirectory to always be the same value as the parent <assemblyfileset>

    Parameters

    AttributeTypeDescriptionRequired
    casesensitivebool Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. False
    defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
    failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
    idstring The ID used to be referenced later. False
    refidstring The ID to use as the reference. False

    Nested Elements:

    + <includes> +

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    + </includes> +

    + <include> +

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    + </include> +

    + <excludes> +

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    + </excludes> +

    + <exclude> +

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    + </exclude> +

    + <includesList> +

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    + </includesList> +

    + <includesfile> +

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    + </includesfile> +

    + <excludesfile> +

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    + </excludesfile> +

    + <patternset> +

    Adds a nested set of patterns, or references a standalone patternset.

    + </patternset>

    - - </lib> + + </lib>

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Examples

      @@ -249,7 +273,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)

    See Also

    <fileset> diff --git a/build-support/tools/nant/doc/help/types/categories.html b/build-support/tools/nant/doc/help/types/categories.html index b6738eb2..fc3dbe37 100644 --- a/build-support/tools/nant/doc/help/types/categories.html +++ b/build-support/tools/nant/doc/help/types/categories.html @@ -19,11 +19,12 @@ -> Type Reference -> <categories> - - v0.85 + + v0.91-alpha2

    <categories>

    +

    [This is preliminary documentation and subject to change.]

    Controls the categories of tests to execute using the <nunit2> task.

    Parameters

    @@ -53,27 +54,27 @@

    - - <include> + + <include>

    Specifies a list of categories to include.

    Represents a certain group of test cases or fixtures.

    Parameters

    AttributeTypeDescriptionRequired
    namestring A name of a category, or comma-separated list of names. True
    ifbool If true then the category will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the category will be skipped; otherwise, processed. The default is false. False

    - - </include> + + </include>

    - - <exclude> + + <exclude>

    Specifies a list of categories to exclude.

    Represents a certain group of test cases or fixtures.

    Parameters

    AttributeTypeDescriptionRequired
    namestring A name of a category, or comma-separated list of names. True
    ifbool If true then the category will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the category will be skipped; otherwise, processed. The default is false. False

    - - </exclude> + + </exclude>

    Examples

      @@ -96,7 +97,7 @@

    Requirements

    - Assembly: NAnt.NUnit2Tasks (0.85.2478.0) + Assembly: NAnt.NUnit2Tasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/credential.html b/build-support/tools/nant/doc/help/types/credential.html index 11fde99c..3cee0437 100644 --- a/build-support/tools/nant/doc/help/types/credential.html +++ b/build-support/tools/nant/doc/help/types/credential.html @@ -19,11 +19,12 @@ -> Type Reference -> <credential> - - v0.85 + + v0.91-alpha2

    <credential>

    +

    [This is preliminary documentation and subject to change.]

    Provides credentials for password-based authentication schemes.

    Parameters

    @@ -80,7 +81,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/cvsfileset.html b/build-support/tools/nant/doc/help/types/cvsfileset.html index ec853ade..d59484c8 100644 --- a/build-support/tools/nant/doc/help/types/cvsfileset.html +++ b/build-support/tools/nant/doc/help/types/cvsfileset.html @@ -19,11 +19,12 @@ -> Type Reference -> <cvsfileset> - - v0.85 + + v0.91-alpha2

    <cvsfileset>

    +

    [This is preliminary documentation and subject to change.]

    A <cvsfileset> is a <fileset> with extra attributes useful in the context of the <cvs> task.

    Parameters

    @@ -46,6 +47,12 @@ The base of the directory of this fileset. The default is the project base directory. False + + casesensitive + bool + Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. + False + defaultexcludes bool @@ -77,99 +84,111 @@

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Requirements

    - Assembly: NAnt.SourceControlTasks (0.85.2478.0) + Assembly: NAnt.SourceControlTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/dirset.html b/build-support/tools/nant/doc/help/types/dirset.html index 1e3ea5a9..58a4d65f 100644 --- a/build-support/tools/nant/doc/help/types/dirset.html +++ b/build-support/tools/nant/doc/help/types/dirset.html @@ -19,39 +19,44 @@ -> Type Reference -> <dirset> - - v0.85 + + v0.91-alpha2

    <dirset>

    -

    A specialized <fileset> used for specifying a set of directories.

    Hint for supporting tasks that the included directories instead of files should be used.

    Parameters

    AttributeTypeDescriptionRequired
    basedirdirectory The base of the directory of this fileset. The default is the project base directory. False
    defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
    failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
    idstring The ID used to be referenced later. False
    refidstring The ID to use as the reference. False

    Nested Elements:

    - <includes> -

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - </includes> -

    - <include> -

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - </include> -

    - <excludes> -

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - </excludes> -

    - <exclude> -

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - </exclude> -

    - <includesList> -

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - </includesList> -

    - <includesfile> -

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - </includesfile> -

    - <excludesfile> -

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - </excludesfile> -

    Requirements

    Assembly: NAnt.Core (0.85.2478.0) +

    [This is preliminary documentation and subject to change.]

    +

    A specialized <fileset> used for specifying a set of directories.

    Hint for supporting tasks that the included directories instead of files should be used.

    Parameters

    AttributeTypeDescriptionRequired
    basedirdirectory The base of the directory of this fileset. The default is the project base directory. False
    casesensitivebool Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. False
    defaultexcludesbool Indicates whether default excludes should be used or not. The default is true. False
    failonemptybool When set to true, causes the fileset element to throw a ValidationException when no files match the includes and excludes criteria. The default is false. False
    idstring The ID used to be referenced later. False
    refidstring The ID to use as the reference. False

    Nested Elements:

    + <includes> +

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    + </includes> +

    + <include> +

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    + </include> +

    + <excludes> +

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    + </excludes> +

    + <exclude> +

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    + </exclude> +

    + <includesList> +

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    + </includesList> +

    + <includesfile> +

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    + </includesfile> +

    + <excludesfile> +

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    + </excludesfile> +

    + <patternset> +

    Adds a nested set of patterns, or references a standalone patternset.

    + </patternset> +

    Requirements

    Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/fileset.html b/build-support/tools/nant/doc/help/types/fileset.html index ac77dbd0..63e1cfa6 100644 --- a/build-support/tools/nant/doc/help/types/fileset.html +++ b/build-support/tools/nant/doc/help/types/fileset.html @@ -19,11 +19,12 @@ -> Type Reference -> <fileset> - - v0.85 + + v0.91-alpha2

    <fileset>

    +

    [This is preliminary documentation and subject to change.]

    Filesets are groups of files. These files can be found in a directory tree starting in a base directory and are matched by patterns taken from a number of patterns. Filesets can appear inside tasks that support this feature or at the project level, i.e., as children of <project>.

    Patterns

    As described earlier, patterns are used for the inclusion and exclusion. These patterns look very much like the patterns used in DOS and UNIX:

    @@ -45,6 +46,8 @@

    Matching is done per-directory. This means that first the first directory in the pattern is matched against the first directory in the path to match. Then the second directory is matched, and so on. For example, when we have the pattern /?abc/*/*.cs and the path /xabc/foobar/test.cs, the first ?abc is matched with xabc, then * is matched with foobar, and finally *.cs is matched with test.cs. They all match, so the path matches the pattern.

    To make things a bit more flexible, we added one extra feature, which makes it possible to match multiple directory levels. This can be used to match a complete directory tree, or a file anywhere in the directory tree. To do this, ** must be used as the name of a directory. When ** is used as the name of a directory in the pattern, it matches zero or more directories. For example: /test/** matches all files/directories under /test/, such as /test/x.cs, or /test/foo/bar/xyz.html, but not /xyz.xml.

    There is one "shorthand" - if a pattern ends with / or \, then ** is appended. For example, mypackage/test/ is interpreted as if it were mypackage/test/**.

    +

    Case-Sensitivity

    +

    By default, pattern matching is case-sensitive on Unix and case-insensitive on other platforms. The casesensitive parameter can be used to override this.

    Default Excludes

    There are a set of definitions that are excluded by default from all tasks that use filesets. They are:

      @@ -62,6 +65,7 @@
    • **/SCCS
    • **/SCCS/**
    • **/vssver.scc
    • +
    • **/vssver2.scc
    • **/_vti_cnf/**

    If you do not want these default excludes applied, you may disable them by setting defaultexcludes to false.

    @@ -80,6 +84,12 @@ The base of the directory of this fileset. The default is the project base directory. False + + casesensitive + bool + Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. + False + defaultexcludes bool @@ -111,95 +121,107 @@

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Examples

      @@ -276,7 +298,9 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    +

    See Also

    + <patternset> \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/filterchain.html b/build-support/tools/nant/doc/help/types/filterchain.html index 12e4bcc2..0534bc37 100644 --- a/build-support/tools/nant/doc/help/types/filterchain.html +++ b/build-support/tools/nant/doc/help/types/filterchain.html @@ -19,11 +19,12 @@ -> Type Reference -> <filterchain> - - v0.85 + + v0.91-alpha2

    <filterchain>

    +

    [This is preliminary documentation and subject to change.]

    Represent a chain of NAnt filters that can be applied to a Task.

    A FilterChain represents a collection of one or more filters that can be appled to a Task such as the <copy> task. In the case of the <copy> task, the contents of the copied files are filtered through each filter specified in the filter chain. Filtering occurs in the order the filters are specified with filtered output of one filter feeding into another.

    :--------:--->:----------:--->:----------: ... :----------:--->:--------:

    :.Source.:--->:.Filter 1.:--->:.Filter 2.: ... :.Filter n.:--->:.target.:

    :--------:--->:----------:--->:----------: ... :----------:--->:--------:

    @@ -72,14 +73,14 @@

    - - <filter> + + <filter>

    The filters to apply.

    Allows a file's content to be modified while performing an operation.

    Parameters

    AttributeTypeDescriptionRequired
    ifbool If true then the filter will be used; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the filter will be executed; otherwise, skipped. The default is false. False

    - - </filter> + + </filter>

    Examples

      @@ -103,7 +104,7 @@

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/index.html b/build-support/tools/nant/doc/help/types/index.html index 9afd267e..ea3b14cf 100644 --- a/build-support/tools/nant/doc/help/types/index.html +++ b/build-support/tools/nant/doc/help/types/index.html @@ -16,14 +16,15 @@ -> Help - -> - Type Reference + -> + Type Reference - - v0.85 + + v0.91-alpha2

    Type Reference

    +

    [This is preliminary documentation and subject to change.]

    @@ -72,6 +73,14 @@ + + + + + + + + - +
    Represent a chain of NAnt filters that can be applied to a Task.
    + moduleset + +

    One or more modules to compile into an assembly.

    +
    namespaceimports @@ -86,6 +95,12 @@

    Paths are groups of files and/or directories that need to be passed as a single unit. The order in which parts of the path are specified in the build file is retained, and duplicate parts are automatically suppressed.

    + patternset + A set of patterns, mostly used to include or exclude certain files.
    proxy diff --git a/build-support/tools/nant/doc/help/types/namespaceimports.html b/build-support/tools/nant/doc/help/types/namespaceimports.html index 45a68714..b01e1a06 100644 --- a/build-support/tools/nant/doc/help/types/namespaceimports.html +++ b/build-support/tools/nant/doc/help/types/namespaceimports.html @@ -19,11 +19,12 @@ -> Type Reference -> <namespaceimports>

    <namespaceimports>

    +

    [This is preliminary documentation and subject to change.]

    Contains a collection of NamespaceImport items.

    Parameters

    @@ -52,14 +53,14 @@

    - - <import> + + <import>

    Adds a NamespaceImport to the end of the collection.

    Represents a namespace to import.

    Parameters

    AttributeTypeDescriptionRequired
    ifbool Indicates if the import should be generated. False
    namestringDeprecated. The name of the namespace to import. False
    namespacestring The name of the namespace to import. False
    unlessbool Indicates if the import should be not generated. False

    - - </import> + + </import>

    Examples

      @@ -88,7 +89,7 @@

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/path.html b/build-support/tools/nant/doc/help/types/path.html index 6b82da28..e720001a 100644 --- a/build-support/tools/nant/doc/help/types/path.html +++ b/build-support/tools/nant/doc/help/types/path.html @@ -19,11 +19,12 @@ -> Type Reference -> <path> - - v0.85 + + v0.91-alpha2

    <path>

    +

    [This is preliminary documentation and subject to change.]

    Paths are groups of files and/or directories that need to be passed as a single unit. The order in which parts of the path are specified in the build file is retained, and duplicate parts are automatically suppressed.

    @@ -54,42 +55,42 @@

    - - <path> + + <path>

    Defines a set of path elements to add to the current path.

    - - </path> + + </path>

    - - <pathelement> + + <pathelement>

    Defines a path element to add to the current path.

    Represents a nested path element.

    Parameters

    AttributeTypeDescriptionRequired
    dirdirectory The name of a directory to add to the path. Will be replaced with the absolute path of the directory. False
    filefile The name of a file to add to the path. Will be replaced with the absolute path of the file. False
    ifbool If true then the entry will be added to the path; otherwise, skipped. The default is true. False
    path<path> A string that will be treated as a path-like string. You can use : or ; as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. False
    unlessbool Opposite of if. If false then the entry will be added to the path; otherwise, skipped. The default is false. False

    - - </pathelement> + + </pathelement>

    Examples

    • Define a global <path> that can be referenced by other tasks or types.

      -      <path id="includes-path">
      -          <pathelement path="%INCLUDE%" />
      -          <pathelement dir="${build.dir}/include" />
      -      </path>
      -  
      + <path id="includes-path"> + <pathelement path="%INCLUDE%" /> + <pathelement dir="${build.dir}/include" /> + </path> +

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/proxy.html b/build-support/tools/nant/doc/help/types/proxy.html index 9b988544..54ac44e5 100644 --- a/build-support/tools/nant/doc/help/types/proxy.html +++ b/build-support/tools/nant/doc/help/types/proxy.html @@ -19,11 +19,12 @@ -> Type Reference -> <proxy> - - v0.85 + + v0.91-alpha2

    <proxy>

    +

    [This is preliminary documentation and subject to change.]

    Contains HTTP proxy settings used to process requests to Internet resources.

    Parameters

    @@ -82,18 +83,18 @@

    - - <credentials> + + <credentials>

    The credentials to submit to the proxy server for authentication.

    - - </credentials> + + </credentials>

    Requirements

    - Assembly: NAnt.Core (0.85.2478.0) + Assembly: NAnt.Core (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/resourcefileset.html b/build-support/tools/nant/doc/help/types/resourcefileset.html index 358996ad..6bd6d61f 100644 --- a/build-support/tools/nant/doc/help/types/resourcefileset.html +++ b/build-support/tools/nant/doc/help/types/resourcefileset.html @@ -19,11 +19,12 @@ -> Type Reference -> <resourcefileset> - - v0.85 + + v0.91-alpha2

    <resourcefileset>

    +

    [This is preliminary documentation and subject to change.]

    Specialized <fileset> class for managing resource files.

    Parameters

    @@ -37,7 +38,7 @@ dynamicprefix bool - Indicates that prefixes should be dynamically generated by taking the path of the resource relative to the basedir and appending it to the specified prefix. + Indicates whether prefixes should be dynamically generated by taking the path of the resource relative to the basedir and appending it to the specified prefix. The default is false. False @@ -52,6 +53,12 @@ The base of the directory of this fileset. The default is the project base directory. False + + casesensitive + bool + Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. + False + defaultexcludes bool @@ -83,99 +90,111 @@

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/tarfileset.html b/build-support/tools/nant/doc/help/types/tarfileset.html index 93582d83..b5e31463 100644 --- a/build-support/tools/nant/doc/help/types/tarfileset.html +++ b/build-support/tools/nant/doc/help/types/tarfileset.html @@ -19,11 +19,12 @@ -> Type Reference -> <tarfileset> - - v0.85 + + v0.91-alpha2

    <tarfileset>

    +

    [This is preliminary documentation and subject to change.]

    A <tarfileset> is a <fileset> with extra attributes useful in the context of the <tar> task.

    Parameters

    @@ -82,6 +83,12 @@ The base of the directory of this fileset. The default is the project base directory. False + + casesensitive + bool + Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. + False + defaultexcludes bool @@ -113,99 +120,111 @@

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Requirements

    - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/warnaserror.html b/build-support/tools/nant/doc/help/types/warnaserror.html index 28df52e7..f175d815 100644 --- a/build-support/tools/nant/doc/help/types/warnaserror.html +++ b/build-support/tools/nant/doc/help/types/warnaserror.html @@ -19,11 +19,12 @@ -> Type Reference -> <warnaserror> - - v0.85 + + v0.91-alpha2

    <warnaserror>

    +

    [This is preliminary documentation and subject to change.]

    Controls the behaviour of a compiler with regards to the reporting of warnings.

    Parameters

    @@ -53,50 +54,50 @@

    - - <include> + + <include>

    Specifies a list of warnings that the compiler should treat as errors. This overrides the warnaserror attribute. Only supported when targeting .NET 2.0 or higher.

    Represents a compiler warning.

    Parameters

    AttributeTypeDescriptionRequired
    numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False

    - - </include> + + </include>

    - - <exclude> + + <exclude>

    Specifies a list of warnings that the compiler should NOT treat as errors. This is only useful if warnaserror is true. Only supported when targeting .NET 2.0 or higher.

    Represents a compiler warning.

    Parameters

    AttributeTypeDescriptionRequired
    numberstring A warning number, or comma-separated list of warnings, that you want the compiler to suppress or report. True
    ifbool If true then the element will be processed; otherwise, skipped. The default is true. False
    unlessbool If true then the element will be skipped; otherwise, processed. The default is false. False

    - - </exclude> + + </exclude>

    Examples

    • Instruct a compiler to report warning 0519 as an error.

      -<warnaserror>
      -    <include number="0519" />
      -</warnaserror>
      -    
      + <warnaserror> + <include number="0519" /> + </warnaserror> +
    • Instruct a compiler not to report warning 0519 as an error, if the release property is true.

      -<warnaserror>
      -    <exclude number="0519" if="${release}" />
      -</warnaserror>
      -    
      + <warnaserror> + <exclude number="0519" if="${release}" /> + </warnaserror> +

    Requirements

    - Assembly: NAnt.DotNetTasks (0.85.2478.0) + Assembly: NAnt.DotNetTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/zipfileset.html b/build-support/tools/nant/doc/help/types/zipfileset.html index e1caf184..5020233e 100644 --- a/build-support/tools/nant/doc/help/types/zipfileset.html +++ b/build-support/tools/nant/doc/help/types/zipfileset.html @@ -19,11 +19,12 @@ -> Type Reference -> <zipfileset> - - v0.85 + + v0.91-alpha2

    <zipfileset>

    +

    [This is preliminary documentation and subject to change.]

    A <zipfileset> is a <fileset> with extra attributes useful in the context of the <zip> task.

    Parameters

    @@ -46,6 +47,12 @@ The base of the directory of this fileset. The default is the project base directory. False + + casesensitive + bool + Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is true on Unix; otherwise, false. + False + defaultexcludes bool @@ -77,99 +84,111 @@

    - - <includes> + + <includes>

    Deprecated. The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </includes> + + </includes>

    - - <include> + + <include>

    The items to include in the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to include. True
    asisbool If true then the file name will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the file will be searched for on the path. The default is false. False
    ifbool If true then the pattern will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be included; otherwise, skipped. The default is false. False

    - - </include> + + </include>

    - - <excludes> + + <excludes>

    Deprecated. The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </excludes> + + </excludes>

    - - <exclude> + + <exclude>

    The items to exclude from the fileset.

    Parameters

    AttributeTypeDescriptionRequired
    namestring The pattern or file name to exclude. True
    ifbool If true then the pattern will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the pattern will be excluded; otherwise, skipped. The default is false. False

    - - </exclude> + + </exclude>

    - - <includesList> + + <includesList>

    Deprecated. The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesList> + + </includesList>

    - - <includesfile> + + <includesfile>

    The files from which a list of patterns or files to include should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    asisbool If true then the patterns in the include file will be added to the <fileset> without pattern matching or checking if the file exists. The default is false. False
    frompathbool If true then the patterns in the include file will be searched for on the path. The default is false. False
    ifbool If true then the patterns will be included; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be included; otherwise, skipped. The default is false. False
    namefile The name of a file; each line of this file is taken to be a pattern. True

    - - </includesfile> + + </includesfile>

    - - <excludesfile> + + <excludesfile>

    The files from which a list of patterns or files to exclude should be obtained.

    Parameters

    AttributeTypeDescriptionRequired
    namefile The name of a file; each line of this file is taken to be a pattern. True
    ifbool If true then the patterns will be excluded; otherwise, skipped. The default is true. False
    unlessbool Opposite of if. If false then the patterns will be excluded; otherwise, skipped. The default is false. False

    - - </excludesfile> + + </excludesfile> +

    + +

    + + + <patternset> +

    +
    Adds a nested set of patterns, or references a standalone patternset.

    +

    + + + </patternset>

    Requirements

    - Assembly: NAnt.CompressionTasks (0.85.2478.0) + Assembly: NAnt.CompressionTasks (0.91.3881.0)
    \ No newline at end of file diff --git a/build-support/tools/nant/doc/license.html b/build-support/tools/nant/doc/license.html index 18a1c975..8e218df1 100644 --- a/build-support/tools/nant/doc/license.html +++ b/build-support/tools/nant/doc/license.html @@ -1,81 +1,81 @@ - - - - NAnt License - - - - - - - - - - - - - - - -
    -

    NAnt - License

    -

    Copyright 2001-2006 Gerry Shaw

    -
    - NAnt logo (link to home page) -
    -

    - This program is free software; you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free Software - Foundation; either version 2 of the License, or (at your option) any later - version. -

    -

    - This program is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - PARTICULAR PURPOSE. See the GNU General Public License for more details. -

    -

    - You should have received a copy of the GNU General Public License along with - this program; if not, write to the Free Software Foundation, Inc., 59 Temple - Place, Suite 330, Boston, MA 02111-1307 USA -

    -

    - As a special exception, the copyright holders of this software give you - permission to link the assemblies with independent modules to produce - new assemblies, regardless of the license terms of these independent - modules, and to copy and distribute the resulting assemblies under - terms of your choice, provided that you also meet, for each linked - independent module, the terms and conditions of the license of that - module. An independent module is a module which is not derived from or - based on these assemblies. If you modify this software, you may extend - this exception to your version of the software, but you are not - obligated to do so. If you do not wish to do so, delete this exception - statement from your version. -

    -

    - A copy of the GNU General Public License is available in the COPYING.txt file - included with all NAnt distributions. -

    -

    - The GNU Project has more information on the - GNU General Public License. -

    -

    NDoc License

    -

    - NAnt ships with a prebuilt version of NDoc. - The NAnt license does not apply to these components located in the bin folder - of the distribution. NDoc is licensed under the - GNU General Public License. -

    -

    NUnit License

    -

    - NAnt ships with a prebuilt version of NUnit. - The NAnt license does not apply to these components located in the bin folder - of the distribution. NUnit is licensed under a - OSI approved license. -

    - - + + + + NAnt License + + + + + + + + + + + + + + + +
    +

    NAnt + License

    +

    Copyright 2001-2008 Gerry Shaw

    +
    + NAnt logo (link to home page) +
    +

    + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any later + version. +

    +

    + This program is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + PARTICULAR PURPOSE. See the GNU General Public License for more details. +

    +

    + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 59 Temple + Place, Suite 330, Boston, MA 02111-1307 USA +

    +

    + As a special exception, the copyright holders of this software give you + permission to link the assemblies with independent modules to produce + new assemblies, regardless of the license terms of these independent + modules, and to copy and distribute the resulting assemblies under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from or + based on these assemblies. If you modify this software, you may extend + this exception to your version of the software, but you are not + obligated to do so. If you do not wish to do so, delete this exception + statement from your version. +

    +

    + A copy of the GNU General Public License is available in the COPYING.txt file + included with all NAnt distributions. +

    +

    + The GNU Project has more information on the + GNU General Public License. +

    +

    NDoc License

    +

    + NAnt ships with a prebuilt version of NDoc. + The NAnt license does not apply to these components located in the bin folder + of the distribution. NDoc is licensed under the + GNU General Public License. +

    +

    NUnit License

    +

    + NAnt ships with a prebuilt version of NUnit. + The NAnt license does not apply to these components located in the bin folder + of the distribution. NUnit is licensed under a + OSI approved license. +

    + + diff --git a/build-support/tools/nant/doc/releasenotes.html b/build-support/tools/nant/doc/releasenotes.html index 6061dafc..961ee030 100644 --- a/build-support/tools/nant/doc/releasenotes.html +++ b/build-support/tools/nant/doc/releasenotes.html @@ -1,3003 +1,4036 @@ - - - - NAnt Release Notes - - - - - - - - - - - - - - - - -
    -

    - NAnt - Release Notes

    -
    - NAnt logo (link to home page) -
    -

    - 0.85 (October 14, 2006)

    -

    - Bug fixes

    -

    Framework support

    -
    -
    - .NET Compact Framework 2.0
    -
      -
    • - Embedded resource files cannot be compiled when targeting - .NET Compact Framework 2.0 (bug #1533924). -
    • -
    -
    -

    Functions

    -
    -
    - file::is-assembly
    -
      -
    • - Function call fails when a file name that does not correspond - with an assembly is specified as argument. -
    • -
    -
    -

    Tasks

    -
    -
    - <aximp>
    -
      -
    • - The value of the "rcw" attribute should be ignored when - targeting .NET 1.0. -
    • -
    -
    - <csc>
    -
      -
    • - Output is always rebuilt when "keyfile" attribute is set - (bug #1550736). -
    • -
    -
    - <regen>
    -
      -
    • - Assembly reference are not taken into account to determine - if the maximum length of the command line is exceeded - (bug #1415272). -
    • -
    -
    - <solution>
    -
      -
    • - Runtime callable wrapper is not used when generating Windows - Forms control for ActiveX component that has no Primary - Interop Assembly. -
    • -
    • - When importing a type library, [out, retval] parameters of - methods on dispatch-only interfaces (dispinterfaces) are - not transformed into return values (bug #1527210). -
    • -
    • - Dependencies are not handled properly for Enterprise Template - projects in Visual Studio .NET 2003 solutions (bug #1534864). -
    • -
    -
    - <unzip>
    -
      -
    • - Zip file containing zero-length files fails to extract - (bug #1503678). -
    • -
    -
    -

    Changes

    -

    Tasks

    -
    -
    - <tlbimp>
    -
      -
    • - Added "transform" attribute which sets the name - of transform to use for transforming the metadata. [.NET 1.1 or higher] -
    • -
    -
    -
    -
    - <vbc>
    -
      -
    • - Added "nostdlib" attribute which can be used to - instruct the compiler not to reference standard libraries - (system.dll and VBC.RSP). [.NET 2.0 or higher] -
    • -
    -
    -

    - 0.85-rc 4 (June 2, 2006)

    -

    - Framework support

    -
    -
      -
    • - Added support for .NET Framework 2.0 (except for <solution> task). -
    • -
    -
    -

    - Breaking changes

    -

    Tasks

    -
    -
    - <delete>
    -
      -
    • - Attempting to delete a file or directory that does not exist, - no longer results in a build failure. -
    • -
    -
    -

    - Bug fixes

    -

    Core

    -
    -
    - XmlLogger
    -
      -
    • - XmlLogger - produced invalid XML for elements that are not closed - (bug #1220439). -
    • -
    -
    -

    Filters

    -
    -
    - <replacetokens>
    -
      -
    • - Empty value is not supported for token (bug - #1192677). -
    • -
    -
    -

    Tasks

    -
    -
    - <cl>
    -
      -
    • - Logic for determining whether compilation is necessary is not correct when PCH - file is specified (bug - #1191185). -
    • -
    • - All sources are compiled if any of the specified sources is not up-to-date (bug - #1191285). -
    • -
    • - Macro definitions specified using the <defines> collection - are passed to the compiler, regardless of the value of the "if" and - "unless" attributes (bug - #1221945). -
    • -
    -
    -
    -
    - <rc>
    -
      -
    • - Modification of an external file does not trigger a rebuilt of the resource - (bug - #1195320). -
    • -
    • - Macro definitions specified using the <defines> collection - are passed to the compiler, regardless of the value of the "if" and - "unless" attributes (bug - #1221945). -
    • -
    -
    -
    -
    - <script>
    -
      -
    • - Defining custom extensions (eg. tasks) using multiple - <script> instances results in an INTERNAL ERROR (bug - #1187957). -
    • -
    -
    -
    -
    - <solution>
    -
      -
    • - Compilation of embedded resources is slow. -
    • -
    • - Assembly signing fails for web projects. -
    • -
    • - Build fails if XML Documentation File does not exist (bug - #1188394). -
    • -
    • - Satellite assemblies of reference projects are not copied to the output - directory of referencing projects (bug - #1212909). -
    • -
    • - Changes in project file are not detected (bug - #1209741). -
    • -
    • - Error message that is output when a project does not exist, is misleading - (bug #1396124). -
    • -
    • - Large number of localized resources causes build failure - (bug #1425251). -
    • -
    • - Registering a project for COM interop fails for projects which reference other local assembly or projects - (bug #1477827). -
    • -
    • - Unused assembly reference that cannot be resolved or does not exist results in - build failure (bug - #1186176). -
    • -
    • - Visual C++ -
      -
        -
      • - File-level option to enable Managed Extensions is ignored (bug - #1190966). -
      • -
      • - Linking fails if object file name is explictly set for a specific source file - (bug - #1205728). -
      • -
      • - Delay loaded DLLs option is ignored. -
      • -
      • - Output files of dependent or referenced projects are not included when linking - (bug - #1186838 and - #1124296). -
      • -
      • - References to COM components are now supported (bug #1437970). -
      • -
      -
      -
    • -
    -
    -

    Additions

    -

    Tasks

    -
    -
    - <regasm>
    -
      -
    • - Registers an assembly, or set of assemblies for use from COM clients. -
    • -
    -
    -

    Changes

    -

    Core

    -
    -
    - log4net
    -
      -
    • - Upgraded to log4net 1.2.9. -
    • -
    -
    - MailLogger
    -
      -
    • - Added "MailLogger.success.attachments" and - "MailLogger.failure.attachments" properties to allow a set of files - to be attached to the message that is sent. -
    • -
    -
    Define types in task containers.
    -
    -

    - Global types can now be (re)defined in task containers - (such a <if> , - <foreach>). -

    -

    For example:

    -
    -    <project name="container-type" default="build">
    -        <if test="${platform::is-win32()}">
    -            <fileset id="sources">
    -                <include name="**/*.cs" />
    -                <!-- exclude Unix-specific classes -->
    -                <exclude name="**/Unix/*.cs" />
    -            </fileset>
    -        </if>
    -        <if test="${platform::is-unix()}">
    -            <fileset id="sources">
    -                <include name="**/*.cs" />
    -                <!-- exclude Win32-specific classes -->
    -                <exclude name="**/Win32/*.cs" />
    -            </fileset>
    -        </if>
    -        <target name="build">
    -            <csc output="IvsController.dll">
    -                <sources refid="sources" />
    -                <references>
    -                    <include name="System.dll" />
    -                    <include name="System.Data.dll" />
    -                    <include name="System.Xml.dll" />
    -                </references>
    -            </csc>
    -        </target>
    -    </project>
    -                
    -

    Up until now, only tasks could be executed in these containers.

    -
    -
    -

    Tasks

    -
    -
    - <csc>
    -
      -
    • - The /langversion and /platform - commandline options of the C# compiler are now exposed as - attributes. -
    • -
    • - Added support for /keycontainer and /keyfile - commandline options [Mono / .NET 2.0 or higher]. -
    • -
    -
    -
    -
    - <jsc>
    -
      -
    • - The /platform commandline option of the JScript.NET - compiler is now exposed using the "platform" attribute. -
    • -
    -
    -
    -
    - <link>
    -
      -
    • - Introduced support for delay loaded DLLs. -
    • -
    -
    -
    -
    - <nunit2>
    -
      -
    • - Upgraded to NUnit 2.2.8. -
    • -
    -
    -
    -
    - <unzip>
    -
      -
    • - The character encoding that has been used for file names - inside the zip file can now be set using the "encoding" - parameter. -
    • -
    -
    -
    -
    - <vbc>
    -
      -
    • - The /platform commandline option of the VB.NET - compiler is now exposed using the "platform" attribute. [.NET 2.0 or higher] -
    • -
    • - Added support for /keycontainer and /keyfile - commandline options. [.NET 2.0 or higher] -
    • -
    -
    -
    -
    - <vjc>
    -
      -
    • - Added support for /keycontainer and /keyfile - commandline options. -
    • -
    -
    -
    -
    - <zip>
    -
      -
    • - Added "duplicate" parameter to allow build authors - to control how duplicate file entries are to be processed. -
    • -
    • - Introduced "encoding" parameter for setting the - encoding to be used for file names. -
    • -
    -
    -

    Types

    -
    -
    - <arg>
    -
      -
    • - Added "dir" attribute for directory-based command-line arguments. - (feature request - #1193982). -
    • -
    -
    -

    - 0.85-rc 3 (April 16, 2005)

    -

    - Breaking changes

    -

    Tasks

    -
    -
    - <nant>
    -
      -
    • - References are no longer copied to the new projects by default. This is now - controlled using the "inheritrefs" attribute. -
    • -
    -
    -

    - Bug fixes

    -

    Core

    -
    -
    XML Schema
    -
      -
    • - "if" and "unless" attributes of <target> element are - not documented (bug - #1168170). -
    • -
    -
    -

    Tasks

    -
    -
    - <copy> / - <move>
    -
      -
    • - If "flatten" is set to true and multiple source files are - selected to be copied / moved to the same destination file, only the source - file that was last written to should actually be copied / moved (bug - #1165252). -
    • -
    -
    -
    -
    - <link>
    -
      -
    • - Additional include directory containing spaces leads to build failures (bug - #1117794). This bug also affects the <solution> - task. -
    • -
    -
    -
    -
    - <nant>
    -
      -
    • - Default value of "inheritall" attribute does not match documentation - (bug - #1146121). -
    • -
    • - Documentation does not describe behavior of <nant> - task for references (bug - #1146176). -
    • -
    -
    -
    -
    - <ndoc>
    -
      -
    • - When executing the <ndoc> - task multiple times, the properties are not expanded again after the first - execution (bug - #1124113). -
    • -
    • - Additional directories specified (using the <referencepaths> element) to - search for assembly references were not correctly consumed. -
    • -
    -
    -
    -
    - <resgen>
    -
      -
    • - The "dynamicprefix" attribute is not honored when determining the - name of the compiled resource file (bug - #1150186). -
    • -
    -
    -
    -
    - <script>
    -
      -
    • - Now supports any CodeDom provider, not just the built in languages (C#, VB, - etc). -
    • -
    • - Allow lower case values ( c# and vb ) for the Language attribute. -
    • -
    -
    -
    -
    - <servicecontroller>
    - -
    -
    -
    - <call> -
    -
      -
    • - Added a "cascade" attribute to allow calling a single task without - cascading all the dependencies. (bug - #1077323 ). -
    • -
    -
    -
    -
    - <solution>
    -
      -
    • - A relative path specified in the - AssemblyKeyFile attribute must be resolved using either the solution - directory or the intermediate output directory. -
    • -
    • - Configurations containing dashes are skipped (bug - #1184173). -
    • -
    • - Check for existance of specified solution file is performed even if task is not - to be executed (bug - #1178810). -
    • -
    • - Project configurations with names that do not match the solution configuration - are skipped (bug - #947214). -
    • -
    • - Projects are not always properly excluded (bug - #1143845 and - #1182510). -
    • -
    • - Stack overflow in case of circular project references (bug - #1145670). -
    • -
    • - BaseAddress not correctly passed to compilers (bug - #1164709). -
    • -
    • - Project dependencies that are no longer included in the solution file result in - a circular dependency error. -
    • -
    • - VB.NET -
      -
        -
      • - Referencing the same assembly multiple times results in an ambiguous reference - (bug - #1178862). -
      • -
      -
      -
    • -
    • - Visual C++ -
      -
        -
      • - Changes to source files or headers do not trigger a recompile (bug - #1155919). -
      • -
      • - Additional dependencies and library directory are ignored for static libraries - (bug - #1173529). -
      • -
      • - IDL files without a type library are not supported (bug - #1160647). -
      • -
      • - Target macros are not correctly expanded if output file is not set (bug - #1170100). -
      • -
      • - References to Static Library projects are ignored when linking, and passed to - the compiler as Forced Using assemblies. -
      • -
      • - "Inherit project defaults" setting is ignored for Additional Dependencies of - Linker (bug - #1178007). -
      • -
      • - Additional project-level include directories are not merged with file-level - include directories (bug - #1160043). -
      • -
      • - Projects using precompiled header are always recompiled. -
      • -
      -
      -
    • -
    -
    -

    Types

    -
    -
    - <fileset>
    -
      -
    • - Patterns are read from file specified using <includesfile> element - regardless of the value of conditional attributes ("if" and - "unless"). -
    • -
    -
    -

    Changes

    -

    Core

    -
    -
    - MailLogger
    -
      -
    • - Added "MailLogger.body.encoding" property to allow the encoding of - the body of the message to be set. -
    • -
    -
    Response File
    -
      -
    • - NAnt now supports the use of a response file. Passing @<file> on the - command line will cause the contents of <file> to be read as part of the - command line. Multiple @<file> arguments may be used. -
    • -
    -
    - XmlLogger
    -
      -
    • - Project, target and task timing information is now output in a <duration> - element in milliseconds (patch - #1122583) -
    • -
    -
    -

    Tasks

    -
    -
    - <csc> / - <vbc> / <vjc>
    -
      -
    • - Changed "debug" attribute from boolean to - DebugOutput enum to allow more control over the type of debugging - information generated by the compiler. -
    • -
    -
    - <lib>
    -
      -
    • - Add "moduledefinition" attribute. -
    • -
    -
    - <midl>
    -
      -
    • - "tlb" attribute is no longer required. -
    • -
    -
    -

    - Developer information

    -

    API

    -
    -
    FileSetAttribute
    -
    -

    - The NAnt.Core.Attributes.FileSetAttribute - is obsolete. Task developers should use the - NAnt.Core.Attributes.BuildElementAttribute instead: -

    -

    For example:

    -
    -    [FileSetBuildElement("fileset")]          
    -    public FileSet CopyFileSet {
    -        get { return _fileset; }
    -        set { _fileset = value; } 
    -    }
    -                
    -
    -
    -

    - 0.85-rc 2 (February 12, 2005)

    -

    - General changes

    -
    -
    - Building NAnt
    -
      -
    • - The source distribution of NAnt no longer contains pre-built binaries to build - a full version of NAnt. Instead, we now include GNU Make and NMake make files - to build a bootstrap version of NAnt, which is then used to build the full - version of NAnt. More information is available - here. -
    • -
    -
    - License
    -
      -
    • - The special exception that is part of the NAnt license has been modified to - avoid confusion. -
    • -
    -
    -

    - Bug fixes

    -

    Core

    -
    -
    - XML Schema
    -
      -
    • - NAnt XML Schema definition for collection based elements was incorrect (bug - #1076620). -
    • -
    -
    -

    Functions

    -
    -
    - target::get-current-target()
    -
      -
    • - Current target is incorrect after execution of target using - <call> task (bug - #1090260). -
    • -
    -
    -

    Tasks

    -
    -
    - <cl>
    -
      -
    • - <cl> does not recompile - although headers have been updated (bug - #1079377). -
    • -
    -
    - <mail>
    -
      -
    • - Names containing comma's are not supported (bug - #961627). -
    • -
    -
    - <midl>
    -
      -
    • - <midl> fails on second - run if "header" or "iid" attributes are not specified (bug - #1078558). -
    • -
    -
    - <solution>
    -
      -
    • - Manifest resource names of resources in J# projects do not match those - generated by Microsoft Visual Studio.NET. -
    • -
    • - For embedded resources that are dependent on a source file, namespace prefixing - is wrong when a namespace declaration is not present in the source file (bug - #1077253). -
    • -
    • - Users should be warned about possible issues with resx files when building a - project for a down-level target framework (bug - #1077254). -
    • -
    • - "App.config" should not be considered an output file for Class Library - projects. -
    • -
    • - Win32 resources in Visual C++ projects are not compiled (bug - #1077712). -
    • -
    • - Improve error reporting when a referenced component cannot be resolved (bug - #1079777). -
    • -
    • - MFC and ATL shared linking is not supported for Visual C++ projects (bug - #1078636). -
    • -
    • - <solution> task - doesn't support COM, OCX apps built in Visual C++ (bug - #1078641). -
    • -
    • - Support for some compile and link arguments is missing (bug - #1080237). -
    • -
    • - Project dependencies are not re-evaluated when assembly reference is converted - to project reference (bug - #1076015). -
    • -
    • - Resolution of assembly references does not match Visual Studio .NET (bug - #1077869). -
    • -
    -
    - <style>
    -
      -
    • - Relative URI specified as argument for document() function is not - considered to be relative to the base URI of stylesheet containing the function - call (bug - #1078896). -
    • -
    -
    - <sysinfo>
    -
      -
    • - Document behavior when environment variable is defined with a name that is not - a valid property name (bug - #1082225). -
    • -
    -
    -

    Additions

    -

    Tasks

    -
    -
    - <gunzip>
    -
      -
    • - Expands a file packed using GZip compression. -
    • -
    -
    - <setenv>
    -
      -
    • - Sets environment variables. -
    • -
    -
    -

    Types

    -
    -
    - <categories>
    -
      -
    • - Controls the categories of tests to execute using the - <nunit2> task. -
    • -
    -
    -

    Changes

    -

    Expressions

    -
    -
    - Data Type support
    -
      -
    • - Added support for "long" data type for both relational and mathematical - expressions. -
    • -
    -
    -

    Tasks

    -
    -
    - <al>
    -
      -
    • - Added numerous attributes. Eg. "version", "evidence", ... . -
    • -
    -
    - <cl>
    -
      -
    • - Added "pchthroughfile" and "pchmode" attributes to allow more control over - precompiled header files. -
    • -
    • - Added "objectfile" and "pdbfile" attributes. -
    • -
    -
    - <csc>
    -
      -
    • - Added "baseaddress" and "filealign" attributes. -
    • -
    -
    - <lc>
    -
      -
    • - Deprecated "licensetarget" attribute in favor of "target" attribute. -
    • -
    -
    - <exec>
    -
      -
    • - Deprecated nested <option> element in favor of <variable> element - for setting environment variables for the spawned process. -
    • -
    -
    - <link>
    -
      -
    • - Added "debug" and "pdbfile" attributes. -
    • -
    • - Added <modules> child element to link modules in the assembly. -
    • -
    • - Added <embeddedresources> child element to embed resources in the - assembly. -
    • -
    -
    - <mail>
    -
      -
    • - "tolist" is no longer a required attribute. -
    • -
    • - The "tolist", "cclist" and "bcclist" attributes - are now semicolon-separated lists. The comma is no longer considered a - separator character. -
    • -
    -
    - <ndoc>
    -
      -
    • - Upgraded to NDoc 1.3.1 Release. -
    • -
    -
    - <nunit2>
    -
      -
    • - Added support including or excluding specific categories of test cases or - fixtures. -
    • -
    -
    - <resgen>
    -
      -
    • - Added "usesourcepath" attribute to allow the source file's directory to be used - as current directory for resolving relative file paths. [.NET 2.0 or higher] -
    • -
    • - Improved dependency scanning for resx files. -
    • -
    -
    - <solution>
    -
      -
    • - Improved support for precompiled header files. -
    • -
    • - Added support for project-level build events. -
    • -
    -
    - <style>
    -
      -
    • - Added support for extension objects. -
    • -
    -
    -

    Types

    -
    -
    - <import>
    -
      -
    • - The "name" attribute of the - <import> element has been deprecated, and replaced by - a "namespace" attribute. This change affects the following tasks: - <asminfo>, <script> - and <vbc>. -
    • -
    -
    -

    - 0.85-rc 1 (November 28, 2004)

    -

    - Framework support

    -
      -
    • - NAnt 0.85 adds support for the following frameworks (both as runtime and as - target framework): -
        -
      • - Mono (both 1.0 and 2.0 profile) -
      • -
      • - .NET 2.0 Beta 1 -
      • -
      -
    • -
    • - By default, NAnt will now target the framework on which its running. For - example, if NAnt is running on .NET 2.0, the assemblies built using the - <csc> task will target .NET 2.0. Previous versions of - NAnt would target .NET 1.0 by default.
    • -
    • - Information on how to override the target framework, can be found - here. -
    • -
    -

    - Breaking changes

    -
      -
    • - In previous version of NAnt, the <arg> - element (used by, for example, the <exec> - task) would automatically add quotes for both "file" and "value" attributes in - the command line generated by the task. That automatic quoting has been removed - for "value" attributes (but not for "file" attributes). This change may break - build files that assume that both arguments specified using the "file" and - "value" attributes will automatically be quoted.
    • -
    • - Overwriting of read-only properties in tasks other than the - <property> task will now result in a build failure. Previous - versions of NAnt would silently ignore an update of a read-only property.
    • -
    • - The <nunit2> task been - updated to support - NUnit 2.2. Assemblies built using previous versions of NUnit should - either be rebuilt using - NUnit 2.2 or a - binding redirect should be configured in the application configuration - file of the test assembly. -
    • -
    -

    - General changes

    -
      -
    • - Improved error reporting when invalid values are specified for attibutes - representing files or directories.
    • -
    • - This release of NAnt introduces support for expressions. More information is - available here.
    • -
    • - FilterChain support has been - introduced to NAnt.
    • -
    • - Enums that are used in tasks or types now have their own doc pages.
    • -
    • - The default logger will now also output the number non-fatal errors and - warnings.
    • -
    • - Output of the XmlLogger - is now buffered until build has finished, and - XmlLogger can now also be used as a listener.
    • -
    • - Added support for wild - targets.
    • -
    • - Lots of built-in properties have been deprecated, and replaced by functions. - More information is available here.
    • -
    • - NAnt will now report unknown attributes and child elements when initializing - build elements. -
    • -
    -

    - Commandline changes

    -
      -
    • - Added "-e[macs]" option, which can be used to produce logging information - without adornments.
    • -
    • - Added "-ext[ension]" option to allow loading of external assemblies. As a - result, third party loggers or listeners no longer have to reside in the NAnt - bin directory or the GAC in order to be used by NAnt.
    • -
    • - Deprecated -[defaultframewor]k option in favor of -t[argetframework]. -
    • -
    -

    - New Tasks

    -

    - <aximp>

    -
      -
    • - Generates a Windows Forms Control that wraps ActiveX Controls defined in an - OCX. -
    • -
    -

    - <cvs-pass>

    -
      -
    • - Creates or updates an entry in the specified .cvspass file. This should be used - instead of the password attribute. -
    • -
    -

    - <cvs-changelog>

    -
      -
    • - Produces an XML report that represents the cvs changes from the given start - day, to a given end date. -
    • -
    -

    - <cvs-export>

    -
      -
    • - Exports a cvs module in preperation for a release. -
    • -
    -

    - <cvs-tag>

    -
      -
    • - Tags all local sources with the specified tag. -
    • -
    -

    - <ilasm>

    -
      -
    • - Compiles ILASM programs. -
    • -
    -

    - <ildasm>

    -
      -
    • - Disassembles any portable executable (PE) file that contains intermediate - language (IL) code. -
    • -
    -

    - <loadfile>

    -
      -
    • - Loads a text file into a property. -
    • -
    -

    - <tar>

    -
      -
    • - Creates a tar file from the specified filesets. -
    • -
    -

    - Task changes

    -

    - <asminfo>

    -
      -
    • - Use hash implementation to check whether AssemblyInfo needs to be rebuilt. -
    • -
    -

    - <attrib>

    -
      -
    • - Support setting attributes on directories. -
    • -
    -

    - <available>

    -
      -
    • - Deprecated in favor of expression support. -
    • -
    -

    - <cl>

    -
      -
    • - Added support for passing character set to compiler. -
    • -
    -

    - <csc>

    -
      -
    • - Added "rebuild" attribute, which instructs NAnt to recompile the output file - regardless of the file timestamps.
    • -
    • - "nowarn" attribute has been deprecated in favor of the - <nowarn> child element.
    • -
    • - Added support for suppressing/reporting specific warnings as errors using the - <warnaserror> child - element. [.NET 2.0 or higher]
    • -
    • - Added support for package references. [Mono]
    • -
    • - <lib> element is - obsolete, in favor of <lib> - child element on <references> - and <modules> element.
    • -
    • - Added support for /baseaddress compiler option. -
    • -
    -

    - <copy>

    - -

    - <cvs>

    -
      -
    • - Several bugs have been fixed in the <cvs> tasks.
    • -
    • - Documentation updates.
    • -
    • - Added "passfile" attribute. -
    • -
    -

    - <exec>

    -
      -
    • - Fixed internal error when "program" attribute was assigned invalid file name.
    • -
    • - Added "resultproperty", which can be set to a name of a property in which the - exit code of the program can be stored.
    • -
    • - The <arg> element - now supports line and PATH-like command-line arguments. -
    • -
    -

    - <get>

    -
      -
    • - Added support for client certificates (for HTTP requests) by means of the - <certificates> elements. -
    • -
    -

    - <jsc>

    -
      -
    • - Added support for package references. [Mono]
    • -
    • - Added "rebuild" attribute, which instructs NAnt to recompile the output file - regardless of the file timestamps. -
    • -
    -

    - <license>

    -
      -
    • - Uses the lc.exe commandline tool to compile license files whenever - available. -
    • -
    -

    - <link>

    - -

    - <move>

    - -

    - <nant>

    -
      -
    • - Added <fileset> support - for specifiying build files to execute. -
    • -
    -

    - <ndoc>

    -
      -
    • - Upgraded to NDoc 1.3 Release Candidate 1.
    • -
    • - Added support for reference paths. -
    • -
    -

    - <nunit>

    -
      -
    • - The <nunit> task has - been deprecated, and will be moved to NAntContrib - in a future release. NUnit 1.0 test assemblies will remain supported through - NAntContrib, but we strongly advise you to upgrade to NUnit 2.x. -
    • -
    -

    - <nunit2>

    -
      -
    • - Upgraded to support - NUnit 2.2.
    • -
    • - If no explicit application configuration file is specified, a configuration - file matching the name of the test assembly with extension ".config" will be - used for the test domain.
    • -
    • - Minor bug fixes. -
    • -
    -

    - <regex>

    -
      -
    • - Added "options" attribute that takes a comma-separated list of options to pass - to the regex engine. -
    • -
    -

    - <resgen>

    -
      -
    • - Added support for assembly references, in order to be abel to compile .resx - file that reference assemblies that are not located in the GAC. -
    • -
    -

    - <script>

    -
      -
    • - Simplified definition of custom functions with the - <script> task.
    • -
    • - Added support for Visual J# (where available), and third party CodeDOM - providers.
    • -
    • - <script> task is now - supported on Mono.
    • -
    • - Assemblies emitted by the <script> - task will now also be scanned for functions and filters. -
    • -
    -

    - <solution>

    -
      -
    • - Added support for Visual J# projects.
    • -
    • - WebMaps are now case-insensitive (and added attribute to enable - case-sensitivity).
    • -
    • - Added "enablewebdav" attribute to allow WebDAV access for web projects.
    • -
    • - Added a few unit tests to reduce the likelyhood of regressions.
    • -
    • - Fixed some minor issues with regards to Visual C++ support.
    • -
    • - General performance has been improved, except for project with loads of - resources.
    • -
    • - Added support for exclusion of source files for Visual C++ projects.
    • -
    • - No longer stop loading projects, when the first excluded project is encountered - (bug #982685).
    • -
    • - No longer automatically use Primary Interop Assemblies for references to type - libraries, but output warning instead.
    • -
    • - Added support for satellite assemblies.
    • -
    • - Respect project build order set in VS.NET.
    • -
    • - VB.NET specific settings are now processed.
    • -
    • - Improved support for precompiled headers, better grouping of files that should - be compiled in one go.
    • -
    • - Added support for empty projects.
    • -
    • - No longer attempt to build ignored projects.
    • -
    • - Match behaviour of VS.NET when resolving assembly references.
    • -
    • - Fixed lookup of type libraries in the registry.
    • -
    • - Expansion of macros is now case-insensitive.
    • -
    • - Zero-byte resx files are now skipped to match VS.NET.
    • -
    • - Introduced support for nmake projects.
    • -
    • - Added support for web projects nested in Enterprise Template Projects.
    • -
    • - Compiled resource file are now stored in the obj\<configuration> - directory relative to project directory. The compiled resource files will not - be removed when the task finishes, by doing this resource files will now only - be recompiled if the compiled resource file in the object directory is no - longer up-to-date. This matches the behaviour of VS.NET.
    • -
    • - Added support for deploying App.config to output directory. -
    • -
    -

    - <sysinfo>

    -
      -
    • - If "failonerror" is false, the - <sysinfo> task will output a warning message in the build log - when a certain environment variable cannot be exposed as a property (because - of, for example, more strict naming rules for properties) and continue - processing other environment variables. In previous versions of NAnt, execution - of the <sysinfo> task - would halt on the first error.
    • -
    -

    - <vbc>

    -
      -
    • - Added support for suppressing specific warnings using the - <nowarn> child element. [.NET 2.0 or higher]
    • -
    • - Added support for suppressing/reporting specific warnings as errors using the - <warnaserror> child - element. [.NET 2.0 or higher]
    • -
    • - Added support for generating XML documentation files, using "doc" attribute. - [.NET 2.0 or higher]
    • -
    • - Added support for package references. [Mono]
    • -
    • - Added "rebuild" attribute, which instructs NAnt to recompile the output file - regardless of the file timestamps.
    • -
    • - Added <imports> child - element, and deprecated "imports" attribute.
    • -
    • - <lib> element is - obsolete, in favor of <lib> - child element on <references> - and <modules> element. -
    • -
    -

    - <vjc>

    -
      -
    • - Added support for suppressing specific warnings using the - <nowarn> child element. [.NET 2.0 or higher]
    • -
    • - <lib> element is - obsolete, in favor of <lib> - child element on <references> - and <modules> element.
    • -
    • - Added "rebuild" attribute, which instructs NAnt to recompile the output file - regardless of the file timestamps.
    • -
    • - Added support for /baseaddress compiler option. -
    • -
    -

    - <xmlpeek> / - <xmlpoke>

    -
      -
    • - Added support for XPath expressions with namespace prefixes. -
    • -
    -

    - <zip> / - <unzip>

    -
      -
    • - Added support for multiple filesets.
    • -
    • - A top level directory prefix can be set on individual filesets.
    • -
    • - Upgraded #ziplib - to v0.83. -
    • -
    -

    - New types

    -

    - <assemblyfileset>

    -
      -
    • - Specialized <fileset> for - managing assembly files. -
    • -
    -

    - <warnaserror>

    -
      -
    • - Controls the behaviour of a compiler with regards to the reporting of warnings. -
    • -
    -

    - Type changes

    -

    - <fileset>

    - -

    - Developer information

    -
      -
    • - The Task.LogPrefix property has been deprecated. Messages that are - written to build log by a given task, will now automatically get prefixed with - the task name. This behaviour can be disabled by the new -e[macs] commandline - option. -
    • -
    -

    - 0.84 (December 26, 2003)

    -

    - Task changes

    -

    - <xmlpeek>

    -
      -
    • - Fixed issues with logging statements.
    • -
    • - Added unit tests. -
    • -
    -

    - <xmlpoke>

    -
      -
    • - Added unit tests. -
    • -
    -

    - 0.84-rc 2 (December 21, 2003)

    -

    - General changes

    -
      -
    • - Specifying multiple targets on the command line will no longer cause all - dependencies of these targets to be executed again.
    • -
    • - The XmlLogger - will now correctly handle null-characters in the build output.
    • -
    • - Fixed issue with resources specified using the <resources> element - of the compiler tasks. -
    • -
    -

    - Task changes

    -

    - <solution>

    -
      -
    • - Fixed issues with web-projects.
    • -
    • - Added support for generating strongly signed ActiveX/COM wrapper assemblies. -
    • -
    -

    - <xmlpeek>

    -
      -
    • - filename attribute was renamed to file to improve - consistency with other tasks. -
    • -
    -

    - <xmlpoke>

    -
      -
    • - filename attribute was renamed to file to improve - consistency with other tasks. -
    • -
    -

    - 0.84-rc 1 (December 6, 2003)

    -

    - Breaking changes

    -

    - Some existing build scripts may stop working now or in the next release due to - the following changes:

    -
      -
    • - The NAntContrib binaries are no longer included in the NAnt distribution - package. The NAntContrib distribution package can now be obtained - here.
    • -
    • - The <call> task now executes the given target and all its - dependencies. In previous versions of NAnt only the target itself would be - executed.
    • -
    • - The todir attribute of the <copy> and <move> - tasks no longer defaults to the project base directory. It must now be set - explicitly.
    • -
    • - The force attribute of the <call> task has been - deprecated and has no longer any effect. The <call> task - will now always execute the specified target, regardless of the fact that this - target has already been executed before.
    • -
    • - The string-based files and attachments attributes of - the <mail> task have been replaced by fileset support.
    • -
    • - In previous versions of NAnt, the documentation stated that a target identified - by the nant.onfailure property would be executed when the build - fails. However, NAnt actually executed a target identified by the nant.failure - property (if available). This has now been corrected and the old syntax (nant.failure) - is now deprecated.
    • -
    • - The <param> element of the <style> task - has been deprecated in favor of a <parameters> collection - with nested <parameter> elements. The <parameter> - element now also supports a namespaceuri, if and unless - attribute. See the documentation of the <style> task for - more information.
    • -
    • - In previous versions of NAnt, the Plain formatter was implicitly - added in the <nunit2> task. In NAnt 0.8.4, the Plain - formatter will only implicitly be added if no other formatters are specified. - In this case, a warning message will be output to the build log encouraging - build authors to explicitly add this formatter for forward compatibility. In - future versions of NAnt, the Plain formatter will no longer - implicitly be added.
    • -
    • - The nested <param> child element of the <style> - task has been deprecated in favor of a nested <parameters> collection. -
    • -
    -

    - General changes

    -
      -
    • - The user documentation has been overhauled. Nested elements are more clearly - documented, documentation has been added for element types such as filesets and - credentials, and the overall format is slightly cleaner and easier to use.
    • -
    • - Improved bootstrapping NAnt on linux. Now supports Mono 0.28.
    • -
    • - Localization support has been improved in the <csc>, <jsc>, - <vbc> and <vjc> tasks: when dynamixprefix - is set to "true" and prefix is set to the root namespace of the assembly for - the nested <resources> element, the compiler tasks will now - compile resources with IDs matching these generated by VS.NET. Support for the - generation of satellite assemblies was also added to these tasks.
    • -
    • - On systems with both the .NET Framework 1.0 and .NET Framework 1.1 installed, - NAnt will now execute on the .NET Framework 1.1 by default. Note, the default - target framework has remained unchanged, and is still .NET Framework 1.0. -
    • -
    -

    - New Tasks

    -

    - <asminfo>

    -
      -
    • - Moved from NAntContrib to - NAnt, and was rewritten to support multiple code languages and attribute types. -
    • -
    -

    - <servicecontroller>

    -
      -
    • - Allows a Windows service to be controlled (started, stopped, ...). -
    • -
    -

    - <delay-sign>

    -
      -
    • - Supports delay-signing of strongly named assemblies. -
    • -
    -

    - <mc>,<rc> and <midl>

    -
      -
    • - Moved from NAntContrib to - NAnt. These tasks control compilation of service messages, resources, and IDL - code respectively. -
    • -
    -

    - <xmlpeek>

    -
      -
    • - Extracts text from an XML file at the location specified by an XPath - expression. -
    • -
    -

    - <xmlpoke>

    -
      -
    • - Replaces text in an XML file at the location specified by an XPath expression. -
    • -
    -

    - Task changes

    -

    - <call>

    -
      -
    • - The <call> task now executes the given target and all its - dependencies. In previous versions of NAnt only the target itself would be - executed.
    • -
    • - The force attribute of the <call> task has been - deprecated and has no longer any effect. The <call> task - will now always execute the specified target, regardless of the fact that this - target has already been executed before. -
    • -
    -

    - <cl>

    -
      -
    • - Added support for Managed Extensions. -
    • -
    -

    - <copy>

    -
      -
    • - The todir attribute no longer defaults to the project base - directory. It must now be set explicitly.
    • -
    • - Added flatten attribute to allow all matching files to be - copied to a single directory. -
    • -
    -

    - <csc>

    -
      -
    • - Improved localization support.
    • -
    • - Added support for additional search directories to resolve assembly references - through a nested <lib> element. -
    • -
    -

    - <cvs-checkout>

    -
      -
    • - Added option to checkout a revision based on sticky tag, -r on the command line - client.
    • -
    • - Added option to checkout a module to an alternate directory, -d on the command - line client.
    • -
    • - Fixed bug in parsing cvsnt date format. -
    • -
    -

    - <cvs-update>

    -
      -
    • - Fixed bug in parsing cvsnt date format. -
    • -
    -

    - <echo>

    -
      -
    • - Added level attribute to allow messages to be output with a - specific level. -
    • -
    -

    - <fail>

    -
      -
    • - Allow reason of failure to be specified as inline content. -
    • -
    -

    - <get>

    -
      -
    • - The httpproxy attribute of the <get> task is - deprecated, use the new <proxy> child element instead.
    • -
    • - Added <credentials> child element used for authenticating - the request with the Internet resource.
    • -
    • - Deprecated the ignoreerrors attribute in favor of the failonerror - attribute.
    • -
    • - Added timeout attribute to allow length of time to wait for a - response or the request to timeout to be specified. -
    • -
    -

    - <if>

    -
      -
    • - Added <uptodatefiles child element for uptodate fileset - support.
    • -
    • - <if uptodatefile="..."> now behaves as documented, meaning - that nested tasks will only be executed if the file specifies in the - uptodatefile attribute actually exists and the file specified in the uptodatefile - attribute is more recent or the same lastwritetime than the file(s) specifies - in the comparefile attribute and <comparefiles> - fileset. -
    • -
    -

    - <include>

    -
      -
    • - A verbose message will now be output to the build log when a file is included - multiple times. In previous versions of NAnt, this would cause a build failure. -
    • -
    -

    - <jsc>

    -
      -
    • - Improved localization support.
    • -
    • - Added support for additional search directories to resolve assembly references - through a nested <lib> element. -
    • -
    -

    - <mail>

    -
      -
    • - The string-based files and attachments attributes - have been replaced by fileset support.
    • -
    -

    - <move>

    -
      -
    • - The todir attribute no longer defaults to the project base - directory. It must now be set explicitly.
    • -
    • - Added flatten attribute to allow all matching files to - be moved to a single directory. -
    • -
    -

    - <nant>

    -
      -
    • - Properties can now be added or overridden when calling a nested build using the - new <properties> child element.
    • -
    • - buildfile is now a required attribute, which makes it harder to - accidently write an infinitely looping build. -
    • -
    -

    - <nantschema>

    -
      -
    • - Currently the <nantschema> task does not generate the - correct XML Schema definition for collections and arrays. This tasks needs to - be updated. Please use with caution. -
    • -
    -

    - <ndoc>

    -
      -
    • - Updated the <ndoc> task to using version 1.2 of NDoc. -
    • -
    -

    - <nunit2>

    -
      -
    • - Updated the <nunit2> task to use version 2.1 of NUnit.
    • -
    • - In previous versions of NAnt, the Plain formatter was implicitly - added. In NAnt 0.8.4, the Plain formatter will only implicitly be - added if no other formatters are specified. In this case, a warning message - will be output to the build log encouraging build authors to explicitly add - this formatter for forward compatibility. In future versions of NAnt, the Plain - formatter will no longer implicitly be added.
    • -
    • - Added outputdir attribute for <formatter> element - to control the directory where the test result file will be stored (if the usefile - attribute is "true"). -
    • -
    -

    - <property>

    -
      -
    • - Added overwrite attribute to the <property> task - to control whether the value of the specified property should be overwritten - when the property already exists.
    • -
    • - Added support for dynamic properties, meaning properties of which references to - other properties are not expanded when the value is set. -
    • -
    -

    - <resgen>

    -
      -
    • - Added support for specifying a prefix to <resgen> task when - using a fileset. -
    • -
    -

    - <solution>

    -
      -
    • - Added nested <assemblyfolders> fileset element that allows a - set of folders to be set, that should be searched to resolve assembly - references.
    • -
    • - By default, the Visual Studio.NET assembly folders will be searched to resolve - assembly references. An includevsfolders attribute was added to - control whether these folders should be searched for assembly references.
    • -
    • - Added <excludeprojects> fileset that allows a set of - projects to be excluded.
    • -
    • - An outputdir attribute can now be specified, which overrides the - directory where compiled targets will be placed.
    • -
    • - A nested <webmap> element was added that maps URL's of web - projects to local path, thereby removing the need to configure the web server - to allow access to these project files.
    • -
    • - Added support for Visual C++ projects.
    • -
    • - A large number of defect fixes and performance improvements have been applied. -
    • -
    -

    - <style>

    -
      -
    • - The nested <param> child element has been deprecated in - favor of a nested <parameters> collection. -
    • -
    -

    - <touch>

    -
      -
    • - If the file specified in the single-file case does not exist, it will now be - created. -
    • -
    -

    - <vbc>

    -
      -
    • - Improved localization support.
    • -
    • - Added support for additional search directories to resolve assembly references - through a nested <lib> element. -
    • -
    -

    - <vjc>

    -
      -
    • - Improved localization support.
    • -
    • - Added support for additional search directories to resolve assembly references - through a nested <lib> element. -
    • -
    -

    - <zip>

    -
      -
    • - Fixed issue when files were included that were not located beneath the basedir - of the fileset. -
    • -
    • - Added includeemptydirs attribute to control whether empty - directories should be included in the generated zip file. -
    • -
    • - Fixed failure when no basedir for fileset was specified. -
    • -
    • - Fixed failure when basedir of fileset is set to the root directory - of a drive in Windows. -
    • -
    -

    - API changes

    -
      -
    • - Added ProgramLocationAttribute that can be assigned to a task to - indicate that it wraps an executable that is part of either the .NET Framework - or the .NET Framework SDK, and have NAnt figure out the full path to the - executable using the framework settings in the NAnt configuration file. -
    • -
    • - FileSetAttribute has been deprecated. The BuildElementAttribute - should be used instead. -
    • -
    • - Added FrameworkConfigurableAttribute that can be assigned to a - task attribute to allow the default values of that attribute to be configured - from the framework configuration section in the NAnt configuration file for the - currently active framework. -
    • -
    • - Added <proxy> and <credentials> data - types that are used to provide proxy settings and authentication information - for tasks that connect to external resources (eg. the <get> task). -
    • -
    • - Added support for framework-specific third party libraries.
    • -
    • - Updated log4net to version 1.2.0 - beta 8. -
    • -
    -

    - 0.8.3 (September 28, 2003)

    -

    - User-visible changes

    -
      -
    • - Included NAntContrib binaries are from a release build. In rc3 they were debug - versions. -
    • -
    -

    - 0.8.3-rc3 (August 29, 2003)

    -

    - User-visible changes

    -
      -
    • - Added test directory to distribution fixing the build failure in 0.8.3. -
    • -
    -

    - 0.8.3-rc2 (July 28, 2003)

    -

    - User-visible changes

    -
      -
    • - Built with .NET 1.0. -
      - This release candidate is built with version 1.0 of the .NET Framework. The - binaries for RC1 had been built with version 1.1, which had backwards - compatibility issues. -
      -
    • -
    • - Fixed defect: temp directory leak in <solution> task. -
      - Matthew Mastracci fixed a major temp directory leak. It was leaking approx. one - temp directory per project! You should clear your Local Settings\Temp directory - for the user you use to build your solutions. -
      -
    • -
    • - <solution> VB.NET support. -
      - The <solution> task now supports VB.NET projects. This was meant to be - part of the RC1 release. -
      -
    • -
    • - Matthew Mastracci has also checked in support for reading resources of VB - projects and generating the appropriate dependent resource name. -
    • -
    • - Documentation for NAntContrib. -
      - This release candidate includes the binaries and documentation for the - NAntContrib extensions. Note that the source is still distributed seperately - during this release cycle. -
      -
    • -
    -

    - 0.8.3-rc1 (July 10, 2003)

    -

    - User-visible changes

    -
      -
    • - NAntContrib is now distributed with NAnt. -
      - To better support the frequently-used NAntContrib extensions, the library is - now distributed as part of the NAnt release. -
      -
    • -
    • - Preliminary Linux support. -
      - This is the first release with Linux support, so please report any issues you - encounter. The next release will be fully tested and documented on both Linux - and Windows. -
      -
    • -
    • - New Tasks. -
        -
      • - <cvs-checkout> task : Checkout source from CVS.
      • -
      • - <cvs-update:> task : Update source from CVS.
      • -
      • - <solution> task : compile .sln directly. In most cases, this means you no - longer have to preprocess a solution with the slingshot tool. Supports both - Visual Studio .NET and Visual Studio 2003. -
      • -
      -
    • -
    • - Changed tasks. -
      - See the section below for details. -
      -
    • -
    • - FileSet references. -
      - You can now define a named FileSet and refer to it anywhere a FileSet is used. -
      -
    • -
    -

    - API changes

    -
      -
    • - Namespace changes -
        -
      • - "SourceForge" is no longer part of the NAnt namespaces.
      • -
      • - Split classes up into Tasks and Types.
      • -
      • - Task assemblies now have their own namespaces.
      • -
      • - Removed Msft prefix from base classes. -
      • -
      -
    • -
    • - Logging framework changed -
        -
      • - Refactored NAnt (build) logging system : moved to an event driven logging - system, and allow thresholds to be set. The build outcome is now completely - handled by the loggers.
      • -
      • - Replaced the LogListener with an IBuildLogger interface for loggers and an - IBuildListener interface for build listeners.
      • -
      • - The ConsoleLogger is replaced by a DefaultLogger, which always logs to the - console, and which can also be configured to log to a file (using the -logfile - option).
      • -
      • - The static Log class is removed and replaced by instance methods on the Project - and Task classes. These instance methods actually fire events that get handled - by the build logger and buid listeners.
      • -
      • - Added a Level enum that is used to assign a priority (level) to a message. This - allows messages to be filtered on their priority.
      • -
      • - Added a strongly typed collection for the build listeners.
      • -
      • - Updated all existing logging statements to use the new logging system instead - of the static Log class. Assigned levels to the existing logging statements.
      • -
      • - Added MailLogger that can be used to send the build results as an email, see - xml docs for how its to be configured. -
      • -
      -
    • -
    • - Many, many style/structure/documentation fixes. More that are worth listing - here.
    • -
    • - Fixed NUnit2 support for FileSets.
    • -
    • - Prevent warnings for using obsolete methods to allow NDoc Documenter.Nant to - build on .NET 1.1 runtime.
    • -
    • - Nightly.xml no longer depends on NAntContrib tasks.
    • -
    • - Moved <mail> task and test back into core as its working fine on Linux - now.
    • -
    • - New attribute-driven command-line parser. -
    • -
    -

    - Command-line client changes

    -
      -
    • - Changed target back to the default argument.
    • -
    • - Moved company information (http://nant.sourceforge.net) from help text to logo - banner.
    • -
    • - Added support for running default.build if there are multiple build files in a - directory.
    • -
    • - Added support for collection-based command-line options, with the following - restrictions : -
        -
      • - property type should implement ICollection
      • -
      • - collection should have an Add method with one parameter
      • -
      • - parameter of the Add method should be strongly-typed
      • -
      • - collection should have a default public constructor
      • -
      • - the property should have a setter if the collection is not initialized (null - reference) -
      • -
      -
    • -
    • - Fixed "bug" where ApplicationException would no longer be throw when no - matching buildfile is found after searching the directory tree upwards.
    • -
    • - Updated short form of buildfile to -f.
    • -
    • - Added -q shortname for -quiet command-line option.
    • -
    • - Changed description of -indent command-line option.
    • -
    • - Added command-line option for adding build listeners.
    • -
    • - Updated xml documentation.
    • -
    • - Added command-line options for filtering build output (-debug and -quiet).
    • -
    • - Jarek's patch to allow setting of the default framework from the command line, - fixes bug 729778.
    • -
    • - Always use identifier mono-1.0 for Mono framework, no use in always creating - new framework configurations for every Mono release. -
    • -
    -

    - Task changes

    -

    - <exec>

    -
      -
    • - Added support for an environment optionset to the <exec> task.
    • -
    • - Fixed optionset so that it correctly returns optionvalues.
    • -
    • - Remove Timeout from ExecTask, make Timeout in ExternalProgramBase a task - attribute and make it writable.
    • -
    • - Throw BuildException if process has not exited after timeout. -
    • -
    -

    - <vjc>

    -
      -
    • - Added attribute for setting the warninglevel (0-4).
    • -
    • - Added attribute for specifiying list of warnings that should be suppressed by - the compiler. -
    • -
    -

    - <jsc>

    -
      -
    • - Added support for codepage compiler flag.
    • -
    • - Added attribute for setting the warninglevel (0-4).
    • -
    -

    - <csc>

    -
      -
    • - Added support for codepage compiler flag.
    • -
    • - Renamed optionoptimize attribute to optimize.
    • -
    • - Added attribute for setting the warninglevel (0-4).
    • -
    • - Added attribute for specifiying list of warnings that should be suppressed by - the compiler.
    • -
    • - Patch from Justin Santa Barbara to add optimize flag to csc.
    • -
    • - Fixed csc example. -
    • -
    -

    - <nantschema>

    -
      -
    • - Added makefile for building on Linux. Also a new bin directory for Linux - specific binaries. -
    • -
    -

    - <mcs>

    -
      -
    • - Removed <mcs> task. the <csc> task in combination with the - framework support should be used instead. -
    • -
    -

    - <nant>

    -
      -
    • - Fixed problem with basedir in nested <nant> build being incorrect if - basedir="." is used.
    • -
    • - Have new project inherit the default framework from the current project.
    • -
    -

    - <copy>

    -
      -
    • - Fix for <copy> task breakage on Linux.
    • -
    • - Reenabled File.SetAttributes on Mono build as bug #41999 has been fixed.
    • -
    -

    - <if>

    -
      -
    • - Fixed logging bug with parenthesis instead of brace. Caused <if - uptodate...> to fail erroneously. -
    • -
    -

    - <cl> and <link>

    -
      -
    • - On demand compile support for <link> and <cl> tasks.
    • -
    • - Added unit tests for the <cl> and <link> tasks.
    • -
    • - Moved Visual C++ related tasks into Win32Assemblies so it doesn't get built in - a Mono/Linux build. -
    • -
    -

    - <fileset>

    -
      -
    • - Added support for FileSet references. Framework for making all types - referencable but only implemented for FileSets right now. -
    • -
    -

    - <mail>

    -
      -
    • - Reenabled usage of StringWriter constructor with CultureInfo as this bug in - Mono is fixed.
    • -
    • - No longer have empty strings as default.
    • -
    • - Bcc and cc are no longer set to an empty string when not specified in - buildfile, thereby preventing problems with Mono bug #45746. -
    • -
    -

    - 0.8.2 (April 24, 2003)

    -
      -
    • - Misc bugfixes. -
    • -
    -

    - 0.8.2-rc3 (April 17, 2003)

    -
      -
    • - <if> task changes to support the uptodate test.
    • -
    • - Changes for task item element initialization.
    • -
    • - Read output of <exec>'d (and other external program) processes and insert - into logfile.
    • -
    • - Fixed logging for <regex> task.
    • -
    • - Made NAnt errors less chatty.
    • -
    • - NAnt now works without Framework SDK installed.
    • -
    • - Fixed bugs in <Copy> and <Move> tasks which caused exceptions when - using todir and a FileSet, in certain cases.
    • -
    • - New <unzip> task.
    • -
    • - New <loadtasks> task which replaces the functionality of taskdef (from - NAntContrib).
    • -
    • - <foreach> supports <in><items> FileSet to work on files. -
    • -
    -

    - 0.8.2-rc2 (April 12, 2003)

    -
      -
    • - Fix for <nunit2> task using FileSet.
    • -
    • - Fix for FileSet's <includeList> element. -
    • -
    -

    - 0.8.2-rc1 (April 12, 2003)

    -
      -
    • - Logging cleanups: use log4net for internal logging.
    • -
    • - FxCop cleanups for correctness.
    • -
    • - Support for multiple versions of .NET framework.
    • -
    • - Changes to make NAnt more Mono-friendly.
    • -
    • - Updated SharpZipLib library.
    • -
    • - Makes error reporting more accurate - give line numbers for property expansion - errors.
    • -
    • - Multiple test assembly support for <nunit2> task.
    • -
    • - General speed-up for directory/file scanning.
    • -
    • - <resgen> task file generation correctness fixes.
    • -
    • - Added support multiple delimiters and string trimming to LoopTask's file line - mode.
    • -
    • - More support for csc/vbc command-line options. -
    • -
    -

    - 0.8.1 (February 21, 2003)

    -
      -
    • - Added more command-line options (-f: to specify a buildfile).
    • -
    • - Added case sensitivity checks.
    • -
    • - Added <vjc> task.
    • -
    • - Fixed NUnit2 support.
    • -
    • - Misc bugfixes and cleanups from contributors. -
    • -
    -

    - 0.7.9 (June 11, 2002)

    -
      -
    • - If more than one build file matches the criteria, e.g. two files ending in - .build than NAnt will report an error.
    • -
    • - Added -find option, causes NAnt to search up the directory tree looking for the - buildfile. Use in conjunction with -buildfile:foo.* to find the first foo.* - file up the directory tree.
    • -
    • - Added -projecthelp option, callable targets should now include a description - attribute to describe briefly what they do.
    • -
    • - CompilerBase tasks now check for changed resources and recompiles if out of - date.
    • -
    • - Compiler tasks reportq what caused the rebuild when verbose is on, try 'NAnt - -verbose'.
    • -
    • - Improved Log class.
    • -
    • - Added PlainText NUnit formatter, see NAnt's build file for an example.
    • -
    • - nant.onsuccess and nant.onfailure properties can now name a target to get - executed at the end of a build.
    • -
    • - FileSets now have an absolute element. Items inside an absolute element will - always be included in the file set. This is useful for references that are in - the system path. See the HelloWindowsForms build file for an example.
    • -
    • - -set option changed to -D to be more like Ant.
    • -
    • - Unknown command line arguments cause program help to be displayed.
    • -
    • - FileSets now support absolute paths and parent directories.
    • -
    • - *Tasks.dll assemblies that are in the same folder as NAnt are automatically - loaded and scanned for tasks.
    • -
    • - User manual available.
    • -
    • - Help for tasks is auto-generated.
    • -
    • - <attrib> task added.
    • -
    • - <gac> task added and moved to NAntContrib project.
    • -
    • - <sysinfo> task added.
    • -
    • - Added failonerror, verbose, if and unless attributes to all tasks.
    • -
    • - DESIGN DECISION: all elements and attributes will be lowercase
    • -
    • - Major reworking of FileSet class (removed absolutes element, added asis - attribute).
    • -
    • - Tasks/Targets/FileSet includes/excludes now have if/unless attributes.
    • -
    • - New Unit Tests added. -
        -
      • - CallTest.cs
      • -
      • - DeleteTest.cs
      • -
      • - EchoTest.cs
      • -
      • - FailTest.cs
      • -
      • - MkdirTest.cs
      • -
      • - MoveTest.cs
      • -
      • - PropertyTest.cs -
      • -
      -
    • -
    • - New Properties added during project initilization. -
        -
      • - nant.location points to nant.exe directory
      • -
      • - nant.tasks.[TaskName].location points to [TaskName] host assembly -
      • -
      -
    • -
    • - <nant> task now inherits properties to new project.
    • -
    • - Tasks moved to NAntContrib Project -
        -
      • - GacTask.cs
      • -
      • - RcTask.cs
      • -
      • - ResGenTask.cs
      • -
      • - TlbExpTask.cs
      • -
      • - TlbImpTask.cs
      • -
      • - TypedCollectionTask.cs
      • -
      • - Vb6Task.cs -
      • -
      -
    • -
    • - NUnit XML format updated.
    • -
    • - Many, many, many bugs fixed.
    • -
    -

    - 0.7.749 (January 19, 2002)

    -
      -
    • - <docnet> task added, try 'NAnt doc' to build NAnt's documentation.
    • -
    • - NUnitCore.dll added to project.
    • -
    • - Fixed FileSet basedir attributes, they now expand macros.
    • -
    • - <script> task and example added - thanks to Sergey Chaban.
    • -
    • - Build file now extracts version number from AssemblyInfo.cs - thanks to Sergey - Chaban.
    • -
    • - CompilerBase now adds quotations to all referenced files - thanks to Mike - Krueger.
    • -
    • - BuildException is now serializable.
    • -
    • - ExternalProgramBase reports differentiates between Process exceptions and - program return codes now.
    • -
    • - Unit tests are now run as part of the buid process.
    • -
    • - <touch> task added - thanks to Jay Turpin.
    • -
    • - NUnit overhaul. -
        -
      • - camelCase'ed attributes, haltOnFailure, haltOnError
      • -
      • - renamed printsummary to verbose
      • -
      • - replaced SummaryResultFormatter with improved SummaryFormatter
      • -
      • - added VerboseFormatter -
      • -
      -
    • -
    • - <get> task added - thanks to Jay Turpin
    • -
    • - <docnet> task renamed to <ndoc>.
    • -
    • - NDoc.Core.dll and NDoc.Documenter.Msdn.dll added to project.
    • -
    • - NAnt.exe split into NAnt.exe and NAnt.Core.dll.
    • -
    • - <al> task added - thanks to Joe Jones.
    • -
    • - <resgen> task added - thanks to Joe Jones.
    • -
    • - <zip> task added - thanks to Mike Krueger.
    • -
    • - <cl> task added - thanks to Shawn Van Ness.
    • -
    • - Added support for .NET v1.0.3705 (RTM). -
    • -
    -

    - 0.6.0 (September 18, 2001)

    -
      -
    • - Report build file xml errors in a useful way.
    • -
    • - Report error location when tasks are missing required attributes.
    • -
    • - <copy> task updated - thanks to Ian MacLean.
    • -
    • - **/*.cs type pattern matching now available in FileSets via DirectoryScanner - class.
    • -
    • - Added all the environment variables to - properites,ie,<echomessage="path=${nant.env.PATH}"/>.
    • -
    • - <move> task updated - thanks to Ian MacLean.
    • -
    • - <sleep> task added - thanks to Ian MacLean.
    • -
    • - DirectoryScanner and FileSet's scan for files AND directories now
    • -
    • - FileSet's cache scan results, use Scan() to rescan.
    • -
    • - FileSet's auto initialize to their containing task, this helps clean up the - code.
    • -
    • - <copy> task can now copy full directory trees.
    • -
    • - Added verbose attribute to <copy> task, default off, message gives number - of files processed.
    • -
    • - Fixed bug with any ExternalBase tasks hanging - thanks to Sergey Chaban for - reporting.
    • -
    • - <include> task added.
    • -
    • - <call> task added.
    • -
    • - -verbose command line option added.
    • -
    • - Build file can now build complete distribution, try 'NAnt dist'. -
    • -
    -

    - 0.5.0 (August 22, 2001)

    -
      -
    • - Complete overhaul of the web site and doc folder (all html files).
    • -
    • - Made src a parent folder to be able to hold multiple assemblies in anticipation - of the NAnt.Tests.dll assembly.
    • -
    • - License changed to GNU General Public License.
    • -
    • - Source code placed under CVS.
    • -
    • - Tasks can now have attributes in base classes, see CompilerBase as an example - - thanks to Mike Krueger.
    • -
    • - Coding conventions posted on SourceForge in the document manager.
    • -
    • - Task manager in SourceForge is now being used to track currently active tasks.
    • -
    • - Namespace changed to SourceForge.NAnt.
    • -
    • - Added basic command line parsing.
    • -
    • - Added version resource.
    • -
    • - Support for multiple build targets (try 'NAnt clean test').
    • -
    • - BuildException added to report text position in the build file where errors - occur - thanks to Ian MacLean.
    • -
    • - <style> task (xslt processing) added - thanks to Serge.
    • -
    • - Executable is now signed with the NAnt.key.
    • -
    • - Converted all public/protected fields to properties.
    • -
    • - Added support for user defined properties.
    • -
    • - Added -set option (try 'NAnt -set:debug=true clean build').
    • -
    • - Changed verions number to 0.5 to reflect the number of changes in the code - base. -
    • -
    -

    - 0.1.5 (July 22, 2001)

    -
      -
    • - Only compiles program if source file last write time > output last write - time.
    • -
    • - Refactored compiler code into common CompilerBase class.
    • -
    • - Refactored compiler and exec task into common ExternalProgramBase class.
    • -
    • - Added <arg value="/win32res:filename"/> element to all external program - tasks.
    • -
    • - Added Int32ValidatorAttribute and BooleanValidatorAttribute classes to perform - error checking on task attributes after macro expansion but before task - execution. Search for BooleanValidator or Int32Validator in tasks for examples.
    • -
    • - Changed Task attribute names to TaskAttributeAttribute and FileSetAttribute.
    • -
    • - Removed default value for task attributes (set with initial value).
    • -
    • - Changes to Project class on how to initialize a project and run it.
    • -
    • - Right aligned task prefixes to clean up output.
    • -
    • - Added or enhanced these tasks -
        -
      • - vbc, jsc, csc
      • -
      • - move
      • -
      • - nant
      • -
      • - tstamp
      • -
      • - exec (failonerror attribute) -
      • -
      -
    • -
    -

    - 0.1.4 (July 19, 2001)

    -
      -
    • - Added or enhanced these tasks -
        -
      • - echo
      • -
      • - fail
      • -
      • - property
      • -
      • - copy (respects basedir)
      • -
      • - delete (respects basedir)
      • -
      • - mkdir (respects basedir)
      • -
      • - exec -
      • -
      -
    • -
    -

    - 0.1.3 (July 18, 2001)

    -
      -
    • - Dependencies working via depends attribute on targets.
    • -
    • - Changed name from NBuild to NAnt.
    • -
    • - Using the name "Parameter" to refer to the xml attributes in tasks because it - was conflicting badly with .NET Attributes.
    • -
    • - Added FileSetParameterAttribute so that FileSet parameters would autoinit.
    • -
    • - Renamed TaskAttributeAttribute to StringParameterAttribute.
    • -
    • - Broke into seperate source files (one per class).
    • -
    • - Changed default build file from Project.xml to the first file with a .build - extension. -
    • -
    -

    - 0.1.2 (July 16, 2001)

    -
      -
    • - Basic functionality to have NAnt build itself (<csc> task). -
    • -
    -

    - 0.1.1 (July 5, 2001)

    -
      -
    • - Initial test version. -
    • -
    - - + + + + NAnt Release Notes + + + + + + + + + + + + + + + + +
    +

    + NAnt + Release Notes

    +
    + NAnt logo (link to home page) +
    +

    + 0.91-alpha2 (August 17, 2010)

    +

    + Bug fixes

    +

    Core

    +
    +
    + App.config
    +
    +

    + Fixed typo that prevented System.Management.dll from being included. +

    +
    +
    +

    Tasks

    +
    +
    + <include>
    +
    +

    + Fixed error with the <include> task when different build files include the same file. + (bug #3016497). +

    +
    +
    +

    Functions

    +
    +
    + NAnt::get-assembly()
    +
    +

    + Using the NAnt::get-assembly() function causes an "Object must implement IConvertible" error. + (bug #3013492). +

    +
    +
    +

    + 0.91-alpha1 (May 29, 2010)

    +

    + Framework support

    +
    +
      +
    • + Added support for .NET Framework 4.0 (except for <solution> task). +
    • +
    +
    +

    + Bug fixes

    +

    Expressions

    +
    +
    + Coercion
    +
    +

    + Coercion of arguments is not supported (bug #3013492). +

    +
    +
    +

    + Changes

    +

    Tasks

    +
    +
    + <xmlpeek>
    +
    +

    + Enhanced the <xmlpeek> task to support more advanced + XPath functions and syntax. It is now possible to use + functions such as count() and to index the node using XPath + directly. + (feature request #1560566). +

    +
    +
    +

    + 0.90 (May 8, 2010)

    +

    + Bug fixes

    +

    Tasks

    +
    +
    + <tar>
    +
    +

    + When the "destfile" attribute specifies a non-existent path, + the base directory(ies) will be created. + (bug #2997300). +

    +
    +
    +

    + 0.90-rc1 (May 2, 2010)

    +

    + Bug fixes

    +

    Core

    +
    +
    + <PathScanner>
    +
    +

    + Catch UnauthorizedAccessException in PathScanner to prevent + NAnt from crashing when using the Scan() function to search + for file(s) in directory with special permissions. +

    +
    +
    +

    + 0.90-beta1 (April 17, 2010)

    +

    + Bug fixes

    +

    Tasks

    +
    +
    + <csc> / <jsc> / <vbc> / <vjc>
    +
    +

    + When the "output" attribute specifies a non-existent path, + the base directory(ies) will be created. + (bug #2985057). +

    +
    +
    + ExternalProgramBase
    +
    +

    + For certain tasks (NDoc, Exec, MSBuild, etc) the console + output is unorganized and difficult to read. + (bug #2981604). +

    +
    +
    + <script>
    +
    +

    + Cleanup the output to show assembly information and functions + only when "verbose" attribute is set to "true". + (bug #2981386). +

    +
    +
    + <zip>
    +
    +

    + When the "zipfile" attribute specifies a non-existent path, + the base directory(ies) will be created. + (bug #2981389). +

    +
    +
    +

    + 0.90-alpha1 (April 1, 2010)

    +

    + Breaking changes

    +

    Core

    +
    +
    + Extensibility
    +
      +
    • + Deprecated NAnt.Core.Element.InitializeElement(XmlNode) and + NAnt.Core.Task.InitializeTask(XmlNode) in favor of + NAnt.Core.Element.Initialize(). This was done to discourage direct access to + the XML node that was used to initialize the construct. +
    • +
    +
    +

    Tasks

    +
    +
    + <script>
    +
    +

    + As of this release, only the following namespaces are imported + by default: +

    +
      +
    • System
    • +
    • System.Collections
    • +
    • System.Collections.Specialized
    • +
    • System.IO
    • +
    • System.Text
    • +
    • System.Text.RegularExpressions
    • +
    • NAnt.Core
    • +
    • NAnt.Core.Attributes
    • +
    +

    + Starting from this release, only NAnt.Core + and mscorlib will be referenced by default. +

    +

    + In previous releases, all loaded assemblies would implicitly + be referenced. +

    +
    +
    +

    + Bug fixes

    +

    Extensibility

    +
    +
    + DataTypeBaseBuilder / FilterBuilder / TaskBuilder
    +
    +

    + Changes to constructors break backward compatibility (bug 2782705). +

    +
    +
    +

    Expressions

    +
    +
    + Identifiers
    +
    +

    + Identifiers containing a dot or backslash are falsely rejected. +

    +
    +
    +

    Framework support

    +
    +
    + .NET Framework (All)
    +
    +

    + The target framework cannot be initialized if the .NET + Framework SDK is not installed (bug #1859708). +

    +
    +
    + .NET Framework 1.1
    +
    +

    + Added the following assemblies to the list of reference + assemblies: +

    +
      +
    • + Microsoft.VisualBasic.Compatibility.dll +
    • +
    • + Microsoft.VisualBasic.Compatibility.Data.dll +
    • +
    • + System.Data.OracleClient.dll +
    • +
    +

    + Fixes bug #1848648. +

    +
    +
    + .NET Framework 3.5
    +
      +
    • + Modified version (as returned by framework::get-version()) + to "3.5". +
    • +
    • + Added support for Windows SDK 6.1 (bug #1986551). +
    • +
    • + Added support for Windows SDK 7.0 +
    • +
    +
    +

    Tasks

    +
    +
    + <echo>
    +
    +

    + A newline is implicitly added when writing a message to a file + (bug #2807728). +

    +
    +
    + <echo>
    +
    +

    + When "output" parameter is specified, standard output is redirected properly. + (bug #1010223). +

    +
    +
    + ExternalProgramBase
    +
    +

    + The value of UseRuntimeEngine is not respected + when overriden by derived classes (bug #1850383). + +

    +
    + <move>
    +
    +

    + When source file is newer than destination file, then an error + is reported if "overwrite" is not set to true. +

    +
    +
    + <solution>
    +
    +

    + Solution Folders result in build failure (bug #1732361). +

    +
    +
    + <xmlpeek>
    +
    +

    + "verbose" feature is now worked as documented (bug #1911292). +

    +
    +
    + <zip>
    +
    +

    + Improved backward compatibility with older unzip implementations. +

    +
    +
    +

    Types

    +
    +
    + <fileset> +
    +
    +

    + Files matching the **/vssver2.scc pattern are not excluded by default + (bug #2515816). +

    +
    +
    +

    Additions

    +

    Functions

    +
    +
    + environment::newline()
    +
    +

    Gets the newline string defined for this environment.

    +
    +
    + framework::get-description()
    +
    +

    Gets the description of the current target framework.

    +
    +
    + framework::get-clr-version()
    +
    +

    Gets the CLR version of the current target framework.

    +
    +
    + framework::get-frameworks(NAnt.Core.FrameworkTypes)
    +
    +

    + Gets a comma-separated list of frameworks filtered by the + specified FrameworkTypes. +

    +

    For example:

    +
    +    <target name="build-all">
    +        <foreach item="String" in="${framework::get-frameworks('installed compact')}" delim="," property="framework">
    +            <property name="nant.settings.currentframework" value="${framework}" />
    +            <call target="${framework}" />
    +        </foreach>
    +    </target>
    +
    +    <target name="build">
    +        ...
    +    </target>
    +                
    +
    +
    + framework::get-version()
    +
    +

    Gets the version of the current target framework.

    +
    +
    + platform::is-windows()
    +
    +

    Return a value indicating whether NAnt is running on Windows.

    +
    +
    +

    Tasks

    +
    +
    + <untar>
    +
    +

    Extracts files from a tar archive.

    +
    +
    +

    Changes

    +

    Packaging

    +
    +
    + pkg-config
    +
    +

    + When installing NAnt from source on Unix (using make install), + a nant.pc is now installed in $prefix/lib/pkgconfig. +

    +
    +
    + DESTDIR
    +
    +

    + To allow for staged installs, our makefile now also supports + the DESTDIR variable: +

    +
    +    $ make DESTDIR=/tmp/local install
    +                
    +
    +
    +

    Functions

    +
    +
    + platform::is-win32()
    +
    +

    This function is deprecated, use platform::is-windows() instead.

    +
    +
    +

    Tasks

    +
    +
    + <csc> / <jsc> / <vbc> / <vjc>
    +
    +

    + Added "winres" attribute to specify a Win32 resource file. +

    +
    +
    + <echo>
    +
    +

    + The "encoding" attribute can be used to specify + the encoding when writing messages to a file. +

    +
    +    <echo file="build.cmd" encoding="ascii">...</echo>
    +                
    +
    +
    + <link>
    +
    +

    + Added "moduledefinition" parameter to allow the + name of the module definition file to be set. + +

    +
    + <nunit2>
    +
    +

    + Allow referenced assemblies to be specified using <references> + element on <test>: +

    +
    +    <nunit2>
    +        <test>
    +            <assemblies basedir="build/tests">
    +                <include name="Cegeka.HealthCare.DocGen.Tests.dll" />
    +                <include name="Cegeka.HealthCare.Util.Tests.dll" />
    +            </assemblies>
    +            <references basedir="build/lib">
    +                <include name="Cegeka.HealthCare.Common.dll" />
    +                <include name="Cegeka.HealthCare.DocGen.dll" />
    +                <include name="Cegeka.HealthCare.Util.dll" />
    +            </assemblies>
    +        </test>
    +    </nunit2>
    +                
    + Previously, all referenced assemblies needed to be either + in the GAC, or in the directory containing the test + assembly. +
    +
    + <solution>
    +
    +

    + Introduced support for targeting a specific platform, + as defined in the solution or project. +

    +
    +
    + <xmlpoke>
    +
    +

    + Added "preserveWhitespace" parameter to retain + the original format of the XML files. +

    +
    +
    + <unzip>
    +
    +

    + Added "overwrite" parameter to control whether to + overwrite files even if they are newer than corresponding + entries in the archive. +

    +
    +
    +

    Third-Party

    +
    +
    + #ziplib
    + +
    +

    Types

    +
    +
    + <fileset> / <patternset>
    +
    +

    + For patterns specified using <includesfile> + or <excludesfile>, lines that have a number sign (#) as the first non-blank + character in a line are now ignored. + +

    +
    +

    + 0.86-beta1 (December 8, 2007)

    +

    + Breaking changes

    +

    Core

    +
    +
    + nant.tasks properties
    +
    +

    + Prior to NAnt 0.85, build authors would use a "nant.tasks.*" + property to check whether a given task was available. +

    +

    + With the introduction of expression support in NAnt 0.85, we + provided a more powerful alternative through the + task::exists + function. +

    +

    + As of this release, the "nant.tasks.*" properties are + therefore no longer set by NAnt. +

    +
    +
    + nant.failure
    +
    +

    + Removed support for the "nant.failure" property to + set the target that should be executed when the build fails. +

    +

    + This property was deprecated in NAnt 0.83 in favor of the + "nant.onfailure" attribute. +

    +

    + As of this release, setting the "nant.failure" + attribute will no longer have any effect. +

    +
    +
    +

    Expressions

    +
    +
    + = operator
    +
    +

    + In NAnt 0.85, support for the '=' operator to check for equality was + deprecated in favor of the '==' operator. +

    +

    + As from this release, the '=' operator is no longer + recognized. +

    +
    +
    +

    Tasks

    +
    +
    + <style>
    +
      +
    • + Removed support for <param> child element, which was + deprecated in NAnt 0.84 in favor of a <parameters> + element. +
    • +
    +
    +

    + Bug fixes

    +

    Core

    +
    +
    + MailLogger
    +
      +
    • + If "MailLogger.smtp.username", "MailLogger.smtp.port" + or "MailLogger.smtp.enablessl" are set, messages must be delivered + using the SMTP protocol over the network. [.NET 1.1 or higher] +
    • +
    +
    + Response File
    +
      +
    • + Quoted arguments are not parsed correctly from response files + (bug #1736526). +
    • +
    +
    + Document Type Definition
    +
      +
    • + Executing a project with a DTD can lead to an internal error. + (bug #1809994). +
    • +
    +
    +

    Framework support

    +
    +
    + Mono/Cygwin
    +
      +
    • + In Cygwin, the directory + containing the Mono configuration files was not correctly + constructed from pkg-config info, leading to errors when + running applications that use System.Configuration. +
    • +
    +
    +

    Tasks

    +
    +
    + <call>
    +
      +
    • + Target is not re-executed if "cascade" is false + (bug #1474159). +
    • +
    +
    + <csc>
    +
      +
    • + Satellite assemblies are not signed when signing key is + specified using "keyfile" attribute (bug #1587739). +
    • +
    +
    + <exec>
    +
      +
    • + Empty lines written to standard output or standard error by + external program are ignored. +
    • +
    +
    + <resgen>
    +
      +
    • + If the embedded resource compiler for the target framework does + not support assembly references, then copy both the compiler + and related files (based on pattern matching) to the + intermediary compile directory + (bug #1591991). +
    • +
    +
    + <solution>
    +
      +
    • + Visual C++ +
      +
        +
      • + Custom build steps are not supported (bug #1082374). +
      • +
      • + Unexpected error when name of project configuration + differs from solution configuration (bug #1607209). +
      • +
      +
      +
    • +
    +
    +

    Third-Party

    +
    +
    + #ziplib
    +
      +
    • + Files with a compressed size of over 4GB cannot be added to zip archive + (bug #1698336). +
    • +
    +
    +

    Types

    +
    +
    + <fileset>
    +
      +
    • + Case differences are not always ignored on a case-insensitive filesystem + (bug #1776101). +
    • +
    • + Pattern mathing for files in the root directory of a volume is + always case-sensitive (bug #1761377). +
    • +
    +
    +

    Additions

    +

    Expressions

    +
    +
    + Version operators
    +
    +

    + Introduced support for relational operators + between version values. +

    +
    +
    +

    Framework support

    +
    +
    + Tool paths
    +
    +

    + Since NAnt 0.84, task authors have been able to specify the + location of the command-line tool by applying a ProgramLocationAttribute to + classes deriving from ExternalProgramBase. +

    +

    + The ProgramLocationAttribute allows task authors + to specify whether the tool is located in the framework directory + (eg. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4432) or the + SDK directory (eg. C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1) + without actually having to deal with the complexity of knowing + the actual path to these directories (for each supported framework). +

    +

    + In NAnt 0.86, we've taken this one step further. Each defined + framework now has a (ordered) list of directories that can be + scanned to locate a framework tool. The list of directories + can be easily tuned for each framework by modifying the + <tool-paths> + nodes in the NAnt configuration file. +

    +

    An example of such a node for the Mono 3.5 profile:

    +
    +    <tool-paths>
    +        <directory name="${path::combine(prefix, 'lib/mono/3.5')}" />
    +        <directory name="${path::combine(prefix, 'lib/mono/2.0')}" />
    +        <directory name="${path::combine(prefix, 'lib/mono/1.0')}" />
    +    </tool-paths>
    +                
    +

    + The directories configured in the <tool-paths> + node of the current target framework will be scanned in the + order in which they are defined. +

    +

    + The tool paths are implicitly used when a given tool cannot + be located on the location specified by the ProgramLocationAttribute. + As such, this only applies to tasks deriving from ExternalProgramBase. +

    +

    + To expose this functionality to build authors, we've added a + framework::get-tool-path + function that can be used to search for a given tool. +

    +

    For example:

    +
    +    <exec program="${framework::get-tool-path('gacutil.exe')}" managed="strict">
    +        <arg value="/i" />
    +        <arg file="Cegeka.HealthFramework.dll" />
    +    </exec>
    +                
    +
    +
    + Strict execution
    +
    +

    + Introduced support for forcing a managed application to run + on the currently targeted CLR. +

    +

    + This was previously only possible by modifying the <startup> + section of the application configuration file or by using + constructs specific to each CLR (eg. using COMPLUS_VERSION + environment variable for the MS CLR), which made build scripts + non-portable. +

    +

    + Developers extending NAnt, can now control this by setting the + Managed property for tasks deriving from + ExternalProgramBase. +

    +

    + For build authors, forcing a managed application to run on a + specific version of a CLR can be done by setting the + "managed" attribute of <exec> + to strict. +

    +

    For example:

    +
    +    <exec program="nunit-console.exe" managed="strict">
    +        <arg value="/noshadow" />
    +        <arg file="Cegeka.HealthFramework.Tests.dll" />
    +    </exec>
    +                
    +
    +
    + .NET Framework 3.5
    +
    +

    + Support for targeting .NET Framework 3.5 and Mono 3.5 + Profile is now available. +

    +

    + Note: this does not apply to the <solution> + task. +

    +
    +
    + Silverlight 2.0
    +
    +

    + Added experimental support for targeting Silverlight 2.0 + and Moonlight 2.0. +

    +

    + Note: this does not apply to the <solution> + task. +

    +
    +
    +

    Types

    +
    +
    + <patternset>
    +
    +

    + Defines a set of patterns, mostly used to include or exclude certain files. +

    +

    + Patterns can be grouped to sets, and later be referenced by their + id. +

    +

    For example:

    +
    +    <patternset id="binaries">
    +        <include name="bin/**/*" />
    +        <exclude name="bin/*.tmp" />
    +    </patternset>
    +
    +    <patternset id="docs">
    +        <include name="requirements/**/*" />
    +        <exclude name="design/**/*.doc" />
    +    </patternset>
    +
    +    <patternset id="client.sources">
    +        <include name="client/**/*.cs" />
    +        <exclude name="client/**/*.vb" />
    +    </patternset>
    +
    +    <patternset id="server.sources">
    +        <include name="server/**/*.cs" />
    +        <exclude name="server/**/*.vb" />
    +    </patternset>
    +
    +    <patternset id="sources">
    +        <patternset refid="client.sources" />
    +        <patternset refid="server.sources" />
    +    </patternset>
    +
    +    <target name="deploy">
    +        <copy todir="${dist.path}">
    +            <fileset basedir="${build.path}">
    +                <patternset refid="binaries" />
    +                <patternset refid="docs" />
    +                <patternset refid="sources" />
    +
    +                <exclude name="**/*.sdf" />
    +            </fileset>
    +        </copy>
    +    </target>
    +                
    +
    +
    +

    Changes

    +

    Core

    +
    +
    + Performance
    +
    +

    + Initial start-up time and project initialization have been + reduced dramatically by lazy configuration of supported + target frameworks. +

    +
    +
    +

    Framework support

    +
    +
    + .NET Compact Framework 2.0
    +
    +

    + Compiler options that were introduced in .NET Framework 2.0 + are now also available when targeting .NET Compact Framework + 2.0. +

    +
    +
    +

    Tasks

    +
    +
    + <al>
    +
      +
    • + Modules to compile into an assembly can now be specified + using the <modules> child element. +
    • +
    +
    + <csc>
    +
      +
    • + Added "delaysign" attribute which specified whether + to delay sign the assembly using only the public portion of + the strong name key. +
    • +
    +
    + <exec>
    +
      +
    • + The "useruntimeengine" attribute has been deprecated + in favor of a "managed" attribute. +
    • +
    +
    + <jsc>
    +
      +
    • + Added "autoref" attribute to enable automatically + referencing of assemblies if they have the same name as an + imported namespace or as a type annotation when declaring a + variable. +
    • +
    • + Added "nostdlib" attribute which instructs the + compiler not to import standard library. +
    • +
    • + Added "versionsafe" attribute which causes the + compiler to generate errors for implicit method overrides. +
    • +
    • + Now uses mjs when targeting Mono. +
    • +
    +
    + <vbc>
    +
      +
    • + Added "delaysign" attribute which specified whether + to delay sign the assembly using only the public portion of + the strong name key. +
    • +
    +
    + <vjc>
    +
      +
    • + Added "delaysign" attribute which specified whether + to delay sign the assembly using only the public portion of + the strong name key. +
    • +
    +
    +

    Third-Party

    +
    +
    + #ziplib
    +
      +
    • + Upgraded to v0.85.1 which, amongst other things, adds support for ZIP64. +
    • +
    +
    +

    Types

    +
    +
    + <assemblyfileset>
    +
    +

    + The reference assemblies of a given target framework are + no longer limited to the assemblies in, what is known as, + the framework assembly directory. +

    +

    + Instead, these are now defined using one or more <reference-assemblies> + filesets in the <framework> + node of the NAnt configuration file. +

    +
    +
    + <fileset>
    +
    +

    + Added a "casesensitive" attribute to control whether + pattern matching must be case-sensitive. +

    +

    + The default is true on Unix and false on on + other platforms. +

    +
    +
    +

    + 0.85 (October 14, 2006)

    +

    + Bug fixes

    +

    Framework support

    +
    +
    + .NET Compact Framework 2.0
    +
      +
    • + Embedded resource files cannot be compiled when targeting + .NET Compact Framework 2.0 (bug #1533924). +
    • +
    +
    +

    Functions

    +
    +
    + file::is-assembly
    +
      +
    • + Function call fails when a file name that does not correspond + with an assembly is specified as argument. +
    • +
    +
    +

    Tasks

    +
    +
    + <aximp>
    +
      +
    • + The value of the "rcw" attribute should be ignored when + targeting .NET 1.0. +
    • +
    +
    + <csc>
    +
      +
    • + Output is always rebuilt when "keyfile" attribute is set + (bug #1550736). +
    • +
    +
    + <regen>
    +
      +
    • + Assembly reference are not taken into account to determine + if the maximum length of the command line is exceeded + (bug #1415272). +
    • +
    +
    + <solution>
    +
      +
    • + Runtime callable wrapper is not used when generating Windows + Forms control for ActiveX component that has no Primary + Interop Assembly. +
    • +
    • + When importing a type library, [out, retval] parameters of + methods on dispatch-only interfaces (dispinterfaces) are + not transformed into return values (bug #1527210). +
    • +
    • + Dependencies are not handled properly for Enterprise Template + projects in Visual Studio .NET 2003 solutions (bug #1534864). +
    • +
    +
    + <unzip>
    +
      +
    • + Zip file containing zero-length files fails to extract + (bug #1503678). +
    • +
    +
    +

    Changes

    +

    Tasks

    +
    +
    + <tlbimp>
    +
      +
    • + Added "transform" attribute which sets the name + of transform to use for transforming the metadata. [.NET 1.1 or higher] +
    • +
    +
    +
    +
    + <vbc>
    +
      +
    • + Added "nostdlib" attribute which can be used to + instruct the compiler not to reference standard libraries + (system.dll and VBC.RSP). [.NET 2.0 or higher] +
    • +
    +
    +

    + 0.85-rc 4 (June 2, 2006)

    +

    + Framework support

    +
    +
      +
    • + Added support for .NET Framework 2.0 (except for <solution> task). +
    • +
    +
    +

    + Breaking changes

    +

    Tasks

    +
    +
    + <delete>
    +
      +
    • + Attempting to delete a file or directory that does not exist, + no longer results in a build failure. +
    • +
    +
    +

    + Bug fixes

    +

    Core

    +
    +
    + XmlLogger
    +
      +
    • + XmlLogger + produced invalid XML for elements that are not closed + (bug #1220439). +
    • +
    +
    +

    Filters

    +
    +
    + <replacetokens>
    +
      +
    • + Empty value is not supported for token (bug + #1192677). +
    • +
    +
    +

    Tasks

    +
    +
    + <cl>
    +
      +
    • + Logic for determining whether compilation is necessary is not correct when PCH + file is specified (bug + #1191185). +
    • +
    • + All sources are compiled if any of the specified sources is not up-to-date (bug + #1191285). +
    • +
    • + Macro definitions specified using the <defines> collection + are passed to the compiler, regardless of the value of the "if" and + "unless" attributes (bug + #1221945). +
    • +
    +
    +
    +
    + <rc>
    +
      +
    • + Modification of an external file does not trigger a rebuilt of the resource + (bug + #1195320). +
    • +
    • + Macro definitions specified using the <defines> collection + are passed to the compiler, regardless of the value of the "if" and + "unless" attributes (bug + #1221945). +
    • +
    +
    +
    +
    + <script>
    +
      +
    • + Defining custom extensions (eg. tasks) using multiple + <script> instances results in an INTERNAL ERROR (bug + #1187957). +
    • +
    +
    +
    +
    + <solution>
    +
      +
    • + Compilation of embedded resources is slow. +
    • +
    • + Assembly signing fails for web projects. +
    • +
    • + Build fails if XML Documentation File does not exist (bug + #1188394). +
    • +
    • + Satellite assemblies of reference projects are not copied to the output + directory of referencing projects (bug + #1212909). +
    • +
    • + Changes in project file are not detected (bug + #1209741). +
    • +
    • + Error message that is output when a project does not exist, is misleading + (bug #1396124). +
    • +
    • + Large number of localized resources causes build failure + (bug #1425251). +
    • +
    • + Registering a project for COM interop fails for projects which reference other local assembly or projects + (bug #1477827). +
    • +
    • + Unused assembly reference that cannot be resolved or does not exist results in + build failure (bug + #1186176). +
    • +
    • + Visual C++ +
      +
        +
      • + File-level option to enable Managed Extensions is ignored (bug + #1190966). +
      • +
      • + Linking fails if object file name is explictly set for a specific source file + (bug + #1205728). +
      • +
      • + Delay loaded DLLs option is ignored. +
      • +
      • + Output files of dependent or referenced projects are not included when linking + (bug + #1186838 and + #1124296). +
      • +
      • + References to COM components are now supported (bug #1437970). +
      • +
      +
      +
    • +
    +
    +

    Additions

    +

    Tasks

    +
    +
    + <regasm>
    +
      +
    • + Registers an assembly, or set of assemblies for use from COM clients. +
    • +
    +
    +

    Changes

    +

    Core

    +
    +
    + log4net
    +
      +
    • + Upgraded to log4net 1.2.9. +
    • +
    +
    + MailLogger
    +
      +
    • + Added "MailLogger.success.attachments" and + "MailLogger.failure.attachments" properties to allow a set of files + to be attached to the message that is sent. +
    • +
    +
    Define types in task containers.
    +
    +

    + Global types can now be (re)defined in task containers + (such a <if> , + <foreach>). +

    +

    For example:

    +
    +    <project name="container-type" default="build">
    +        <if test="${platform::is-win32()}">
    +            <fileset id="sources">
    +                <include name="**/*.cs" />
    +                <!-- exclude Unix-specific classes -->
    +                <exclude name="**/Unix/*.cs" />
    +            </fileset>
    +        </if>
    +        <if test="${platform::is-unix()}">
    +            <fileset id="sources">
    +                <include name="**/*.cs" />
    +                <!-- exclude Win32-specific classes -->
    +                <exclude name="**/Win32/*.cs" />
    +            </fileset>
    +        </if>
    +        <target name="build">
    +            <csc output="IvsController.dll">
    +                <sources refid="sources" />
    +                <references>
    +                    <include name="System.dll" />
    +                    <include name="System.Data.dll" />
    +                    <include name="System.Xml.dll" />
    +                </references>
    +            </csc>
    +        </target>
    +    </project>
    +                
    +

    Up until now, only tasks could be executed in these containers.

    +
    +
    +

    Tasks

    +
    +
    + <csc>
    +
      +
    • + The /langversion and /platform + commandline options of the C# compiler are now exposed as + attributes. +
    • +
    • + Added support for /keycontainer and /keyfile + commandline options [Mono / .NET 2.0 or higher]. +
    • +
    +
    +
    +
    + <jsc>
    +
      +
    • + The /platform commandline option of the JScript.NET + compiler is now exposed using the "platform" attribute. +
    • +
    +
    +
    +
    + <link>
    +
      +
    • + Introduced support for delay loaded DLLs. +
    • +
    +
    +
    +
    + <nunit2>
    +
      +
    • + Upgraded to NUnit 2.2.8. +
    • +
    +
    +
    +
    + <unzip>
    +
      +
    • + The character encoding that has been used for file names + inside the zip file can now be set using the "encoding" + parameter. +
    • +
    +
    +
    +
    + <vbc>
    +
      +
    • + The /platform commandline option of the VB.NET + compiler is now exposed using the "platform" attribute. [.NET 2.0 or higher] +
    • +
    • + Added support for /keycontainer and /keyfile + commandline options. [.NET 2.0 or higher] +
    • +
    +
    +
    +
    + <vjc>
    +
      +
    • + Added support for /keycontainer and /keyfile + commandline options. +
    • +
    +
    +
    +
    + <zip>
    +
      +
    • + Added "duplicate" parameter to allow build authors + to control how duplicate file entries are to be processed. +
    • +
    • + Introduced "encoding" parameter for setting the + encoding to be used for file names. +
    • +
    +
    +

    Types

    +
    +
    + <arg>
    +
      +
    • + Added "dir" attribute for directory-based command-line arguments. + (feature request + #1193982). +
    • +
    +
    +

    + 0.85-rc 3 (April 16, 2005)

    +

    + Breaking changes

    +

    Tasks

    +
    +
    + <nant>
    +
      +
    • + References are no longer copied to the new projects by default. This is now + controlled using the "inheritrefs" attribute. +
    • +
    +
    +

    + Bug fixes

    +

    Core

    +
    +
    XML Schema
    +
      +
    • + "if" and "unless" attributes of <target> element are + not documented (bug + #1168170). +
    • +
    +
    +

    Tasks

    +
    +
    + <copy> / + <move>
    +
      +
    • + If "flatten" is set to true and multiple source files are + selected to be copied / moved to the same destination file, only the source + file that was last written to should actually be copied / moved (bug + #1165252). +
    • +
    +
    +
    +
    + <link>
    +
      +
    • + Additional include directory containing spaces leads to build failures (bug + #1117794). This bug also affects the <solution> + task. +
    • +
    +
    +
    +
    + <nant>
    +
      +
    • + Default value of "inheritall" attribute does not match documentation + (bug + #1146121). +
    • +
    • + Documentation does not describe behavior of <nant> + task for references (bug + #1146176). +
    • +
    +
    +
    +
    + <ndoc>
    +
      +
    • + When executing the <ndoc> + task multiple times, the properties are not expanded again after the first + execution (bug + #1124113). +
    • +
    • + Additional directories specified (using the <referencepaths> element) to + search for assembly references were not correctly consumed. +
    • +
    +
    +
    +
    + <resgen>
    +
      +
    • + The "dynamicprefix" attribute is not honored when determining the + name of the compiled resource file (bug + #1150186). +
    • +
    +
    +
    +
    + <script>
    +
      +
    • + Now supports any CodeDom provider, not just the built in languages (C#, VB, + etc). +
    • +
    • + Allow lower case values ( c# and vb ) for the Language attribute. +
    • +
    +
    +
    +
    + <servicecontroller>
    + +
    +
    +
    + <call> +
    +
      +
    • + Added a "cascade" attribute to allow calling a single task without + cascading all the dependencies. (bug + #1077323 ). +
    • +
    +
    +
    +
    + <solution>
    +
      +
    • + A relative path specified in the + AssemblyKeyFile attribute must be resolved using either the solution + directory or the intermediate output directory. +
    • +
    • + Configurations containing dashes are skipped (bug + #1184173). +
    • +
    • + Check for existance of specified solution file is performed even if task is not + to be executed (bug + #1178810). +
    • +
    • + Project configurations with names that do not match the solution configuration + are skipped (bug + #947214). +
    • +
    • + Projects are not always properly excluded (bug + #1143845 and + #1182510). +
    • +
    • + Stack overflow in case of circular project references (bug + #1145670). +
    • +
    • + BaseAddress not correctly passed to compilers (bug + #1164709). +
    • +
    • + Project dependencies that are no longer included in the solution file result in + a circular dependency error. +
    • +
    • + VB.NET +
      +
        +
      • + Referencing the same assembly multiple times results in an ambiguous reference + (bug + #1178862). +
      • +
      +
      +
    • +
    • + Visual C++ +
      +
        +
      • + Changes to source files or headers do not trigger a recompile (bug + #1155919). +
      • +
      • + Additional dependencies and library directory are ignored for static libraries + (bug + #1173529). +
      • +
      • + IDL files without a type library are not supported (bug + #1160647). +
      • +
      • + Target macros are not correctly expanded if output file is not set (bug + #1170100). +
      • +
      • + References to Static Library projects are ignored when linking, and passed to + the compiler as Forced Using assemblies. +
      • +
      • + "Inherit project defaults" setting is ignored for Additional Dependencies of + Linker (bug + #1178007). +
      • +
      • + Additional project-level include directories are not merged with file-level + include directories (bug + #1160043). +
      • +
      • + Projects using precompiled header are always recompiled. +
      • +
      +
      +
    • +
    +
    +

    Types

    +
    +
    + <fileset>
    +
      +
    • + Patterns are read from file specified using <includesfile> element + regardless of the value of conditional attributes ("if" and + "unless"). +
    • +
    +
    +

    Changes

    +

    Core

    +
    +
    + MailLogger
    +
      +
    • + Added "MailLogger.body.encoding" property to allow the encoding of + the body of the message to be set. +
    • +
    +
    Response File
    +
      +
    • + NAnt now supports the use of a response file. Passing @<file> on the + command line will cause the contents of <file> to be read as part of the + command line. Multiple @<file> arguments may be used. +
    • +
    +
    + XmlLogger
    +
      +
    • + Project, target and task timing information is now output in a <duration> + element in milliseconds (patch + #1122583) +
    • +
    +
    +

    Tasks

    +
    +
    + <csc> / + <vbc> / <vjc>
    +
      +
    • + Changed "debug" attribute from boolean to + DebugOutput enum to allow more control over the type of debugging + information generated by the compiler. +
    • +
    +
    + <lib>
    +
      +
    • + Add "moduledefinition" attribute. +
    • +
    +
    + <midl>
    +
      +
    • + "tlb" attribute is no longer required. +
    • +
    +
    +

    + Developer information

    +

    API

    +
    +
    FileSetAttribute
    +
    +

    + The NAnt.Core.Attributes.FileSetAttribute + is obsolete. Task developers should use the + NAnt.Core.Attributes.BuildElementAttribute instead: +

    +

    For example:

    +
    +    [FileSetBuildElement("fileset")]
    +    public FileSet CopyFileSet {
    +        get { return _fileset; }
    +        set { _fileset = value; }
    +    }
    +                
    +
    +
    +

    + 0.85-rc 2 (February 12, 2005)

    +

    + General changes

    +
    +
    + Building NAnt
    +
      +
    • + The source distribution of NAnt no longer contains pre-built binaries to build + a full version of NAnt. Instead, we now include GNU Make and NMake make files + to build a bootstrap version of NAnt, which is then used to build the full + version of NAnt. More information is available + here. +
    • +
    +
    + License
    +
      +
    • + The special exception that is part of the NAnt license has been modified to + avoid confusion. +
    • +
    +
    +

    + Bug fixes

    +

    Core

    +
    +
    + XML Schema
    +
      +
    • + NAnt XML Schema definition for collection based elements was incorrect (bug + #1076620). +
    • +
    +
    +

    Functions

    +
    +
    + target::get-current-target()
    +
      +
    • + Current target is incorrect after execution of target using + <call> task (bug + #1090260). +
    • +
    +
    +

    Tasks

    +
    +
    + <cl>
    +
      +
    • + <cl> does not recompile + although headers have been updated (bug + #1079377). +
    • +
    +
    + <mail>
    +
      +
    • + Names containing comma's are not supported (bug + #961627). +
    • +
    +
    + <midl>
    +
      +
    • + <midl> fails on second + run if "header" or "iid" attributes are not specified (bug + #1078558). +
    • +
    +
    + <solution>
    +
      +
    • + Manifest resource names of resources in J# projects do not match those + generated by Microsoft Visual Studio.NET. +
    • +
    • + For embedded resources that are dependent on a source file, namespace prefixing + is wrong when a namespace declaration is not present in the source file (bug + #1077253). +
    • +
    • + Users should be warned about possible issues with resx files when building a + project for a down-level target framework (bug + #1077254). +
    • +
    • + "App.config" should not be considered an output file for Class Library + projects. +
    • +
    • + Win32 resources in Visual C++ projects are not compiled (bug + #1077712). +
    • +
    • + Improve error reporting when a referenced component cannot be resolved (bug + #1079777). +
    • +
    • + MFC and ATL shared linking is not supported for Visual C++ projects (bug + #1078636). +
    • +
    • + <solution> task + doesn't support COM, OCX apps built in Visual C++ (bug + #1078641). +
    • +
    • + Support for some compile and link arguments is missing (bug + #1080237). +
    • +
    • + Project dependencies are not re-evaluated when assembly reference is converted + to project reference (bug + #1076015). +
    • +
    • + Resolution of assembly references does not match Visual Studio .NET (bug + #1077869). +
    • +
    +
    + <style>
    +
      +
    • + Relative URI specified as argument for document() function is not + considered to be relative to the base URI of stylesheet containing the function + call (bug + #1078896). +
    • +
    +
    + <sysinfo>
    +
      +
    • + Document behavior when environment variable is defined with a name that is not + a valid property name (bug + #1082225). +
    • +
    +
    +

    Additions

    +

    Tasks

    +
    +
    + <gunzip>
    +
      +
    • + Expands a file packed using GZip compression. +
    • +
    +
    + <setenv>
    +
      +
    • + Sets environment variables. +
    • +
    +
    +

    Types

    +
    +
    + <categories>
    +
      +
    • + Controls the categories of tests to execute using the + <nunit2> task. +
    • +
    +
    +

    Changes

    +

    Expressions

    +
    +
    + Data Type support
    +
      +
    • + Added support for "long" data type for both relational and mathematical + expressions. +
    • +
    +
    +

    Tasks

    +
    +
    + <al>
    +
      +
    • + Added numerous attributes. Eg. "version", "evidence", ... . +
    • +
    +
    + <cl>
    +
      +
    • + Added "pchthroughfile" and "pchmode" attributes to allow more control over + precompiled header files. +
    • +
    • + Added "objectfile" and "pdbfile" attributes. +
    • +
    +
    + <csc>
    +
      +
    • + Added "baseaddress" and "filealign" attributes. +
    • +
    +
    + <lc>
    +
      +
    • + Deprecated "licensetarget" attribute in favor of "target" attribute. +
    • +
    +
    + <exec>
    +
      +
    • + Deprecated nested <option> element in favor of <variable> element + for setting environment variables for the spawned process. +
    • +
    +
    + <link>
    +
      +
    • + Added "debug" and "pdbfile" attributes. +
    • +
    • + Added <modules> child element to link modules in the assembly. +
    • +
    • + Added <embeddedresources> child element to embed resources in the + assembly. +
    • +
    +
    + <mail>
    +
      +
    • + "tolist" is no longer a required attribute. +
    • +
    • + The "tolist", "cclist" and "bcclist" attributes + are now semicolon-separated lists. The comma is no longer considered a + separator character. +
    • +
    +
    + <ndoc>
    +
      +
    • + Upgraded to NDoc 1.3.1 Release. +
    • +
    +
    + <nunit2>
    +
      +
    • + Added support including or excluding specific categories of test cases or + fixtures. +
    • +
    +
    + <resgen>
    +
      +
    • + Added "usesourcepath" attribute to allow the source file's directory to be used + as current directory for resolving relative file paths. [.NET 2.0 or higher] +
    • +
    • + Improved dependency scanning for resx files. +
    • +
    +
    + <solution>
    +
      +
    • + Improved support for precompiled header files. +
    • +
    • + Added support for project-level build events. +
    • +
    +
    + <style>
    +
      +
    • + Added support for extension objects. +
    • +
    +
    +

    Types

    +
    +
    + <import>
    +
      +
    • + The "name" attribute of the + <import> element has been deprecated, and replaced by + a "namespace" attribute. This change affects the following tasks: + <asminfo>, <script> + and <vbc>. +
    • +
    +
    +

    + 0.85-rc 1 (November 28, 2004)

    +

    + Framework support

    +
      +
    • + NAnt 0.85 adds support for the following frameworks (both as runtime and as + target framework): +
        +
      • + Mono (both 1.0 and 2.0 profile) +
      • +
      • + .NET 2.0 Beta 1 +
      • +
      +
    • +
    • + By default, NAnt will now target the framework on which its running. For + example, if NAnt is running on .NET 2.0, the assemblies built using the + <csc> task will target .NET 2.0. Previous versions of + NAnt would target .NET 1.0 by default.
    • +
    • + Information on how to override the target framework, can be found + here. +
    • +
    +

    + Breaking changes

    +
      +
    • + In previous version of NAnt, the <arg> + element (used by, for example, the <exec> + task) would automatically add quotes for both "file" and "value" attributes in + the command line generated by the task. That automatic quoting has been removed + for "value" attributes (but not for "file" attributes). This change may break + build files that assume that both arguments specified using the "file" and + "value" attributes will automatically be quoted.
    • +
    • + Overwriting of read-only properties in tasks other than the + <property> task will now result in a build failure. Previous + versions of NAnt would silently ignore an update of a read-only property.
    • +
    • + The <nunit2> task been + updated to support + NUnit 2.2. Assemblies built using previous versions of NUnit should + either be rebuilt using + NUnit 2.2 or a + binding redirect should be configured in the application configuration + file of the test assembly. +
    • +
    +

    + General changes

    +
      +
    • + Improved error reporting when invalid values are specified for attibutes + representing files or directories.
    • +
    • + This release of NAnt introduces support for expressions. More information is + available here.
    • +
    • + FilterChain support has been + introduced to NAnt.
    • +
    • + Enums that are used in tasks or types now have their own doc pages.
    • +
    • + The default logger will now also output the number non-fatal errors and + warnings.
    • +
    • + Output of the XmlLogger + is now buffered until build has finished, and + XmlLogger can now also be used as a listener.
    • +
    • + Added support for wild + targets.
    • +
    • + Lots of built-in properties have been deprecated, and replaced by functions. + More information is available here.
    • +
    • + NAnt will now report unknown attributes and child elements when initializing + build elements. +
    • +
    +

    + Commandline changes

    +
      +
    • + Added "-e[macs]" option, which can be used to produce logging information + without adornments.
    • +
    • + Added "-ext[ension]" option to allow loading of external assemblies. As a + result, third party loggers or listeners no longer have to reside in the NAnt + bin directory or the GAC in order to be used by NAnt.
    • +
    • + Deprecated -[defaultframewor]k option in favor of -t[argetframework]. +
    • +
    +

    + New Tasks

    +

    + <aximp>

    +
      +
    • + Generates a Windows Forms Control that wraps ActiveX Controls defined in an + OCX. +
    • +
    +

    + <cvs-pass>

    +
      +
    • + Creates or updates an entry in the specified .cvspass file. This should be used + instead of the password attribute. +
    • +
    +

    + <cvs-changelog>

    +
      +
    • + Produces an XML report that represents the cvs changes from the given start + day, to a given end date. +
    • +
    +

    + <cvs-export>

    +
      +
    • + Exports a cvs module in preperation for a release. +
    • +
    +

    + <cvs-tag>

    +
      +
    • + Tags all local sources with the specified tag. +
    • +
    +

    + <ilasm>

    +
      +
    • + Compiles ILASM programs. +
    • +
    +

    + <ildasm>

    +
      +
    • + Disassembles any portable executable (PE) file that contains intermediate + language (IL) code. +
    • +
    +

    + <loadfile>

    +
      +
    • + Loads a text file into a property. +
    • +
    +

    + <tar>

    +
      +
    • + Creates a tar file from the specified filesets. +
    • +
    +

    + Task changes

    +

    + <asminfo>

    +
      +
    • + Use hash implementation to check whether AssemblyInfo needs to be rebuilt. +
    • +
    +

    + <attrib>

    +
      +
    • + Support setting attributes on directories. +
    • +
    +

    + <available>

    +
      +
    • + Deprecated in favor of expression support. +
    • +
    +

    + <cl>

    +
      +
    • + Added support for passing character set to compiler. +
    • +
    +

    + <csc>

    +
      +
    • + Added "rebuild" attribute, which instructs NAnt to recompile the output file + regardless of the file timestamps.
    • +
    • + "nowarn" attribute has been deprecated in favor of the + <nowarn> child element.
    • +
    • + Added support for suppressing/reporting specific warnings as errors using the + <warnaserror> child + element. [.NET 2.0 or higher]
    • +
    • + Added support for package references. [Mono]
    • +
    • + <lib> element is + obsolete, in favor of <lib> + child element on <references> + and <modules> element.
    • +
    • + Added support for /baseaddress compiler option. +
    • +
    +

    + <copy>

    + +

    + <cvs>

    +
      +
    • + Several bugs have been fixed in the <cvs> tasks.
    • +
    • + Documentation updates.
    • +
    • + Added "passfile" attribute. +
    • +
    +

    + <exec>

    +
      +
    • + Fixed internal error when "program" attribute was assigned invalid file name. +
    • +
    • + Added "resultproperty" attribute, which can be set to a + name of a property in which the exit code of the program can be stored. +
    • +
    • + The <arg> element + now supports line and PATH-like command-line arguments. +
    • +
    +

    + <get>

    +
      +
    • + Added support for client certificates (for HTTP requests) by means of the + <certificates> elements. +
    • +
    +

    + <jsc>

    +
      +
    • + Added support for package references. [Mono]
    • +
    • + Added "rebuild" attribute, which instructs NAnt to recompile the output file + regardless of the file timestamps. +
    • +
    +

    + <license>

    +
      +
    • + Uses the lc.exe commandline tool to compile license files whenever + available. +
    • +
    +

    + <link>

    + +

    + <move>

    + +

    + <nant>

    +
      +
    • + Added <fileset> support + for specifiying build files to execute. +
    • +
    +

    + <ndoc>

    +
      +
    • + Upgraded to NDoc 1.3 Release Candidate 1.
    • +
    • + Added support for reference paths. +
    • +
    +

    + <nunit>

    +
      +
    • + The <nunit> task has + been deprecated, and will be moved to NAntContrib + in a future release. NUnit 1.0 test assemblies will remain supported through + NAntContrib, but we strongly advise you to upgrade to NUnit 2.x. +
    • +
    +

    + <nunit2>

    +
      +
    • + Upgraded to support + NUnit 2.2.
    • +
    • + If no explicit application configuration file is specified, a configuration + file matching the name of the test assembly with extension ".config" will be + used for the test domain.
    • +
    • + Minor bug fixes. +
    • +
    +

    + <regex>

    +
      +
    • + Added "options" attribute that takes a comma-separated list of options to pass + to the regex engine. +
    • +
    +

    + <resgen>

    +
      +
    • + Added support for assembly references, in order to be abel to compile .resx + file that reference assemblies that are not located in the GAC. +
    • +
    +

    + <script>

    +
      +
    • + Simplified definition of custom functions with the + <script> task.
    • +
    • + Added support for Visual J# (where available), and third party CodeDOM + providers.
    • +
    • + <script> task is now + supported on Mono.
    • +
    • + Assemblies emitted by the <script> + task will now also be scanned for functions and filters. +
    • +
    +

    + <solution>

    +
      +
    • + Added support for Visual J# projects.
    • +
    • + WebMaps are now case-insensitive (and added attribute to enable + case-sensitivity).
    • +
    • + Added "enablewebdav" attribute to allow WebDAV access for web projects.
    • +
    • + Added a few unit tests to reduce the likelyhood of regressions.
    • +
    • + Fixed some minor issues with regards to Visual C++ support.
    • +
    • + General performance has been improved, except for project with loads of + resources.
    • +
    • + Added support for exclusion of source files for Visual C++ projects.
    • +
    • + No longer stop loading projects, when the first excluded project is encountered + (bug #982685).
    • +
    • + No longer automatically use Primary Interop Assemblies for references to type + libraries, but output warning instead.
    • +
    • + Added support for satellite assemblies.
    • +
    • + Respect project build order set in VS.NET.
    • +
    • + VB.NET specific settings are now processed.
    • +
    • + Improved support for precompiled headers, better grouping of files that should + be compiled in one go.
    • +
    • + Added support for empty projects.
    • +
    • + No longer attempt to build ignored projects.
    • +
    • + Match behaviour of VS.NET when resolving assembly references.
    • +
    • + Fixed lookup of type libraries in the registry.
    • +
    • + Expansion of macros is now case-insensitive.
    • +
    • + Zero-byte resx files are now skipped to match VS.NET.
    • +
    • + Introduced support for nmake projects.
    • +
    • + Added support for web projects nested in Enterprise Template Projects.
    • +
    • + Compiled resource file are now stored in the obj\<configuration> + directory relative to project directory. The compiled resource files will not + be removed when the task finishes, by doing this resource files will now only + be recompiled if the compiled resource file in the object directory is no + longer up-to-date. This matches the behaviour of VS.NET.
    • +
    • + Added support for deploying App.config to output directory. +
    • +
    +

    + <sysinfo>

    +
      +
    • + If "failonerror" is false, the + <sysinfo> task will output a warning message in the build log + when a certain environment variable cannot be exposed as a property (because + of, for example, more strict naming rules for properties) and continue + processing other environment variables. In previous versions of NAnt, execution + of the <sysinfo> task + would halt on the first error.
    • +
    +

    + <vbc>

    +
      +
    • + Added support for suppressing specific warnings using the + <nowarn> child element. [.NET 2.0 or higher]
    • +
    • + Added support for suppressing/reporting specific warnings as errors using the + <warnaserror> child + element. [.NET 2.0 or higher]
    • +
    • + Added support for generating XML documentation files, using "doc" attribute. + [.NET 2.0 or higher]
    • +
    • + Added support for package references. [Mono]
    • +
    • + Added "rebuild" attribute, which instructs NAnt to recompile the output file + regardless of the file timestamps.
    • +
    • + Added <imports> child + element, and deprecated "imports" attribute.
    • +
    • + <lib> element is + obsolete, in favor of <lib> + child element on <references> + and <modules> element. +
    • +
    +

    + <vjc>

    +
      +
    • + Added support for suppressing specific warnings using the + <nowarn> child element. [.NET 2.0 or higher]
    • +
    • + <lib> element is + obsolete, in favor of <lib> + child element on <references> + and <modules> element.
    • +
    • + Added "rebuild" attribute, which instructs NAnt to recompile the output file + regardless of the file timestamps.
    • +
    • + Added support for /baseaddress compiler option. +
    • +
    +

    + <xmlpeek> / + <xmlpoke>

    +
      +
    • + Added support for XPath expressions with namespace prefixes. +
    • +
    +

    + <zip> / + <unzip>

    +
      +
    • + Added support for multiple filesets.
    • +
    • + A top level directory prefix can be set on individual filesets.
    • +
    • + Upgraded #ziplib + to v0.83. +
    • +
    +

    + New types

    +

    + <assemblyfileset>

    +
      +
    • + Specialized <fileset> for + managing assembly files. +
    • +
    +

    + <warnaserror>

    +
      +
    • + Controls the behaviour of a compiler with regards to the reporting of warnings. +
    • +
    +

    + Type changes

    +

    + <fileset>

    + +

    + Developer information

    +
      +
    • + The Task.LogPrefix property has been deprecated. Messages that are + written to build log by a given task, will now automatically get prefixed with + the task name. This behaviour can be disabled by the new -e[macs] commandline + option. +
    • +
    +

    + 0.84 (December 26, 2003)

    +

    + Task changes

    +

    + <xmlpeek>

    +
      +
    • + Fixed issues with logging statements.
    • +
    • + Added unit tests. +
    • +
    +

    + <xmlpoke>

    +
      +
    • + Added unit tests. +
    • +
    +

    + 0.84-rc 2 (December 21, 2003)

    +

    + General changes

    +
      +
    • + Specifying multiple targets on the command line will no longer cause all + dependencies of these targets to be executed again.
    • +
    • + The XmlLogger + will now correctly handle null-characters in the build output.
    • +
    • + Fixed issue with resources specified using the <resources> element + of the compiler tasks. +
    • +
    +

    + Task changes

    +

    + <solution>

    +
      +
    • + Fixed issues with web-projects.
    • +
    • + Added support for generating strongly signed ActiveX/COM wrapper assemblies. +
    • +
    +

    + <xmlpeek>

    +
      +
    • + filename attribute was renamed to file to improve + consistency with other tasks. +
    • +
    +

    + <xmlpoke>

    +
      +
    • + filename attribute was renamed to file to improve + consistency with other tasks. +
    • +
    +

    + 0.84-rc 1 (December 6, 2003)

    +

    + Breaking changes

    +

    + Some existing build scripts may stop working now or in the next release due to + the following changes:

    +
      +
    • + The NAntContrib binaries are no longer included in the NAnt distribution + package. The NAntContrib distribution package can now be obtained + here.
    • +
    • + The <call> task now executes the given target and all its + dependencies. In previous versions of NAnt only the target itself would be + executed.
    • +
    • + The todir attribute of the <copy> and <move> + tasks no longer defaults to the project base directory. It must now be set + explicitly.
    • +
    • + The force attribute of the <call> task has been + deprecated and has no longer any effect. The <call> task + will now always execute the specified target, regardless of the fact that this + target has already been executed before.
    • +
    • + The string-based files and attachments attributes of + the <mail> task have been replaced by fileset support.
    • +
    • + In previous versions of NAnt, the documentation stated that a target identified + by the nant.onfailure property would be executed when the build + fails. However, NAnt actually executed a target identified by the nant.failure + property (if available). This has now been corrected and the old syntax (nant.failure) + is now deprecated.
    • +
    • + The <param> element of the <style> task + has been deprecated in favor of a <parameters> collection + with nested <parameter> elements. The <parameter> + element now also supports a namespaceuri, if and unless + attribute. See the documentation of the <style> task for + more information.
    • +
    • + In previous versions of NAnt, the Plain formatter was implicitly + added in the <nunit2> task. In NAnt 0.8.4, the Plain + formatter will only implicitly be added if no other formatters are specified. + In this case, a warning message will be output to the build log encouraging + build authors to explicitly add this formatter for forward compatibility. In + future versions of NAnt, the Plain formatter will no longer + implicitly be added.
    • +
    • + The nested <param> child element of the <style> + task has been deprecated in favor of a nested <parameters> collection. +
    • +
    +

    + General changes

    +
      +
    • + The user documentation has been overhauled. Nested elements are more clearly + documented, documentation has been added for element types such as filesets and + credentials, and the overall format is slightly cleaner and easier to use.
    • +
    • + Improved bootstrapping NAnt on linux. Now supports Mono 0.28.
    • +
    • + Localization support has been improved in the <csc>, <jsc>, + <vbc> and <vjc> tasks: when dynamixprefix + is set to "true" and prefix is set to the root namespace of the assembly for + the nested <resources> element, the compiler tasks will now + compile resources with IDs matching these generated by VS.NET. Support for the + generation of satellite assemblies was also added to these tasks.
    • +
    • + On systems with both the .NET Framework 1.0 and .NET Framework 1.1 installed, + NAnt will now execute on the .NET Framework 1.1 by default. Note, the default + target framework has remained unchanged, and is still .NET Framework 1.0. +
    • +
    +

    + New Tasks

    +

    + <asminfo>

    +
      +
    • + Moved from NAntContrib to + NAnt, and was rewritten to support multiple code languages and attribute types. +
    • +
    +

    + <servicecontroller>

    +
      +
    • + Allows a Windows service to be controlled (started, stopped, ...). +
    • +
    +

    + <delay-sign>

    +
      +
    • + Supports delay-signing of strongly named assemblies. +
    • +
    +

    + <mc>,<rc> and <midl>

    +
      +
    • + Moved from NAntContrib to + NAnt. These tasks control compilation of service messages, resources, and IDL + code respectively. +
    • +
    +

    + <xmlpeek>

    +
      +
    • + Extracts text from an XML file at the location specified by an XPath + expression. +
    • +
    +

    + <xmlpoke>

    +
      +
    • + Replaces text in an XML file at the location specified by an XPath expression. +
    • +
    +

    + Task changes

    +

    + <call>

    +
      +
    • + The <call> task now executes the given target and all its + dependencies. In previous versions of NAnt only the target itself would be + executed.
    • +
    • + The force attribute of the <call> task has been + deprecated and has no longer any effect. The <call> task + will now always execute the specified target, regardless of the fact that this + target has already been executed before. +
    • +
    +

    + <cl>

    +
      +
    • + Added support for Managed Extensions. +
    • +
    +

    + <copy>

    +
      +
    • + The todir attribute no longer defaults to the project base + directory. It must now be set explicitly.
    • +
    • + Added flatten attribute to allow all matching files to be + copied to a single directory. +
    • +
    +

    + <csc>

    +
      +
    • + Improved localization support.
    • +
    • + Added support for additional search directories to resolve assembly references + through a nested <lib> element. +
    • +
    +

    + <cvs-checkout>

    +
      +
    • + Added option to checkout a revision based on sticky tag, -r on the command line + client.
    • +
    • + Added option to checkout a module to an alternate directory, -d on the command + line client.
    • +
    • + Fixed bug in parsing cvsnt date format. +
    • +
    +

    + <cvs-update>

    +
      +
    • + Fixed bug in parsing cvsnt date format. +
    • +
    +

    + <echo>

    +
      +
    • + Added level attribute to allow messages to be output with a + specific level. +
    • +
    +

    + <fail>

    +
      +
    • + Allow reason of failure to be specified as inline content. +
    • +
    +

    + <get>

    +
      +
    • + The httpproxy attribute of the <get> task is + deprecated, use the new <proxy> child element instead.
    • +
    • + Added <credentials> child element used for authenticating + the request with the Internet resource.
    • +
    • + Deprecated the ignoreerrors attribute in favor of the failonerror + attribute.
    • +
    • + Added timeout attribute to allow length of time to wait for a + response or the request to timeout to be specified. +
    • +
    +

    + <if>

    +
      +
    • + Added <uptodatefiles child element for uptodate fileset + support.
    • +
    • + <if uptodatefile="..."> now behaves as documented, meaning + that nested tasks will only be executed if the file specifies in the + uptodatefile attribute actually exists and the file specified in the uptodatefile + attribute is more recent or the same lastwritetime than the file(s) specifies + in the comparefile attribute and <comparefiles> + fileset. +
    • +
    +

    + <include>

    +
      +
    • + A verbose message will now be output to the build log when a file is included + multiple times. In previous versions of NAnt, this would cause a build failure. +
    • +
    +

    + <jsc>

    +
      +
    • + Improved localization support.
    • +
    • + Added support for additional search directories to resolve assembly references + through a nested <lib> element. +
    • +
    +

    + <mail>

    +
      +
    • + The string-based files and attachments attributes + have been replaced by fileset support.
    • +
    +

    + <move>

    +
      +
    • + The todir attribute no longer defaults to the project base + directory. It must now be set explicitly.
    • +
    • + Added flatten attribute to allow all matching files to + be moved to a single directory. +
    • +
    +

    + <nant>

    +
      +
    • + Properties can now be added or overridden when calling a nested build using the + new <properties> child element.
    • +
    • + buildfile is now a required attribute, which makes it harder to + accidently write an infinitely looping build. +
    • +
    +

    + <nantschema>

    +
      +
    • + Currently the <nantschema> task does not generate the + correct XML Schema definition for collections and arrays. This tasks needs to + be updated. Please use with caution. +
    • +
    +

    + <ndoc>

    +
      +
    • + Updated the <ndoc> task to using version 1.2 of NDoc. +
    • +
    +

    + <nunit2>

    +
      +
    • + Updated the <nunit2> task to use version 2.1 of NUnit.
    • +
    • + In previous versions of NAnt, the Plain formatter was implicitly + added. In NAnt 0.8.4, the Plain formatter will only implicitly be + added if no other formatters are specified. In this case, a warning message + will be output to the build log encouraging build authors to explicitly add + this formatter for forward compatibility. In future versions of NAnt, the Plain + formatter will no longer implicitly be added.
    • +
    • + Added outputdir attribute for <formatter> element + to control the directory where the test result file will be stored (if the usefile + attribute is "true"). +
    • +
    +

    + <property>

    +
      +
    • + Added overwrite attribute to the <property> task + to control whether the value of the specified property should be overwritten + when the property already exists.
    • +
    • + Added support for dynamic properties, meaning properties of which references to + other properties are not expanded when the value is set. +
    • +
    +

    + <resgen>

    +
      +
    • + Added support for specifying a prefix to <resgen> task when + using a fileset. +
    • +
    +

    + <solution>

    +
      +
    • + Added nested <assemblyfolders> fileset element that allows a + set of folders to be set, that should be searched to resolve assembly + references.
    • +
    • + By default, the Visual Studio.NET assembly folders will be searched to resolve + assembly references. An includevsfolders attribute was added to + control whether these folders should be searched for assembly references.
    • +
    • + Added <excludeprojects> fileset that allows a set of + projects to be excluded.
    • +
    • + An outputdir attribute can now be specified, which overrides the + directory where compiled targets will be placed.
    • +
    • + A nested <webmap> element was added that maps URL's of web + projects to local path, thereby removing the need to configure the web server + to allow access to these project files.
    • +
    • + Added support for Visual C++ projects.
    • +
    • + A large number of defect fixes and performance improvements have been applied. +
    • +
    +

    + <style>

    +
      +
    • + The nested <param> child element has been deprecated in + favor of a nested <parameters> collection. +
    • +
    +

    + <touch>

    +
      +
    • + If the file specified in the single-file case does not exist, it will now be + created. +
    • +
    +

    + <vbc>

    +
      +
    • + Improved localization support.
    • +
    • + Added support for additional search directories to resolve assembly references + through a nested <lib> element. +
    • +
    +

    + <vjc>

    +
      +
    • + Improved localization support.
    • +
    • + Added support for additional search directories to resolve assembly references + through a nested <lib> element. +
    • +
    +

    + <zip>

    +
      +
    • + Fixed issue when files were included that were not located beneath the basedir + of the fileset. +
    • +
    • + Added includeemptydirs attribute to control whether empty + directories should be included in the generated zip file. +
    • +
    • + Fixed failure when no basedir for fileset was specified. +
    • +
    • + Fixed failure when basedir of fileset is set to the root directory + of a drive in Windows. +
    • +
    +

    + API changes

    +
      +
    • + Added ProgramLocationAttribute that can be assigned to a task to + indicate that it wraps an executable that is part of either the .NET Framework + or the .NET Framework SDK, and have NAnt figure out the full path to the + executable using the framework settings in the NAnt configuration file. +
    • +
    • + FileSetAttribute has been deprecated. The BuildElementAttribute + should be used instead. +
    • +
    • + Added FrameworkConfigurableAttribute that can be assigned to a + task attribute to allow the default values of that attribute to be configured + from the framework configuration section in the NAnt configuration file for the + currently active framework. +
    • +
    • + Added <proxy> and <credentials> data + types that are used to provide proxy settings and authentication information + for tasks that connect to external resources (eg. the <get> task). +
    • +
    • + Added support for framework-specific third party libraries.
    • +
    • + Updated log4net to version 1.2.0 + beta 8. +
    • +
    +

    + 0.8.3 (September 28, 2003)

    +

    + User-visible changes

    +
      +
    • + Included NAntContrib binaries are from a release build. In rc3 they were debug + versions. +
    • +
    +

    + 0.8.3-rc3 (August 29, 2003)

    +

    + User-visible changes

    +
      +
    • + Added test directory to distribution fixing the build failure in 0.8.3. +
    • +
    +

    + 0.8.3-rc2 (July 28, 2003)

    +

    + User-visible changes

    +
      +
    • + Built with .NET 1.0. +
      + This release candidate is built with version 1.0 of the .NET Framework. The + binaries for RC1 had been built with version 1.1, which had backwards + compatibility issues. +
      +
    • +
    • + Fixed defect: temp directory leak in <solution> task. +
      + Matthew Mastracci fixed a major temp directory leak. It was leaking approx. one + temp directory per project! You should clear your Local Settings\Temp directory + for the user you use to build your solutions. +
      +
    • +
    • + <solution> VB.NET support. +
      + The <solution> task now supports VB.NET projects. This was meant to be + part of the RC1 release. +
      +
    • +
    • + Matthew Mastracci has also checked in support for reading resources of VB + projects and generating the appropriate dependent resource name. +
    • +
    • + Documentation for NAntContrib. +
      + This release candidate includes the binaries and documentation for the + NAntContrib extensions. Note that the source is still distributed seperately + during this release cycle. +
      +
    • +
    +

    + 0.8.3-rc1 (July 10, 2003)

    +

    + User-visible changes

    +
      +
    • + NAntContrib is now distributed with NAnt. +
      + To better support the frequently-used NAntContrib extensions, the library is + now distributed as part of the NAnt release. +
      +
    • +
    • + Preliminary Linux support. +
      + This is the first release with Linux support, so please report any issues you + encounter. The next release will be fully tested and documented on both Linux + and Windows. +
      +
    • +
    • + New Tasks. +
        +
      • + <cvs-checkout> task : Checkout source from CVS.
      • +
      • + <cvs-update:> task : Update source from CVS.
      • +
      • + <solution> task : compile .sln directly. In most cases, this means you no + longer have to preprocess a solution with the slingshot tool. Supports both + Visual Studio .NET and Visual Studio 2003. +
      • +
      +
    • +
    • + Changed tasks. +
      + See the section below for details. +
      +
    • +
    • + FileSet references. +
      + You can now define a named FileSet and refer to it anywhere a FileSet is used. +
      +
    • +
    +

    + API changes

    +
      +
    • + Namespace changes +
        +
      • + "SourceForge" is no longer part of the NAnt namespaces.
      • +
      • + Split classes up into Tasks and Types.
      • +
      • + Task assemblies now have their own namespaces.
      • +
      • + Removed Msft prefix from base classes. +
      • +
      +
    • +
    • + Logging framework changed +
        +
      • + Refactored NAnt (build) logging system : moved to an event driven logging + system, and allow thresholds to be set. The build outcome is now completely + handled by the loggers.
      • +
      • + Replaced the LogListener with an IBuildLogger interface for loggers and an + IBuildListener interface for build listeners.
      • +
      • + The ConsoleLogger is replaced by a DefaultLogger, which always logs to the + console, and which can also be configured to log to a file (using the -logfile + option).
      • +
      • + The static Log class is removed and replaced by instance methods on the Project + and Task classes. These instance methods actually fire events that get handled + by the build logger and buid listeners.
      • +
      • + Added a Level enum that is used to assign a priority (level) to a message. This + allows messages to be filtered on their priority.
      • +
      • + Added a strongly typed collection for the build listeners.
      • +
      • + Updated all existing logging statements to use the new logging system instead + of the static Log class. Assigned levels to the existing logging statements.
      • +
      • + Added MailLogger that can be used to send the build results as an email, see + xml docs for how its to be configured. +
      • +
      +
    • +
    • + Many, many style/structure/documentation fixes. More that are worth listing + here.
    • +
    • + Fixed NUnit2 support for FileSets.
    • +
    • + Prevent warnings for using obsolete methods to allow NDoc Documenter.Nant to + build on .NET 1.1 runtime.
    • +
    • + Nightly.xml no longer depends on NAntContrib tasks.
    • +
    • + Moved <mail> task and test back into core as its working fine on Linux + now.
    • +
    • + New attribute-driven command-line parser. +
    • +
    +

    + Command-line client changes

    +
      +
    • + Changed target back to the default argument.
    • +
    • + Moved company information (http://nant.sourceforge.net) from help text to logo + banner.
    • +
    • + Added support for running default.build if there are multiple build files in a + directory.
    • +
    • + Added support for collection-based command-line options, with the following + restrictions : +
        +
      • + property type should implement ICollection
      • +
      • + collection should have an Add method with one parameter
      • +
      • + parameter of the Add method should be strongly-typed
      • +
      • + collection should have a default public constructor
      • +
      • + the property should have a setter if the collection is not initialized (null + reference) +
      • +
      +
    • +
    • + Fixed "bug" where ApplicationException would no longer be throw when no + matching buildfile is found after searching the directory tree upwards.
    • +
    • + Updated short form of buildfile to -f.
    • +
    • + Added -q shortname for -quiet command-line option.
    • +
    • + Changed description of -indent command-line option.
    • +
    • + Added command-line option for adding build listeners.
    • +
    • + Updated xml documentation.
    • +
    • + Added command-line options for filtering build output (-debug and -quiet).
    • +
    • + Jarek's patch to allow setting of the default framework from the command line, + fixes bug 729778.
    • +
    • + Always use identifier mono-1.0 for Mono framework, no use in always creating + new framework configurations for every Mono release. +
    • +
    +

    + Task changes

    +

    + <exec>

    +
      +
    • + Added support for an environment optionset to the <exec> task.
    • +
    • + Fixed optionset so that it correctly returns optionvalues.
    • +
    • + Remove Timeout from ExecTask, make Timeout in ExternalProgramBase a task + attribute and make it writable.
    • +
    • + Throw BuildException if process has not exited after timeout. +
    • +
    +

    + <vjc>

    +
      +
    • + Added attribute for setting the warninglevel (0-4).
    • +
    • + Added attribute for specifiying list of warnings that should be suppressed by + the compiler. +
    • +
    +

    + <jsc>

    +
      +
    • + Added support for codepage compiler flag.
    • +
    • + Added attribute for setting the warninglevel (0-4).
    • +
    +

    + <csc>

    +
      +
    • + Added support for codepage compiler flag.
    • +
    • + Renamed optionoptimize attribute to optimize.
    • +
    • + Added attribute for setting the warninglevel (0-4).
    • +
    • + Added attribute for specifiying list of warnings that should be suppressed by + the compiler.
    • +
    • + Patch from Justin Santa Barbara to add optimize flag to csc.
    • +
    • + Fixed csc example. +
    • +
    +

    + <nantschema>

    +
      +
    • + Added makefile for building on Linux. Also a new bin directory for Linux + specific binaries. +
    • +
    +

    + <mcs>

    +
      +
    • + Removed <mcs> task. the <csc> task in combination with the + framework support should be used instead. +
    • +
    +

    + <nant>

    +
      +
    • + Fixed problem with basedir in nested <nant> build being incorrect if + basedir="." is used.
    • +
    • + Have new project inherit the default framework from the current project.
    • +
    +

    + <copy>

    +
      +
    • + Fix for <copy> task breakage on Linux.
    • +
    • + Reenabled File.SetAttributes on Mono build as bug #41999 has been fixed.
    • +
    +

    + <if>

    +
      +
    • + Fixed logging bug with parenthesis instead of brace. Caused <if + uptodate...> to fail erroneously. +
    • +
    +

    + <cl> and <link>

    +
      +
    • + On demand compile support for <link> and <cl> tasks.
    • +
    • + Added unit tests for the <cl> and <link> tasks.
    • +
    • + Moved Visual C++ related tasks into Win32Assemblies so it doesn't get built in + a Mono/Linux build. +
    • +
    +

    + <fileset>

    +
      +
    • + Added support for FileSet references. Framework for making all types + referencable but only implemented for FileSets right now. +
    • +
    +

    + <mail>

    +
      +
    • + Reenabled usage of StringWriter constructor with CultureInfo as this bug in + Mono is fixed.
    • +
    • + No longer have empty strings as default.
    • +
    • + Bcc and cc are no longer set to an empty string when not specified in + buildfile, thereby preventing problems with Mono bug #45746. +
    • +
    +

    + 0.8.2 (April 24, 2003)

    +
      +
    • + Misc bugfixes. +
    • +
    +

    + 0.8.2-rc3 (April 17, 2003)

    +
      +
    • + <if> task changes to support the uptodate test.
    • +
    • + Changes for task item element initialization.
    • +
    • + Read output of <exec>'d (and other external program) processes and insert + into logfile.
    • +
    • + Fixed logging for <regex> task.
    • +
    • + Made NAnt errors less chatty.
    • +
    • + NAnt now works without Framework SDK installed.
    • +
    • + Fixed bugs in <Copy> and <Move> tasks which caused exceptions when + using todir and a FileSet, in certain cases.
    • +
    • + New <unzip> task.
    • +
    • + New <loadtasks> task which replaces the functionality of taskdef (from + NAntContrib).
    • +
    • + <foreach> supports <in><items> FileSet to work on files. +
    • +
    +

    + 0.8.2-rc2 (April 12, 2003)

    +
      +
    • + Fix for <nunit2> task using FileSet.
    • +
    • + Fix for FileSet's <includeList> element. +
    • +
    +

    + 0.8.2-rc1 (April 12, 2003)

    +
      +
    • + Logging cleanups: use log4net for internal logging.
    • +
    • + FxCop cleanups for correctness.
    • +
    • + Support for multiple versions of .NET framework.
    • +
    • + Changes to make NAnt more Mono-friendly.
    • +
    • + Updated SharpZipLib library.
    • +
    • + Makes error reporting more accurate - give line numbers for property expansion + errors.
    • +
    • + Multiple test assembly support for <nunit2> task.
    • +
    • + General speed-up for directory/file scanning.
    • +
    • + <resgen> task file generation correctness fixes.
    • +
    • + Added support multiple delimiters and string trimming to LoopTask's file line + mode.
    • +
    • + More support for csc/vbc command-line options. +
    • +
    +

    + 0.8.1 (February 21, 2003)

    +
      +
    • + Added more command-line options (-f: to specify a buildfile).
    • +
    • + Added case sensitivity checks.
    • +
    • + Added <vjc> task.
    • +
    • + Fixed NUnit2 support.
    • +
    • + Misc bugfixes and cleanups from contributors. +
    • +
    +

    + 0.7.9 (June 11, 2002)

    +
      +
    • + If more than one build file matches the criteria, e.g. two files ending in + .build than NAnt will report an error.
    • +
    • + Added -find option, causes NAnt to search up the directory tree looking for the + buildfile. Use in conjunction with -buildfile:foo.* to find the first foo.* + file up the directory tree.
    • +
    • + Added -projecthelp option, callable targets should now include a description + attribute to describe briefly what they do.
    • +
    • + CompilerBase tasks now check for changed resources and recompiles if out of + date.
    • +
    • + Compiler tasks reportq what caused the rebuild when verbose is on, try 'NAnt + -verbose'.
    • +
    • + Improved Log class.
    • +
    • + Added PlainText NUnit formatter, see NAnt's build file for an example.
    • +
    • + nant.onsuccess and nant.onfailure properties can now name a target to get + executed at the end of a build.
    • +
    • + FileSets now have an absolute element. Items inside an absolute element will + always be included in the file set. This is useful for references that are in + the system path. See the HelloWindowsForms build file for an example.
    • +
    • + -set option changed to -D to be more like Ant.
    • +
    • + Unknown command line arguments cause program help to be displayed.
    • +
    • + FileSets now support absolute paths and parent directories.
    • +
    • + *Tasks.dll assemblies that are in the same folder as NAnt are automatically + loaded and scanned for tasks.
    • +
    • + User manual available.
    • +
    • + Help for tasks is auto-generated.
    • +
    • + <attrib> task added.
    • +
    • + <gac> task added and moved to NAntContrib project.
    • +
    • + <sysinfo> task added.
    • +
    • + Added failonerror, verbose, if and unless attributes to all tasks.
    • +
    • + DESIGN DECISION: all elements and attributes will be lowercase
    • +
    • + Major reworking of FileSet class (removed absolutes element, added asis + attribute).
    • +
    • + Tasks/Targets/FileSet includes/excludes now have if/unless attributes.
    • +
    • + New Unit Tests added. +
        +
      • + CallTest.cs
      • +
      • + DeleteTest.cs
      • +
      • + EchoTest.cs
      • +
      • + FailTest.cs
      • +
      • + MkdirTest.cs
      • +
      • + MoveTest.cs
      • +
      • + PropertyTest.cs +
      • +
      +
    • +
    • + New Properties added during project initilization. +
        +
      • + nant.location points to nant.exe directory
      • +
      • + nant.tasks.[TaskName].location points to [TaskName] host assembly +
      • +
      +
    • +
    • + <nant> task now inherits properties to new project.
    • +
    • + Tasks moved to NAntContrib Project +
        +
      • + GacTask.cs
      • +
      • + RcTask.cs
      • +
      • + ResGenTask.cs
      • +
      • + TlbExpTask.cs
      • +
      • + TlbImpTask.cs
      • +
      • + TypedCollectionTask.cs
      • +
      • + Vb6Task.cs +
      • +
      +
    • +
    • + NUnit XML format updated.
    • +
    • + Many, many, many bugs fixed.
    • +
    +

    + 0.7.749 (January 19, 2002)

    +
      +
    • + <docnet> task added, try 'NAnt doc' to build NAnt's documentation.
    • +
    • + NUnitCore.dll added to project.
    • +
    • + Fixed FileSet basedir attributes, they now expand macros.
    • +
    • + <script> task and example added - thanks to Sergey Chaban.
    • +
    • + Build file now extracts version number from AssemblyInfo.cs - thanks to Sergey + Chaban.
    • +
    • + CompilerBase now adds quotations to all referenced files - thanks to Mike + Krueger.
    • +
    • + BuildException is now serializable.
    • +
    • + ExternalProgramBase reports differentiates between Process exceptions and + program return codes now.
    • +
    • + Unit tests are now run as part of the buid process.
    • +
    • + <touch> task added - thanks to Jay Turpin.
    • +
    • + NUnit overhaul. +
        +
      • + camelCase'ed attributes, haltOnFailure, haltOnError
      • +
      • + renamed printsummary to verbose
      • +
      • + replaced SummaryResultFormatter with improved SummaryFormatter
      • +
      • + added VerboseFormatter +
      • +
      +
    • +
    • + <get> task added - thanks to Jay Turpin
    • +
    • + <docnet> task renamed to <ndoc>.
    • +
    • + NDoc.Core.dll and NDoc.Documenter.Msdn.dll added to project.
    • +
    • + NAnt.exe split into NAnt.exe and NAnt.Core.dll.
    • +
    • + <al> task added - thanks to Joe Jones.
    • +
    • + <resgen> task added - thanks to Joe Jones.
    • +
    • + <zip> task added - thanks to Mike Krueger.
    • +
    • + <cl> task added - thanks to Shawn Van Ness.
    • +
    • + Added support for .NET v1.0.3705 (RTM). +
    • +
    +

    + 0.6.0 (September 18, 2001)

    +
      +
    • + Report build file xml errors in a useful way.
    • +
    • + Report error location when tasks are missing required attributes.
    • +
    • + <copy> task updated - thanks to Ian MacLean.
    • +
    • + **/*.cs type pattern matching now available in FileSets via DirectoryScanner + class.
    • +
    • + Added all the environment variables to + properites,ie,<echomessage="path=${nant.env.PATH}"/>.
    • +
    • + <move> task updated - thanks to Ian MacLean.
    • +
    • + <sleep> task added - thanks to Ian MacLean.
    • +
    • + DirectoryScanner and FileSet's scan for files AND directories now
    • +
    • + FileSet's cache scan results, use Scan() to rescan.
    • +
    • + FileSet's auto initialize to their containing task, this helps clean up the + code.
    • +
    • + <copy> task can now copy full directory trees.
    • +
    • + Added verbose attribute to <copy> task, default off, message gives number + of files processed.
    • +
    • + Fixed bug with any ExternalBase tasks hanging - thanks to Sergey Chaban for + reporting.
    • +
    • + <include> task added.
    • +
    • + <call> task added.
    • +
    • + -verbose command line option added.
    • +
    • + Build file can now build complete distribution, try 'NAnt dist'. +
    • +
    +

    + 0.5.0 (August 22, 2001)

    +
      +
    • + Complete overhaul of the web site and doc folder (all html files).
    • +
    • + Made src a parent folder to be able to hold multiple assemblies in anticipation + of the NAnt.Tests.dll assembly.
    • +
    • + License changed to GNU General Public License.
    • +
    • + Source code placed under CVS.
    • +
    • + Tasks can now have attributes in base classes, see CompilerBase as an example - + thanks to Mike Krueger.
    • +
    • + Coding conventions posted on SourceForge in the document manager.
    • +
    • + Task manager in SourceForge is now being used to track currently active tasks.
    • +
    • + Namespace changed to SourceForge.NAnt.
    • +
    • + Added basic command line parsing.
    • +
    • + Added version resource.
    • +
    • + Support for multiple build targets (try 'NAnt clean test').
    • +
    • + BuildException added to report text position in the build file where errors + occur - thanks to Ian MacLean.
    • +
    • + <style> task (xslt processing) added - thanks to Serge.
    • +
    • + Executable is now signed with the NAnt.key.
    • +
    • + Converted all public/protected fields to properties.
    • +
    • + Added support for user defined properties.
    • +
    • + Added -set option (try 'NAnt -set:debug=true clean build').
    • +
    • + Changed verions number to 0.5 to reflect the number of changes in the code + base. +
    • +
    +

    + 0.1.5 (July 22, 2001)

    +
      +
    • + Only compiles program if source file last write time > output last write + time.
    • +
    • + Refactored compiler code into common CompilerBase class.
    • +
    • + Refactored compiler and exec task into common ExternalProgramBase class.
    • +
    • + Added <arg value="/win32res:filename"/> element to all external program + tasks.
    • +
    • + Added Int32ValidatorAttribute and BooleanValidatorAttribute classes to perform + error checking on task attributes after macro expansion but before task + execution. Search for BooleanValidator or Int32Validator in tasks for examples.
    • +
    • + Changed Task attribute names to TaskAttributeAttribute and FileSetAttribute.
    • +
    • + Removed default value for task attributes (set with initial value).
    • +
    • + Changes to Project class on how to initialize a project and run it.
    • +
    • + Right aligned task prefixes to clean up output.
    • +
    • + Added or enhanced these tasks +
        +
      • + vbc, jsc, csc
      • +
      • + move
      • +
      • + nant
      • +
      • + tstamp
      • +
      • + exec (failonerror attribute) +
      • +
      +
    • +
    +

    + 0.1.4 (July 19, 2001)

    +
      +
    • + Added or enhanced these tasks +
        +
      • + echo
      • +
      • + fail
      • +
      • + property
      • +
      • + copy (respects basedir)
      • +
      • + delete (respects basedir)
      • +
      • + mkdir (respects basedir)
      • +
      • + exec +
      • +
      +
    • +
    +

    + 0.1.3 (July 18, 2001)

    +
      +
    • + Dependencies working via depends attribute on targets.
    • +
    • + Changed name from NBuild to NAnt.
    • +
    • + Using the name "Parameter" to refer to the xml attributes in tasks because it + was conflicting badly with .NET Attributes.
    • +
    • + Added FileSetParameterAttribute so that FileSet parameters would autoinit.
    • +
    • + Renamed TaskAttributeAttribute to StringParameterAttribute.
    • +
    • + Broke into seperate source files (one per class).
    • +
    • + Changed default build file from Project.xml to the first file with a .build + extension. +
    • +
    +

    + 0.1.2 (July 16, 2001)

    +
      +
    • + Basic functionality to have NAnt build itself (<csc> task). +
    • +
    +

    + 0.1.1 (July 5, 2001)

    +
      +
    • + Initial test version. +
    • +
    + + diff --git a/build-support/tools/nant/doc/sdk/NAnt-SDK.chm b/build-support/tools/nant/doc/sdk/NAnt-SDK.chm index ee72e8310eed2a60f221bf5555c52a3716da985b..41ad3921143e58b90f1d6de46fabbb8684e89f22 100644 GIT binary patch literal 2756773 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

    DQZ)o<_4O<#H`f*I;0!6BaLK@ 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

    m?CW~9`XX3Z%A?) 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%0ARjFKPUm$ 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%0Doz>cn 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%0A~I zU*18jo9ZXyi8|^_2_*hei|u3PE_b-C-Wb2@A(VzJ33E!bDX`tDa`2wWntVzX^roU5 zu|Irf6sZbvJHO&zwjR|OoqyelB5kz~?3Vl)m<0a9ewPwREU7xf^_kLy&hGnv>V&Xv)OT&rZ;E<@rg2 z9xj&??-n&;uc6iAYK2Y7U!=P_e(|e@0;6{gd%Wa)OhZ7)LFd!^DWOfU&yC`kW$`1r z2zLrApGLJG%?>#^_^aI(>6E^nS21$e*5|J~%`u*r3mp7Ui{l}no%PCDxxB4?J>46C z_C@s`=wjDn%!dIjY~!J5xSC%|i}5pu8k#4KI|k1m_q45;FN8shjv8g= zTPLgC(A!ypz~S@A7r2(RSy=0! zV~946uvudytarEQAx}^DTmEK~ctvs?*iZaletEvW*o)DtTuZ4VH1;U;jLA3N#vDof zvgH5z0b>kO$?*e5q-FwXjPgEdPS{ZG=Kdxl9yGcie;vQs}ylS+l@ob{~a_wAvWFconX`hzHf$KT_=%P7Gi z$>{;Fq}BDO&{R?uMN)_TCf!{<-~5@~oZcr9FQgzWlZ}wqEaXev9SFveh!WT<`nDh} zQ*n_+EDI|+GNv4g1^|Fy9>f7V00UqEz5p)(4y*wH002({6ae@D*CzlDfB}F2XbfJ@ zz!d->f&ijt03Zd*0RR95XH-FeFAxs80W<&xfWY+7Z2;{a00AHX>>wJj0talH^#A~h zJi8afA3v4^%x<~SA^HD5b!GZ$qt?qgcm8hYs^UB$XUH&^{*`+-C0!?zBZ>I~$@30lX)?>DY_leK&@)@XO?QX1M{-hVk0pik$&{W)eHB-P5_F12 z4^ArD59Cf%7)Ofy>2XFU3i#rd5zySUZp|Pd^sjg+(IiyJAxDd{Y6zQ)n-hWLLTyR{ z@MNJK0EkzX^$ZmrkjQ1zEtq4xrM%)#FN6PUe)8uMH52^lLB~^ckelyd4~nE*A4HhE zB0;1T!3 z%|6??WpSGr!3(|v3Y#PXOmqu$m?FvJ|;#BdE)+Z&tqSrYk8cWsPu{i$>b`(IelU>+utSfsKWc5puO!HUzOMrWIRtg=`b>&Pgl-BxXScG-2*rwq@$C9hOCY{ zlOy&VzScw>_nP3T4wU3vgpQ}oV}dxcd|J#$rGvhJ75s{7QK+MSp*{1Mw| z{@eZY4VnPVO`q}%MM7Fdi!~D~gztB^u9&l{uC7U&-6>kl^w<0G1Z{@+Yq17LD#(3M zw;pHkp1=~o`jLwnqW-;M6lt*q7tWyBlzmJXiT}hndu$w7sMN;`a+40X zi)(`O*oosfHU`X@BtX9JW~=p7S_zZ!Fp_5R&Q$oA_3cr$K*w}zaCgKOCXoM?Rb

    LW>+5S-U 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