From 24700062bb6ba52ada39cdb01b419248d2507ced Mon Sep 17 00:00:00 2001 From: sbohlen Date: Mon, 16 Aug 2010 14:28:32 +0000 Subject: [PATCH] added NAnt to build tools --- build-support/tools/nant/COPYING.txt | 340 + build-support/tools/nant/README.txt | 144 + .../tools/nant/bin/NAnt.CompressionTasks.dll | Bin 0 -> 32768 bytes .../tools/nant/bin/NAnt.CompressionTasks.xml | 609 + build-support/tools/nant/bin/NAnt.Core.dll | Bin 0 -> 356352 bytes build-support/tools/nant/bin/NAnt.Core.xml | 14880 ++++++++++++++++ .../tools/nant/bin/NAnt.DotNetTasks.dll | Bin 0 -> 122880 bytes .../tools/nant/bin/NAnt.DotNetTasks.xml | 4825 +++++ .../tools/nant/bin/NAnt.MSNetTasks.dll | Bin 0 -> 28672 bytes .../tools/nant/bin/NAnt.MSNetTasks.xml | 580 + build-support/tools/nant/bin/NAnt.NUnit.dll | Bin 0 -> 8704 bytes build-support/tools/nant/bin/NAnt.NUnit.xml | 353 + .../tools/nant/bin/NAnt.NUnit1Tasks.dll | Bin 0 -> 36864 bytes .../tools/nant/bin/NAnt.NUnit1Tasks.xml | 538 + .../tools/nant/bin/NAnt.NUnit2Tasks.dll | Bin 0 -> 32768 bytes .../tools/nant/bin/NAnt.NUnit2Tasks.xml | 568 + .../nant/bin/NAnt.SourceControlTasks.dll | Bin 0 -> 40960 bytes .../nant/bin/NAnt.SourceControlTasks.xml | 1285 ++ .../tools/nant/bin/NAnt.VSNetTasks.dll | Bin 0 -> 159744 bytes .../tools/nant/bin/NAnt.VSNetTasks.xml | 3881 ++++ .../tools/nant/bin/NAnt.VisualCppTasks.dll | Bin 0 -> 49152 bytes .../tools/nant/bin/NAnt.VisualCppTasks.xml | 1205 ++ .../tools/nant/bin/NAnt.Win32Tasks.dll | Bin 0 -> 36864 bytes .../tools/nant/bin/NAnt.Win32Tasks.xml | 690 + build-support/tools/nant/bin/NAnt.exe | Bin 0 -> 10752 bytes build-support/tools/nant/bin/NAnt.exe.config | 1716 ++ build-support/tools/nant/bin/NAnt.xml | 48 + .../tools/nant/bin/NDoc.Documenter.NAnt.dll | Bin 0 -> 131072 bytes .../lib/ICSharpCode.SharpCvsLib.Console.dll | Bin 0 -> 98304 bytes .../nant/bin/lib/ICSharpCode.SharpCvsLib.dll | Bin 0 -> 155648 bytes .../nant/bin/lib/ICSharpCode.SharpZipLib.dll | Bin 0 -> 143360 bytes .../tools/nant/bin/lib/NUnitCore.dll | Bin 0 -> 40960 bytes .../tools/nant/bin/lib/mono/1.0/NDoc.Core.dll | Bin 0 -> 174592 bytes .../bin/lib/mono/1.0/NDoc.Documenter.Msdn.dll | Bin 0 -> 318464 bytes .../nant/bin/lib/mono/1.0/NDoc.ExtendedUI.dll | Bin 0 -> 16896 bytes .../nant/bin/lib/mono/1.0/nunit.core.dll | Bin 0 -> 86016 bytes .../nant/bin/lib/mono/1.0/nunit.framework.dll | Bin 0 -> 45056 bytes .../nant/bin/lib/mono/1.0/nunit.util.dll | Bin 0 -> 86016 bytes .../tools/nant/bin/lib/mono/2.0/NDoc.Core.dll | Bin 0 -> 174592 bytes .../bin/lib/mono/2.0/NDoc.Documenter.Msdn.dll | Bin 0 -> 318464 bytes .../nant/bin/lib/mono/2.0/NDoc.ExtendedUI.dll | Bin 0 -> 16896 bytes .../nant/bin/lib/mono/2.0/nunit.core.dll | Bin 0 -> 86016 bytes .../nant/bin/lib/mono/2.0/nunit.framework.dll | Bin 0 -> 40960 bytes .../nant/bin/lib/mono/2.0/nunit.util.dll | Bin 0 -> 86016 bytes .../tools/nant/bin/lib/net/1.0/NDoc.Core.dll | Bin 0 -> 208896 bytes .../bin/lib/net/1.0/NDoc.Documenter.Msdn.dll | Bin 0 -> 331776 bytes .../nant/bin/lib/net/1.0/NDoc.ExtendedUI.dll | Bin 0 -> 28672 bytes .../tools/nant/bin/lib/net/1.0/nunit.core.dll | Bin 0 -> 86016 bytes .../nant/bin/lib/net/1.0/nunit.framework.dll | Bin 0 -> 45056 bytes .../tools/nant/bin/lib/net/1.0/nunit.util.dll | Bin 0 -> 86016 bytes .../tools/nant/bin/lib/net/1.1/NDoc.Core.dll | Bin 0 -> 208896 bytes .../bin/lib/net/1.1/NDoc.Documenter.Msdn.dll | Bin 0 -> 331776 bytes .../nant/bin/lib/net/1.1/NDoc.ExtendedUI.dll | Bin 0 -> 28672 bytes .../tools/nant/bin/lib/net/1.1/nunit.core.dll | Bin 0 -> 86016 bytes .../nant/bin/lib/net/1.1/nunit.framework.dll | Bin 0 -> 45056 bytes .../tools/nant/bin/lib/net/1.1/nunit.util.dll | Bin 0 -> 86016 bytes .../tools/nant/bin/lib/net/2.0/NDoc.Core.dll | Bin 0 -> 208896 bytes .../bin/lib/net/2.0/NDoc.Documenter.Msdn.dll | Bin 0 -> 331776 bytes .../nant/bin/lib/net/2.0/NDoc.ExtendedUI.dll | Bin 0 -> 28672 bytes .../tools/nant/bin/lib/net/2.0/nunit.core.dll | Bin 0 -> 86016 bytes .../nant/bin/lib/net/2.0/nunit.framework.dll | Bin 0 -> 40960 bytes .../tools/nant/bin/lib/net/2.0/nunit.util.dll | Bin 0 -> 86016 bytes build-support/tools/nant/bin/log4net.dll | Bin 0 -> 241664 bytes build-support/tools/nant/bin/scvs.exe | Bin 0 -> 7680 bytes .../help/elements/NAnt.Core.DataTypeBase.html | 56 + .../NAnt.Core.Filters.ChainableReader.html | 29 + .../elements/NAnt.Core.Filters.Filter.html | 56 + .../NAnt.Core.Filters.PhysicalTextReader.html | 29 + .../doc/help/elements/NAnt.Core.Target.html | 81 + .../doc/help/elements/NAnt.Core.Task.html | 29 + .../elements/NAnt.Core.TaskContainer.html | 68 + .../NAnt.Core.Tasks.ExternalProgramBase.html | 121 + .../elements/NAnt.Core.Tasks.InElement.html | 49 + .../elements/NAnt.Core.Types.Argument.html | 120 + .../NAnt.Core.Types.EnvironmentSet.html | 65 + .../NAnt.Core.Types.EnvironmentVariable.html | 99 + .../NAnt.Core.Types.FileSet.Exclude.html | 63 + .../NAnt.Core.Types.FileSet.ExcludesFile.html | 63 + .../NAnt.Core.Types.FileSet.Include.html | 75 + .../NAnt.Core.Types.FileSet.IncludesFile.html | 75 + .../elements/NAnt.Core.Types.Formatter.html | 69 + .../help/elements/NAnt.Core.Types.Option.html | 68 + .../elements/NAnt.Core.Types.PathElement.html | 74 + .../help/elements/NAnt.Core.Types.RawXml.html | 33 + .../help/elements/NAnt.Core.Types.Token.html | 68 + .../NAnt.Core.Types.XmlNamespace.html | 68 + .../NAnt.Core.Types.XsltExtensionObject.html | 74 + .../NAnt.Core.Types.XsltParameter.html | 74 + .../NAnt.DotNet.Tasks.CompilerBase.html | 308 + .../NAnt.DotNet.Types.AssemblyAttribute.html | 74 + .../NAnt.DotNet.Types.CompilerWarning.html | 62 + ...t.DotNet.Types.DataTypeCollectionBase.html | 56 + ...tNet.Types.EmbeddedResourceCollection.html | 29 + .../NAnt.DotNet.Types.LibDirectorySet.html | 57 + .../NAnt.DotNet.Types.NamespaceImport.html | 69 + .../elements/NAnt.DotNet.Types.Package.html | 62 + .../NAnt.NUnit.Types.FormatterElement.html | 70 + .../elements/NAnt.NUnit1.Types.NUnitTest.html | 92 + .../elements/NAnt.NUnit2.Types.Category.html | 62 + .../NAnt.NUnit2.Types.NUnit2Test.html | 99 + ...t.SourceControl.Tasks.AbstractCvsTask.html | 230 + ...ntrol.Tasks.AbstractSourceControlTask.html | 158 + .../elements/NAnt.VSNet.Types.WebMap.html | 74 + .../NAnt.VisualCpp.Types.Library.html | 62 + .../elements/NAnt.VisualCpp.Types.Symbol.html | 62 + ...ompression.Tasks.TarCompressionMethod.html | 54 + ...t.Compression.Types.DuplicateHandling.html | 54 + .../nant/doc/help/enums/NAnt.Core.Level.html | 66 + ...Core.Tasks.AvailableTask.ResourceType.html | 58 + .../NAnt.Core.Tasks.LoopTask.LoopItem.html | 63 + .../NAnt.Core.Tasks.LoopTask.LoopTrim.html | 59 + ...t.Tasks.AssemblyInfoTask.CodeLanguage.html | 54 + ...t.DotNet.Tasks.RegsvcsTask.ActionType.html | 54 + .../enums/NAnt.DotNet.Types.DebugOutput.html | 84 + ...asks.ServiceControllerTask.ActionType.html | 62 + .../enums/NAnt.NUnit.Types.FormatterType.html | 50 + ...pp.Tasks.ClTask.PrecompiledHeaderMode.html | 54 + .../NAnt.VisualCpp.Types.CharacterSet.html | 54 + .../doc/help/filters/expandproperties.html | 33 + .../tools/nant/doc/help/filters/index.html | 60 + .../nant/doc/help/filters/replacestring.html | 92 + .../nant/doc/help/filters/replacetokens.html | 110 + .../nant/doc/help/filters/tabstospaces.html | 73 + .../functions/assembly.get-full-name.html | 51 + .../help/functions/assembly.get-location.html | 51 + .../doc/help/functions/assembly.get-name.html | 52 + .../functions/assembly.load-from-file.html | 52 + .../doc/help/functions/assembly.load.html | 55 + .../assemblyname.get-assembly-name.html | 54 + .../functions/assemblyname.get-codebase.html | 51 + .../assemblyname.get-escaped-codebase.html | 51 + .../functions/assemblyname.get-full-name.html | 53 + .../help/functions/assemblyname.get-name.html | 53 + .../functions/assemblyname.get-version.html | 54 + .../nant/doc/help/functions/bool.parse.html | 52 + .../doc/help/functions/bool.to-string.html | 49 + .../help/functions/convert.to-boolean.html | 53 + .../help/functions/convert.to-datetime.html | 53 + .../doc/help/functions/convert.to-double.html | 53 + .../doc/help/functions/convert.to-int.html | 53 + .../doc/help/functions/convert.to-string.html | 53 + .../help/functions/cygpath.get-dos-path.html | 51 + .../help/functions/cygpath.get-unix-path.html | 51 + .../functions/cygpath.get-windows-path.html | 51 + .../functions/datetime.get-day-of-week.html | 49 + .../functions/datetime.get-day-of-year.html | 49 + .../doc/help/functions/datetime.get-day.html | 49 + .../functions/datetime.get-days-in-month.html | 56 + .../doc/help/functions/datetime.get-hour.html | 49 + .../functions/datetime.get-millisecond.html | 49 + .../help/functions/datetime.get-minute.html | 49 + .../help/functions/datetime.get-month.html | 49 + .../help/functions/datetime.get-second.html | 49 + .../help/functions/datetime.get-ticks.html | 49 + .../doc/help/functions/datetime.get-year.html | 49 + .../help/functions/datetime.is-leap-year.html | 50 + .../nant/doc/help/functions/datetime.now.html | 34 + .../doc/help/functions/datetime.parse.html | 51 + .../help/functions/datetime.to-string.html | 49 + .../doc/help/functions/directory.exists.html | 52 + .../directory.get-creation-time.html | 51 + .../directory.get-current-directory.html | 34 + .../directory.get-directory-root.html | 51 + .../directory.get-last-access-time.html | 51 + .../directory.get-last-write-time.html | 51 + .../directory.get-parent-directory.html | 55 + .../nant/doc/help/functions/double.parse.html | 51 + .../doc/help/functions/double.to-string.html | 49 + .../environment.get-folder-path.html | 55 + .../environment.get-machine-name.html | 36 + .../environment.get-operating-system.html | 38 + .../functions/environment.get-user-name.html | 40 + .../functions/environment.get-variable.html | 51 + .../functions/environment.get-version.html | 37 + .../environment.variable-exists.html | 54 + .../nant/doc/help/functions/file.exists.html | 54 + .../functions/file.get-creation-time.html | 51 + .../functions/file.get-last-access-time.html | 51 + .../functions/file.get-last-write-time.html | 51 + .../doc/help/functions/file.get-length.html | 51 + .../doc/help/functions/file.is-assembly.html | 51 + .../doc/help/functions/file.up-to-date.html | 57 + .../fileversioninfo.get-company-name.html | 51 + .../fileversioninfo.get-file-version.html | 52 + .../fileversioninfo.get-product-name.html | 51 + .../fileversioninfo.get-product-version.html | 52 + .../fileversioninfo.get-version-info.html | 52 + .../doc/help/functions/framework.exists.html | 50 + .../framework.get-assembly-directory.html | 51 + .../functions/framework.get-clr-version.html | 52 + .../functions/framework.get-description.html | 51 + .../help/functions/framework.get-family.html | 51 + .../framework.get-framework-directory.html | 51 + .../framework.get-runtime-engine.html | 51 + .../framework.get-runtime-framework.html | 34 + .../framework.get-sdk-directory.html | 51 + .../framework.get-target-framework.html | 34 + .../help/functions/framework.get-version.html | 52 + .../help/functions/framework.sdk-exists.html | 50 + .../tools/nant/doc/help/functions/index.html | 1261 ++ .../nant/doc/help/functions/int.parse.html | 51 + .../doc/help/functions/int.to-string.html | 49 + .../nant/doc/help/functions/long.parse.html | 51 + .../doc/help/functions/long.to-string.html | 49 + .../nant/doc/help/functions/math.abs.html | 50 + .../nant/doc/help/functions/math.ceiling.html | 49 + .../nant/doc/help/functions/math.floor.html | 49 + .../nant/doc/help/functions/math.round.html | 49 + .../doc/help/functions/nant.get-assembly.html | 35 + .../functions/nant.get-base-directory.html | 34 + .../operating-system.get-platform.html | 53 + .../operating-system.get-version.html | 52 + .../functions/operating-system.to-string.html | 54 + .../help/functions/path.change-extension.html | 59 + .../nant/doc/help/functions/path.combine.html | 56 + .../functions/path.get-directory-name.html | 51 + .../help/functions/path.get-extension.html | 51 + .../path.get-file-name-without-extension.html | 51 + .../help/functions/path.get-file-name.html | 54 + .../help/functions/path.get-full-path.html | 51 + .../help/functions/path.get-path-root.html | 51 + .../functions/path.get-temp-file-name.html | 34 + .../help/functions/path.get-temp-path.html | 34 + .../help/functions/path.has-extension.html | 52 + .../help/functions/path.is-path-rooted.html | 52 + .../doc/help/functions/pkg-config.exists.html | 52 + .../pkg-config.get-compile-flags.html | 51 + .../functions/pkg-config.get-link-flags.html | 51 + .../functions/pkg-config.get-mod-version.html | 51 + .../functions/pkg-config.get-variable.html | 56 + .../pkg-config.is-atleast-version.html | 57 + .../pkg-config.is-between-version.html | 62 + .../pkg-config.is-exact-version.html | 57 + .../functions/pkg-config.is-max-version.html | 57 + .../doc/help/functions/platform.get-name.html | 34 + .../doc/help/functions/platform.is-unix.html | 35 + .../doc/help/functions/platform.is-win32.html | 35 + .../functions/project.get-base-directory.html | 34 + .../functions/project.get-buildfile-path.html | 34 + .../functions/project.get-buildfile-uri.html | 34 + .../functions/project.get-default-target.html | 34 + .../doc/help/functions/project.get-name.html | 34 + .../doc/help/functions/property.exists.html | 56 + .../help/functions/property.get-value.html | 49 + .../help/functions/property.is-dynamic.html | 52 + .../help/functions/property.is-readonly.html | 52 + .../doc/help/functions/string.contains.html | 55 + .../doc/help/functions/string.ends-with.html | 55 + .../doc/help/functions/string.get-length.html | 49 + .../doc/help/functions/string.index-of.html | 57 + .../help/functions/string.last-index-of.html | 57 + .../doc/help/functions/string.pad-left.html | 61 + .../doc/help/functions/string.pad-right.html | 61 + .../doc/help/functions/string.replace.html | 61 + .../help/functions/string.starts-with.html | 55 + .../doc/help/functions/string.substring.html | 64 + .../doc/help/functions/string.to-lower.html | 49 + .../doc/help/functions/string.to-upper.html | 49 + .../doc/help/functions/string.trim-end.html | 49 + .../doc/help/functions/string.trim-start.html | 49 + .../nant/doc/help/functions/string.trim.html | 49 + .../doc/help/functions/target.exists.html | 54 + .../functions/target.get-current-target.html | 36 + .../help/functions/target.has-executed.html | 52 + .../nant/doc/help/functions/task.exists.html | 50 + .../doc/help/functions/task.get-assembly.html | 52 + .../help/functions/timespan.from-days.html | 49 + .../help/functions/timespan.from-hours.html | 49 + .../functions/timespan.from-milliseconds.html | 49 + .../help/functions/timespan.from-minutes.html | 49 + .../help/functions/timespan.from-seconds.html | 49 + .../help/functions/timespan.from-ticks.html | 49 + .../doc/help/functions/timespan.get-days.html | 55 + .../help/functions/timespan.get-hours.html | 49 + .../functions/timespan.get-milliseconds.html | 49 + .../help/functions/timespan.get-minutes.html | 49 + .../help/functions/timespan.get-seconds.html | 49 + .../help/functions/timespan.get-ticks.html | 49 + .../functions/timespan.get-total-days.html | 49 + .../functions/timespan.get-total-hours.html | 49 + .../timespan.get-total-milliseconds.html | 49 + .../functions/timespan.get-total-minutes.html | 49 + .../functions/timespan.get-total-seconds.html | 49 + .../doc/help/functions/timespan.parse.html | 51 + .../help/functions/timespan.to-string.html | 49 + .../doc/help/functions/version.get-build.html | 51 + .../doc/help/functions/version.get-major.html | 51 + .../doc/help/functions/version.get-minor.html | 51 + .../help/functions/version.get-revision.html | 51 + .../doc/help/functions/version.parse.html | 52 + .../doc/help/functions/version.to-string.html | 51 + .../doc/help/fundamentals/buildfiles.html | 81 + .../doc/help/fundamentals/expressions.html | 1898 ++ .../nant/doc/help/fundamentals/functions.html | 311 + .../nant/doc/help/fundamentals/index.html | 35 + .../nant/doc/help/fundamentals/listeners.html | 318 + .../nant/doc/help/fundamentals/projects.html | 71 + .../doc/help/fundamentals/properties.html | 319 + .../doc/help/fundamentals/running-nant.html | 92 + .../nant/doc/help/fundamentals/targets.html | 136 + .../nant/doc/help/fundamentals/tasks.html | 274 + .../tools/nant/doc/help/images/arrow.gif | Bin 0 -> 58 bytes .../tools/nant/doc/help/images/bullet.gif | Bin 0 -> 71 bytes .../tools/nant/doc/help/images/logo.gif | Bin 0 -> 4436 bytes build-support/tools/nant/doc/help/index.html | 61 + .../doc/help/introduction/fog0000000006.html | 42 + .../doc/help/introduction/fog0000000041.html | 39 + .../doc/help/introduction/fog0000000042.html | 32 + .../doc/help/introduction/fog0000000079.html | 32 + .../doc/help/introduction/fog0000000081.html | 35 + .../doc/help/introduction/getting-started.gif | Bin 0 -> 13001 bytes .../nant/doc/help/introduction/index.html | 35 + .../doc/help/introduction/installation.html | 164 + build-support/tools/nant/doc/help/style.css | 213 + .../tools/nant/doc/help/tasks/al.html | 291 + .../tools/nant/doc/help/tasks/asminfo.html | 159 + .../tools/nant/doc/help/tasks/attrib.html | 146 + .../tools/nant/doc/help/tasks/available.html | 153 + .../tools/nant/doc/help/tasks/aximp.html | 183 + .../tools/nant/doc/help/tasks/call.html | 162 + .../tools/nant/doc/help/tasks/cl.html | 257 + .../tools/nant/doc/help/tasks/copy.html | 191 + .../tools/nant/doc/help/tasks/csc.html | 438 + .../nant/doc/help/tasks/cvs-changelog.html | 254 + .../nant/doc/help/tasks/cvs-checkout.html | 295 + .../tools/nant/doc/help/tasks/cvs-export.html | 295 + .../tools/nant/doc/help/tasks/cvs-pass.html | 97 + .../tools/nant/doc/help/tasks/cvs-rtag.html | 300 + .../tools/nant/doc/help/tasks/cvs-tag.html | 300 + .../tools/nant/doc/help/tasks/cvs-update.html | 301 + .../tools/nant/doc/help/tasks/cvs.html | 248 + .../tools/nant/doc/help/tasks/delay-sign.html | 159 + .../tools/nant/doc/help/tasks/delete.html | 130 + .../nant/doc/help/tasks/description.html | 77 + .../tools/nant/doc/help/tasks/echo.html | 124 + .../tools/nant/doc/help/tasks/exec.html | 231 + .../tools/nant/doc/help/tasks/fail.html | 97 + .../tools/nant/doc/help/tasks/foreach.html | 199 + .../tools/nant/doc/help/tasks/get.html | 168 + .../tools/nant/doc/help/tasks/gunzip.html | 89 + .../tools/nant/doc/help/tasks/if.html | 255 + .../tools/nant/doc/help/tasks/ifnot.html | 164 + .../tools/nant/doc/help/tasks/ilasm.html | 230 + .../tools/nant/doc/help/tasks/ildasm.html | 240 + .../tools/nant/doc/help/tasks/include.html | 92 + .../tools/nant/doc/help/tasks/index.html | 484 + .../tools/nant/doc/help/tasks/jsc.html | 282 + .../tools/nant/doc/help/tasks/lib.html | 192 + .../tools/nant/doc/help/tasks/license.html | 157 + .../tools/nant/doc/help/tasks/link.html | 229 + .../tools/nant/doc/help/tasks/loadfile.html | 135 + .../tools/nant/doc/help/tasks/loadtasks.html | 119 + .../tools/nant/doc/help/tasks/mail.html | 166 + .../tools/nant/doc/help/tasks/mc.html | 158 + .../tools/nant/doc/help/tasks/midl.html | 267 + .../tools/nant/doc/help/tasks/mkdir.html | 89 + .../tools/nant/doc/help/tasks/move.html | 190 + .../tools/nant/doc/help/tasks/nant.html | 164 + .../tools/nant/doc/help/tasks/nantschema.html | 96 + .../tools/nant/doc/help/tasks/ndoc.html | 172 + .../tools/nant/doc/help/tasks/nunit.html | 132 + .../tools/nant/doc/help/tasks/nunit2.html | 156 + .../tools/nant/doc/help/tasks/property.html | 136 + .../tools/nant/doc/help/tasks/rc.html | 180 + .../nant/doc/help/tasks/readregistry.html | 111 + .../tools/nant/doc/help/tasks/regasm.html | 211 + .../tools/nant/doc/help/tasks/regex.html | 116 + .../tools/nant/doc/help/tasks/regsvcs.html | 212 + .../tools/nant/doc/help/tasks/resgen.html | 208 + .../tools/nant/doc/help/tasks/script.html | 270 + .../doc/help/tasks/servicecontroller.html | 109 + .../tools/nant/doc/help/tasks/setenv.html | 223 + .../tools/nant/doc/help/tasks/sleep.html | 107 + .../tools/nant/doc/help/tasks/solution.html | 231 + .../tools/nant/doc/help/tasks/style.html | 193 + .../tools/nant/doc/help/tasks/sysinfo.html | 193 + .../tools/nant/doc/help/tasks/tar.html | 119 + .../tools/nant/doc/help/tasks/tlbexp.html | 151 + .../tools/nant/doc/help/tasks/tlbimp.html | 240 + .../tools/nant/doc/help/tasks/touch.html | 120 + .../tools/nant/doc/help/tasks/tstamp.html | 159 + .../tools/nant/doc/help/tasks/unzip.html | 98 + .../tools/nant/doc/help/tasks/uptodate.html | 46 + .../tools/nant/doc/help/tasks/vbc.html | 449 + .../tools/nant/doc/help/tasks/vjc.html | 333 + .../tools/nant/doc/help/tasks/xmlpeek.html | 129 + .../tools/nant/doc/help/tasks/xmlpoke.html | 135 + .../tools/nant/doc/help/tasks/zip.html | 145 + .../nant/doc/help/types/assemblyfileset.html | 257 + .../tools/nant/doc/help/types/categories.html | 102 + .../tools/nant/doc/help/types/credential.html | 86 + .../tools/nant/doc/help/types/cvsfileset.html | 175 + .../tools/nant/doc/help/types/dirset.html | 57 + .../tools/nant/doc/help/types/fileset.html | 282 + .../nant/doc/help/types/filterchain.html | 109 + .../tools/nant/doc/help/types/index.html | 122 + .../nant/doc/help/types/namespaceimports.html | 94 + .../tools/nant/doc/help/types/path.html | 95 + .../tools/nant/doc/help/types/proxy.html | 99 + .../nant/doc/help/types/resourcefileset.html | 181 + .../tools/nant/doc/help/types/tarfileset.html | 211 + .../nant/doc/help/types/warnaserror.html | 102 + .../tools/nant/doc/help/types/zipfileset.html | 175 + build-support/tools/nant/doc/license.html | 81 + .../tools/nant/doc/releasenotes.html | 3003 ++++ build-support/tools/nant/doc/sdk/NAnt-SDK.chm | Bin 0 -> 2567369 bytes .../ReplaceCharacter/ReplaceCharacter.cs | 115 + .../Filters/ReplaceCharacter/default.build | 39 + .../HelloWindowsForms/HelloWindowsForms.build | 59 + .../HelloWindowsForms.vbproj | 107 + .../examples/HelloWindowsForms/MainForm.resx | 105 + .../examples/HelloWindowsForms/MainForm.vb | 60 + .../nant/examples/HelloWorld/HelloWorld.cs | 5 + .../nant/examples/HelloWorld/HelloWorld.js | 1 + .../nant/examples/HelloWorld/HelloWorld.vb | 8 + .../nant/examples/HelloWorld/default.build | 39 + .../examples/ScriptTask/script-sample.build | 25 + .../tools/nant/examples/Simple/Simple.build | 22 + .../tools/nant/examples/Simple/Simple.cs | 5 + .../Solution/cpp/WinForms/AssemblyInfo.cpp | 58 + .../examples/Solution/cpp/WinForms/Form1.cpp | 15 + .../examples/Solution/cpp/WinForms/Form1.h | 59 + .../examples/Solution/cpp/WinForms/Form1.resX | 42 + .../examples/Solution/cpp/WinForms/ReadMe.txt | 33 + .../Solution/cpp/WinForms/WinForms.sln | 21 + .../Solution/cpp/WinForms/WinForms.vcproj | 194 + .../examples/Solution/cpp/WinForms/app.ico | Bin 0 -> 1078 bytes .../examples/Solution/cpp/WinForms/app.rc | 52 + .../examples/Solution/cpp/WinForms/cpp.build | 27 + .../examples/Solution/cpp/WinForms/resource.h | 3 + .../examples/Solution/cpp/WinForms/stdafx.cpp | 7 + .../examples/Solution/cpp/WinForms/stdafx.h | 14 + .../nant/examples/Solution/cpp/default.build | 11 + .../examples/Solution/cs/WinForms/App.ico | Bin 0 -> 1078 bytes .../Solution/cs/WinForms/AssemblyInfo.cs | 58 + .../examples/Solution/cs/WinForms/Form1.cs | 69 + .../examples/Solution/cs/WinForms/Form1.resx | 42 + .../Solution/cs/WinForms/WinForms.csproj | 119 + .../Solution/cs/WinForms/WinForms.sln | 21 + .../examples/Solution/cs/WinForms/cs.build | 28 + .../nant/examples/Solution/cs/default.build | 11 + .../Solution/vb/WinForms/AssemblyInfo.vb | 32 + .../examples/Solution/vb/WinForms/Form1.resx | 42 + .../examples/Solution/vb/WinForms/Form1.vb | 39 + .../Solution/vb/WinForms/WinForms.sln | 21 + .../Solution/vb/WinForms/WinForms.vbproj | 112 + .../examples/Solution/vb/WinForms/vb.build | 28 + .../nant/examples/Solution/vb/default.build | 11 + .../Solution/vjs/WinForms/AssemblyInfo.jsl | 58 + .../examples/Solution/vjs/WinForms/Form1.jsl | 67 + .../examples/Solution/vjs/WinForms/Form1.resx | 42 + .../Solution/vjs/WinForms/WinForms.sln | 21 + .../Solution/vjs/WinForms/WinForms.vjsproj | 106 + .../examples/Solution/vjs/WinForms/vjs.build | 27 + .../nant/examples/Solution/vjs/default.build | 11 + .../SimpleExtension.build | 25 + .../SimpleExtensionObject/SimpleExtension.cs | 12 + .../SimpleExtensionObject/SimpleExtension.dll | Bin 0 -> 3072 bytes .../SimpleExtensionObject/circle.xsl | 16 + .../SimpleExtensionObject/circles.xml | 10 + .../tools/nant/examples/UserTask/UserTask.cs | 31 + .../nant/examples/UserTask/default.build | 28 + .../tools/nant/examples/examples.build | 16 + build-support/tools/nant/schema/nant.xsd | 2435 +++ 464 files changed, 73801 insertions(+) create mode 100644 build-support/tools/nant/COPYING.txt create mode 100644 build-support/tools/nant/README.txt create mode 100644 build-support/tools/nant/bin/NAnt.CompressionTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.CompressionTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.Core.dll create mode 100644 build-support/tools/nant/bin/NAnt.Core.xml create mode 100644 build-support/tools/nant/bin/NAnt.DotNetTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.DotNetTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.MSNetTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.MSNetTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.NUnit.dll create mode 100644 build-support/tools/nant/bin/NAnt.NUnit.xml create mode 100644 build-support/tools/nant/bin/NAnt.NUnit1Tasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.NUnit2Tasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.NUnit2Tasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.SourceControlTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.SourceControlTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.VSNetTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.VSNetTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.VisualCppTasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.VisualCppTasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.Win32Tasks.dll create mode 100644 build-support/tools/nant/bin/NAnt.Win32Tasks.xml create mode 100644 build-support/tools/nant/bin/NAnt.exe create mode 100644 build-support/tools/nant/bin/NAnt.exe.config create mode 100644 build-support/tools/nant/bin/NAnt.xml create mode 100644 build-support/tools/nant/bin/NDoc.Documenter.NAnt.dll create mode 100644 build-support/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.Console.dll create mode 100644 build-support/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.dll create mode 100644 build-support/tools/nant/bin/lib/ICSharpCode.SharpZipLib.dll create mode 100644 build-support/tools/nant/bin/lib/NUnitCore.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/NDoc.Core.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/NDoc.Documenter.Msdn.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/NDoc.ExtendedUI.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/nunit.core.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/nunit.framework.dll create mode 100644 build-support/tools/nant/bin/lib/mono/1.0/nunit.util.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/NDoc.Core.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/NDoc.Documenter.Msdn.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/NDoc.ExtendedUI.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/nunit.core.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/nunit.framework.dll create mode 100644 build-support/tools/nant/bin/lib/mono/2.0/nunit.util.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/NDoc.Core.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/NDoc.Documenter.Msdn.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/NDoc.ExtendedUI.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/nunit.core.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/nunit.framework.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.0/nunit.util.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/NDoc.Core.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/NDoc.Documenter.Msdn.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/NDoc.ExtendedUI.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/nunit.core.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/nunit.framework.dll create mode 100644 build-support/tools/nant/bin/lib/net/1.1/nunit.util.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/NDoc.Core.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/NDoc.Documenter.Msdn.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/NDoc.ExtendedUI.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/nunit.core.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/nunit.framework.dll create mode 100644 build-support/tools/nant/bin/lib/net/2.0/nunit.util.dll create mode 100644 build-support/tools/nant/bin/log4net.dll create mode 100644 build-support/tools/nant/bin/scvs.exe create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.DataTypeBase.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.PhysicalTextReader.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html create mode 100644 build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Compression.Tasks.TarCompressionMethod.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html create mode 100644 build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html create mode 100644 build-support/tools/nant/doc/help/filters/expandproperties.html create mode 100644 build-support/tools/nant/doc/help/filters/index.html create mode 100644 build-support/tools/nant/doc/help/filters/replacestring.html create mode 100644 build-support/tools/nant/doc/help/filters/replacetokens.html create mode 100644 build-support/tools/nant/doc/help/filters/tabstospaces.html create mode 100644 build-support/tools/nant/doc/help/functions/assembly.get-full-name.html create mode 100644 build-support/tools/nant/doc/help/functions/assembly.get-location.html create mode 100644 build-support/tools/nant/doc/help/functions/assembly.get-name.html create mode 100644 build-support/tools/nant/doc/help/functions/assembly.load-from-file.html create mode 100644 build-support/tools/nant/doc/help/functions/assembly.load.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-assembly-name.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-codebase.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-escaped-codebase.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-full-name.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-name.html create mode 100644 build-support/tools/nant/doc/help/functions/assemblyname.get-version.html create mode 100644 build-support/tools/nant/doc/help/functions/bool.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/bool.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/convert.to-boolean.html create mode 100644 build-support/tools/nant/doc/help/functions/convert.to-datetime.html create mode 100644 build-support/tools/nant/doc/help/functions/convert.to-double.html create mode 100644 build-support/tools/nant/doc/help/functions/convert.to-int.html create mode 100644 build-support/tools/nant/doc/help/functions/convert.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/cygpath.get-dos-path.html create mode 100644 build-support/tools/nant/doc/help/functions/cygpath.get-unix-path.html create mode 100644 build-support/tools/nant/doc/help/functions/cygpath.get-windows-path.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-day-of-week.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-day-of-year.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-day.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-days-in-month.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-hour.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-millisecond.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-minute.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-month.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-second.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-ticks.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.get-year.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.is-leap-year.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.now.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/datetime.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-creation-time.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-current-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-directory-root.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-last-access-time.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-last-write-time.html create mode 100644 build-support/tools/nant/doc/help/functions/directory.get-parent-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/double.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/double.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-folder-path.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-machine-name.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-operating-system.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-user-name.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-variable.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.get-version.html create mode 100644 build-support/tools/nant/doc/help/functions/environment.variable-exists.html create mode 100644 build-support/tools/nant/doc/help/functions/file.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/file.get-creation-time.html create mode 100644 build-support/tools/nant/doc/help/functions/file.get-last-access-time.html create mode 100644 build-support/tools/nant/doc/help/functions/file.get-last-write-time.html create mode 100644 build-support/tools/nant/doc/help/functions/file.get-length.html create mode 100644 build-support/tools/nant/doc/help/functions/file.is-assembly.html create mode 100644 build-support/tools/nant/doc/help/functions/file.up-to-date.html create mode 100644 build-support/tools/nant/doc/help/functions/fileversioninfo.get-company-name.html create mode 100644 build-support/tools/nant/doc/help/functions/fileversioninfo.get-file-version.html create mode 100644 build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-name.html create mode 100644 build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-version.html create mode 100644 build-support/tools/nant/doc/help/functions/fileversioninfo.get-version-info.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-assembly-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-clr-version.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-description.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-family.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-framework-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-runtime-engine.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-runtime-framework.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-sdk-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-target-framework.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.get-version.html create mode 100644 build-support/tools/nant/doc/help/functions/framework.sdk-exists.html create mode 100644 build-support/tools/nant/doc/help/functions/index.html create mode 100644 build-support/tools/nant/doc/help/functions/int.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/int.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/long.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/long.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/math.abs.html create mode 100644 build-support/tools/nant/doc/help/functions/math.ceiling.html create mode 100644 build-support/tools/nant/doc/help/functions/math.floor.html create mode 100644 build-support/tools/nant/doc/help/functions/math.round.html create mode 100644 build-support/tools/nant/doc/help/functions/nant.get-assembly.html create mode 100644 build-support/tools/nant/doc/help/functions/nant.get-base-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/operating-system.get-platform.html create mode 100644 build-support/tools/nant/doc/help/functions/operating-system.get-version.html create mode 100644 build-support/tools/nant/doc/help/functions/operating-system.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/path.change-extension.html create mode 100644 build-support/tools/nant/doc/help/functions/path.combine.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-directory-name.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-extension.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-file-name-without-extension.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-file-name.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-full-path.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-path-root.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-temp-file-name.html create mode 100644 build-support/tools/nant/doc/help/functions/path.get-temp-path.html create mode 100644 build-support/tools/nant/doc/help/functions/path.has-extension.html create mode 100644 build-support/tools/nant/doc/help/functions/path.is-path-rooted.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.get-compile-flags.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.get-link-flags.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.get-mod-version.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.get-variable.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.is-atleast-version.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.is-between-version.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.is-exact-version.html create mode 100644 build-support/tools/nant/doc/help/functions/pkg-config.is-max-version.html create mode 100644 build-support/tools/nant/doc/help/functions/platform.get-name.html create mode 100644 build-support/tools/nant/doc/help/functions/platform.is-unix.html create mode 100644 build-support/tools/nant/doc/help/functions/platform.is-win32.html create mode 100644 build-support/tools/nant/doc/help/functions/project.get-base-directory.html create mode 100644 build-support/tools/nant/doc/help/functions/project.get-buildfile-path.html create mode 100644 build-support/tools/nant/doc/help/functions/project.get-buildfile-uri.html create mode 100644 build-support/tools/nant/doc/help/functions/project.get-default-target.html create mode 100644 build-support/tools/nant/doc/help/functions/project.get-name.html create mode 100644 build-support/tools/nant/doc/help/functions/property.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/property.get-value.html create mode 100644 build-support/tools/nant/doc/help/functions/property.is-dynamic.html create mode 100644 build-support/tools/nant/doc/help/functions/property.is-readonly.html create mode 100644 build-support/tools/nant/doc/help/functions/string.contains.html create mode 100644 build-support/tools/nant/doc/help/functions/string.ends-with.html create mode 100644 build-support/tools/nant/doc/help/functions/string.get-length.html create mode 100644 build-support/tools/nant/doc/help/functions/string.index-of.html create mode 100644 build-support/tools/nant/doc/help/functions/string.last-index-of.html create mode 100644 build-support/tools/nant/doc/help/functions/string.pad-left.html create mode 100644 build-support/tools/nant/doc/help/functions/string.pad-right.html create mode 100644 build-support/tools/nant/doc/help/functions/string.replace.html create mode 100644 build-support/tools/nant/doc/help/functions/string.starts-with.html create mode 100644 build-support/tools/nant/doc/help/functions/string.substring.html create mode 100644 build-support/tools/nant/doc/help/functions/string.to-lower.html create mode 100644 build-support/tools/nant/doc/help/functions/string.to-upper.html create mode 100644 build-support/tools/nant/doc/help/functions/string.trim-end.html create mode 100644 build-support/tools/nant/doc/help/functions/string.trim-start.html create mode 100644 build-support/tools/nant/doc/help/functions/string.trim.html create mode 100644 build-support/tools/nant/doc/help/functions/target.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/target.get-current-target.html create mode 100644 build-support/tools/nant/doc/help/functions/target.has-executed.html create mode 100644 build-support/tools/nant/doc/help/functions/task.exists.html create mode 100644 build-support/tools/nant/doc/help/functions/task.get-assembly.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-days.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-hours.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-milliseconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-minutes.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-seconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.from-ticks.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-days.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-hours.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-milliseconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-minutes.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-seconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-ticks.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-total-days.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-total-hours.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-total-milliseconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-total-minutes.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.get-total-seconds.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/timespan.to-string.html create mode 100644 build-support/tools/nant/doc/help/functions/version.get-build.html create mode 100644 build-support/tools/nant/doc/help/functions/version.get-major.html create mode 100644 build-support/tools/nant/doc/help/functions/version.get-minor.html create mode 100644 build-support/tools/nant/doc/help/functions/version.get-revision.html create mode 100644 build-support/tools/nant/doc/help/functions/version.parse.html create mode 100644 build-support/tools/nant/doc/help/functions/version.to-string.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/buildfiles.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/expressions.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/functions.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/index.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/listeners.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/projects.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/properties.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/running-nant.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/targets.html create mode 100644 build-support/tools/nant/doc/help/fundamentals/tasks.html create mode 100644 build-support/tools/nant/doc/help/images/arrow.gif create mode 100644 build-support/tools/nant/doc/help/images/bullet.gif create mode 100644 build-support/tools/nant/doc/help/images/logo.gif create mode 100644 build-support/tools/nant/doc/help/index.html create mode 100644 build-support/tools/nant/doc/help/introduction/fog0000000006.html create mode 100644 build-support/tools/nant/doc/help/introduction/fog0000000041.html create mode 100644 build-support/tools/nant/doc/help/introduction/fog0000000042.html create mode 100644 build-support/tools/nant/doc/help/introduction/fog0000000079.html create mode 100644 build-support/tools/nant/doc/help/introduction/fog0000000081.html create mode 100644 build-support/tools/nant/doc/help/introduction/getting-started.gif create mode 100644 build-support/tools/nant/doc/help/introduction/index.html create mode 100644 build-support/tools/nant/doc/help/introduction/installation.html create mode 100644 build-support/tools/nant/doc/help/style.css create mode 100644 build-support/tools/nant/doc/help/tasks/al.html create mode 100644 build-support/tools/nant/doc/help/tasks/asminfo.html create mode 100644 build-support/tools/nant/doc/help/tasks/attrib.html create mode 100644 build-support/tools/nant/doc/help/tasks/available.html create mode 100644 build-support/tools/nant/doc/help/tasks/aximp.html create mode 100644 build-support/tools/nant/doc/help/tasks/call.html create mode 100644 build-support/tools/nant/doc/help/tasks/cl.html create mode 100644 build-support/tools/nant/doc/help/tasks/copy.html create mode 100644 build-support/tools/nant/doc/help/tasks/csc.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-changelog.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-checkout.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-export.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-pass.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-rtag.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-tag.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs-update.html create mode 100644 build-support/tools/nant/doc/help/tasks/cvs.html create mode 100644 build-support/tools/nant/doc/help/tasks/delay-sign.html create mode 100644 build-support/tools/nant/doc/help/tasks/delete.html create mode 100644 build-support/tools/nant/doc/help/tasks/description.html create mode 100644 build-support/tools/nant/doc/help/tasks/echo.html create mode 100644 build-support/tools/nant/doc/help/tasks/exec.html create mode 100644 build-support/tools/nant/doc/help/tasks/fail.html create mode 100644 build-support/tools/nant/doc/help/tasks/foreach.html create mode 100644 build-support/tools/nant/doc/help/tasks/get.html create mode 100644 build-support/tools/nant/doc/help/tasks/gunzip.html create mode 100644 build-support/tools/nant/doc/help/tasks/if.html create mode 100644 build-support/tools/nant/doc/help/tasks/ifnot.html create mode 100644 build-support/tools/nant/doc/help/tasks/ilasm.html create mode 100644 build-support/tools/nant/doc/help/tasks/ildasm.html create mode 100644 build-support/tools/nant/doc/help/tasks/include.html create mode 100644 build-support/tools/nant/doc/help/tasks/index.html create mode 100644 build-support/tools/nant/doc/help/tasks/jsc.html create mode 100644 build-support/tools/nant/doc/help/tasks/lib.html create mode 100644 build-support/tools/nant/doc/help/tasks/license.html create mode 100644 build-support/tools/nant/doc/help/tasks/link.html create mode 100644 build-support/tools/nant/doc/help/tasks/loadfile.html create mode 100644 build-support/tools/nant/doc/help/tasks/loadtasks.html create mode 100644 build-support/tools/nant/doc/help/tasks/mail.html create mode 100644 build-support/tools/nant/doc/help/tasks/mc.html create mode 100644 build-support/tools/nant/doc/help/tasks/midl.html create mode 100644 build-support/tools/nant/doc/help/tasks/mkdir.html create mode 100644 build-support/tools/nant/doc/help/tasks/move.html create mode 100644 build-support/tools/nant/doc/help/tasks/nant.html create mode 100644 build-support/tools/nant/doc/help/tasks/nantschema.html create mode 100644 build-support/tools/nant/doc/help/tasks/ndoc.html create mode 100644 build-support/tools/nant/doc/help/tasks/nunit.html create mode 100644 build-support/tools/nant/doc/help/tasks/nunit2.html create mode 100644 build-support/tools/nant/doc/help/tasks/property.html create mode 100644 build-support/tools/nant/doc/help/tasks/rc.html create mode 100644 build-support/tools/nant/doc/help/tasks/readregistry.html create mode 100644 build-support/tools/nant/doc/help/tasks/regasm.html create mode 100644 build-support/tools/nant/doc/help/tasks/regex.html create mode 100644 build-support/tools/nant/doc/help/tasks/regsvcs.html create mode 100644 build-support/tools/nant/doc/help/tasks/resgen.html create mode 100644 build-support/tools/nant/doc/help/tasks/script.html create mode 100644 build-support/tools/nant/doc/help/tasks/servicecontroller.html create mode 100644 build-support/tools/nant/doc/help/tasks/setenv.html create mode 100644 build-support/tools/nant/doc/help/tasks/sleep.html create mode 100644 build-support/tools/nant/doc/help/tasks/solution.html create mode 100644 build-support/tools/nant/doc/help/tasks/style.html create mode 100644 build-support/tools/nant/doc/help/tasks/sysinfo.html create mode 100644 build-support/tools/nant/doc/help/tasks/tar.html create mode 100644 build-support/tools/nant/doc/help/tasks/tlbexp.html create mode 100644 build-support/tools/nant/doc/help/tasks/tlbimp.html create mode 100644 build-support/tools/nant/doc/help/tasks/touch.html create mode 100644 build-support/tools/nant/doc/help/tasks/tstamp.html create mode 100644 build-support/tools/nant/doc/help/tasks/unzip.html create mode 100644 build-support/tools/nant/doc/help/tasks/uptodate.html create mode 100644 build-support/tools/nant/doc/help/tasks/vbc.html create mode 100644 build-support/tools/nant/doc/help/tasks/vjc.html create mode 100644 build-support/tools/nant/doc/help/tasks/xmlpeek.html create mode 100644 build-support/tools/nant/doc/help/tasks/xmlpoke.html create mode 100644 build-support/tools/nant/doc/help/tasks/zip.html create mode 100644 build-support/tools/nant/doc/help/types/assemblyfileset.html create mode 100644 build-support/tools/nant/doc/help/types/categories.html create mode 100644 build-support/tools/nant/doc/help/types/credential.html create mode 100644 build-support/tools/nant/doc/help/types/cvsfileset.html create mode 100644 build-support/tools/nant/doc/help/types/dirset.html create mode 100644 build-support/tools/nant/doc/help/types/fileset.html create mode 100644 build-support/tools/nant/doc/help/types/filterchain.html create mode 100644 build-support/tools/nant/doc/help/types/index.html create mode 100644 build-support/tools/nant/doc/help/types/namespaceimports.html create mode 100644 build-support/tools/nant/doc/help/types/path.html create mode 100644 build-support/tools/nant/doc/help/types/proxy.html create mode 100644 build-support/tools/nant/doc/help/types/resourcefileset.html create mode 100644 build-support/tools/nant/doc/help/types/tarfileset.html create mode 100644 build-support/tools/nant/doc/help/types/warnaserror.html create mode 100644 build-support/tools/nant/doc/help/types/zipfileset.html create mode 100644 build-support/tools/nant/doc/license.html create mode 100644 build-support/tools/nant/doc/releasenotes.html create mode 100644 build-support/tools/nant/doc/sdk/NAnt-SDK.chm create mode 100644 build-support/tools/nant/examples/Filters/ReplaceCharacter/ReplaceCharacter.cs create mode 100644 build-support/tools/nant/examples/Filters/ReplaceCharacter/default.build create mode 100644 build-support/tools/nant/examples/HelloWindowsForms/HelloWindowsForms.build create mode 100644 build-support/tools/nant/examples/HelloWindowsForms/HelloWindowsForms.vbproj create mode 100644 build-support/tools/nant/examples/HelloWindowsForms/MainForm.resx create mode 100644 build-support/tools/nant/examples/HelloWindowsForms/MainForm.vb create mode 100644 build-support/tools/nant/examples/HelloWorld/HelloWorld.cs create mode 100644 build-support/tools/nant/examples/HelloWorld/HelloWorld.js create mode 100644 build-support/tools/nant/examples/HelloWorld/HelloWorld.vb create mode 100644 build-support/tools/nant/examples/HelloWorld/default.build create mode 100644 build-support/tools/nant/examples/ScriptTask/script-sample.build create mode 100644 build-support/tools/nant/examples/Simple/Simple.build create mode 100644 build-support/tools/nant/examples/Simple/Simple.cs create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/AssemblyInfo.cpp create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/Form1.cpp create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/Form1.h create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/Form1.resX create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/ReadMe.txt create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/WinForms.sln create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/WinForms.vcproj create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/app.ico create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/app.rc create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/cpp.build create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/resource.h create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/stdafx.cpp create mode 100644 build-support/tools/nant/examples/Solution/cpp/WinForms/stdafx.h create mode 100644 build-support/tools/nant/examples/Solution/cpp/default.build create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/App.ico create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/AssemblyInfo.cs create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/Form1.cs create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/Form1.resx create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/WinForms.csproj create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/WinForms.sln create mode 100644 build-support/tools/nant/examples/Solution/cs/WinForms/cs.build create mode 100644 build-support/tools/nant/examples/Solution/cs/default.build create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/AssemblyInfo.vb create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/Form1.resx create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/Form1.vb create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/WinForms.sln create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/WinForms.vbproj create mode 100644 build-support/tools/nant/examples/Solution/vb/WinForms/vb.build create mode 100644 build-support/tools/nant/examples/Solution/vb/default.build create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/AssemblyInfo.jsl create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/Form1.jsl create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/Form1.resx create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/WinForms.sln create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/WinForms.vjsproj create mode 100644 build-support/tools/nant/examples/Solution/vjs/WinForms/vjs.build create mode 100644 build-support/tools/nant/examples/Solution/vjs/default.build create mode 100644 build-support/tools/nant/examples/StyleTask/SimpleExtensionObject/SimpleExtension.build create mode 100644 build-support/tools/nant/examples/StyleTask/SimpleExtensionObject/SimpleExtension.cs create mode 100644 build-support/tools/nant/examples/StyleTask/SimpleExtensionObject/SimpleExtension.dll create mode 100644 build-support/tools/nant/examples/StyleTask/SimpleExtensionObject/circle.xsl create mode 100644 build-support/tools/nant/examples/StyleTask/SimpleExtensionObject/circles.xml create mode 100644 build-support/tools/nant/examples/UserTask/UserTask.cs create mode 100644 build-support/tools/nant/examples/UserTask/default.build create mode 100644 build-support/tools/nant/examples/examples.build create mode 100644 build-support/tools/nant/schema/nant.xsd diff --git a/build-support/tools/nant/COPYING.txt b/build-support/tools/nant/COPYING.txt new file mode 100644 index 00000000..45645b4b --- /dev/null +++ b/build-support/tools/nant/COPYING.txt @@ -0,0 +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. diff --git a/build-support/tools/nant/README.txt b/build-support/tools/nant/README.txt new file mode 100644 index 00000000..2d53720d --- /dev/null +++ b/build-support/tools/nant/README.txt @@ -0,0 +1,144 @@ +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 diff --git a/build-support/tools/nant/bin/NAnt.CompressionTasks.dll b/build-support/tools/nant/bin/NAnt.CompressionTasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..acbb3319341eeb464cf48c36fa9e1dab6d30e2fd GIT binary patch literal 32768 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 + + + NAnt.CompressionTasks + + + + + 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 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 name of the entry including directory information. + The date of the entry. + The uncompressed size of the entry. + + The destination directory for the entry could not be created. + -or- + The entry could not be extracted. + + + We cannot rely on the fact that the directory entry of a given file + is created before the file is extracted, so we should create the + directory if it doesn't yet exist. + + + + + Extracts a directory entry from the specified stream. + + The containing the directory entry. + The name of the directory entry. + The date of the entry. + + The destination directory for the entry could not be created. + + + + + 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 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 the zip file. + + + + + The zip file to create. + + + + + The comment for the file. + + + + + 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. + + + + + Include empty directories in the generated zip file. The default is + . + + + + + The set of files to be included in the archive. + + + + + Specifies the behaviour when a duplicate file is found. The default + is . + + + + + 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. + + + + + Overwrite existing entry with same name. + + + + + Preserve existing entry with the same name. + + + + + Report failure when two entries have the same name. + + + + + A is a with extra + attributes useful in the context of the . + + + + + 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. + + + + + The username for the tar entry. + + + + + The user identifier (UID) for the tar entry. + + + + + The groupname 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. + + + + + 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, . + + + + + 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. + + + + Get the total number of files that are represented by the + filesets in this collection. + + + + + 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. + + + + + A is a with extra + attributes useful in the context of the . + + + + + 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. + + + + + 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, . + + + + + 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. + + + + Get the total number of files that are represented by the + filesets in this collection. + + + + + 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. + + + + diff --git a/build-support/tools/nant/bin/NAnt.Core.dll b/build-support/tools/nant/bin/NAnt.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..df9936bd187e74b99c1e9420551f7f3e82d2e30b GIT binary patch literal 356352 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�Bw=K!iHu+kahGhCHU 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.Core.xml b/build-support/tools/nant/bin/NAnt.Core.xml new file mode 100644 index 00000000..4f8441fe --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.Core.xml @@ -0,0 +1,14880 @@ + + + + NAnt.Core + + + + + Used to indicate that a property should be able to be converted into a + . + + + + + Base class for all validator attributes. + + + + + Validates the specified value. + + The value to be validated. + The validation fails. + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value can be converted to a . + + The value to be checked. + 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; } + } + + [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; } + } + + #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 + + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + is a zero-length . + + + + 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 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 . + + + + + 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: + + + + + + + ]]> + + + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + is a zero-length . + + + + 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 . + + + + + 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 . + + + + + Initializes a new instance of the + with the specified name. + + The name of the attribute. + is . + is a zero-length . + + + + Gets or sets the type of objects that this container holds. + + + The type of the elements that this container holds. + + + + This can be used for validation and schema generation. + + + If not specified, the type of the elements will be determined using + reflection. + + + 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: + + + + + + + + + + ]]> + + + + + + + Initializes a new instance of the with the + specified name and child element name. + + The name of the collection. + The name of the child elements in the collection + is . + 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. + + + + + Used to indicate that a property should be able to be converted into a + . + + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value can be converted to a . + + The value to be checked. + 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. + + + + + Initializes a new instance of the + with the specified name. + + The name of the element. + is . + is a zero-length . + + + + 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. + + + + + Initializes a new instance of the with the + specified name. + + The name of the attribute. + is . + 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; } + } + + + + + + Initializes a new instance of the + with the specified attribute name. + + The name of the framework configuration attribute. + is a . + is a zero-length . + + + + 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 property references should + be expanded. + + + if properties should be expanded; otherwise + . The default is . + + + + + Indicates that the method should be exposed as a function in NAnt build + files. + + + Attach this attribute to a method of a class that derives from + to have NAnt be able to recognize it. + + + + + Initializes a new instance of the + class with the specified name. + + The name of the function. + is . + is a zero-length . + + + + Gets or sets the name of the function. + + + The name of the function. + + + + + Indicates that class should be treated as a set of functions. + + + Attach this attribute to a class that derives from + to have NAnt be able to recognize it as containing custom functions. + + + + + Initializes a new instance of the + class with the specified name. + + The prefix used to distinguish the functions. + The category of the functions. + + is . + -or- + is . + + + is a zero-length . + -or- + is a zero-length . + + + + + 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. + + + + + Indicates that property should be able to be converted into a + within the given range. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class with the specied minimum and maximum values. + + The minimum value. + The maximum value. + + + + Checks whether the specified value can be converted to an + and whether the value lies within the range defined by the + and properties. + + The value to be checked. + + + cannot be converted to an . + + -or- + + is not in the range defined by + and . + + + + + + Gets or sets the minimum value. + + + The minimum value. The default is . + + + + + Gets or sets the maximum value. + + + The maximum value. The default is . + + + + + 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. + + + + + Locates the task executable in the current Framework directory. + + + + + Locates the task executable in the current Framework SDK directory. + + + + + Indicates the location that a task executable can be located in. + + + + + Initializes a new instance of the + with the specified location. + + The of the attribute. + + + + Gets or sets the of the task. + + + The location type of the task to which the attribute is assigned. + + + + + Used to indicate whether a property should allow + an empty string value or not. + + + + + Initializes a new instance of the + class. + + + + + Checks if the specified value adheres to the rules defined by the + properties of the . + + The value to be checked. + 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 regular expression. The string will be validated to + determine if it matches the expression. + + + + + + + + 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. + + + + + Initializes a new instance of the + with the specified attribute name. + + The name of the task attribute. + is a . + 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. + + + + + Initializes a new instance of the + with the specified name. + + The name of the task. + 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. + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + from the specified element. + + The element that should be used to create a new instance of the class. + + + + Performs default initialization. + + + Derived classes that wish to add custom initialization should override + 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 log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the project. + + + + + 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. + + + + Copies all instance data of the to a given + . + + + + + Performs initialization using the given set of properties. + + + + + 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. + + + + + Returns the of the + assigned to the specified + . + + The of which the assigned should be retrieved. + + The assigned to the specified + or a null reference is no + is assigned to the . + + + + + Gets or sets the parent of the element. + + + The parent of the element. + + + This will be the parent , , or + depending on where the element is defined. + + + + + Gets the name of the XML element used to initialize this element. + + + The name of the XML element used to initialize this element. + + + + + Gets or sets the to which this element belongs. + + + The to which this element belongs. + + + + + Gets the properties local to this and the + . + + + The properties local to this and the . + + + + + Gets or sets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + 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 a value indicating whether the element is performing additional + processing using the that was used to + initialize the element. + + + . + + + + Elements that need to perform additional processing of the + that was used to initialize the element, should + override this property and return . + + + When , no build errors will be reported for + unknown nested build elements. + + + + + + Configures an using meta-data provided by + assigned attributes. + + + + + Initializes a new instance of the + class for the given . + + The for which an should be created. + The to initialize the with. + The to use for property expansion. + The framework that the should target. + + is . + -or- + is . + -or- + is . + + + + + Creates a child using property set/get methods. + + The instance that represents the property of the current class. + 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. + The child. + + + + Creates an for the given + . + + The for which an should be created. + + An for the given . + + + + + Holds the that should be initialized. + + + + + Holds the that should be used to initialize + the . + + + + + Holds the dictionary that should be used for property + expansion. + + + + + Holds the framework that should be targeted by the + that we're configuring, or + if there's no current target + framework. + + + + + 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 logger for the current class. + + + + + Holds the cache of instances. + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Internal interface used for setting element attributes. + + + + + 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. + + + + + If then the filter will be used; otherwise, + skipped. The default is . + + + + + Opposite of . If + then the filter will be executed; otherwise, skipped. The default + is . + + + + + Creates a new instance of the class + for the specified class in the + specified. + + The containing the . + The class representing the . + + + + Gets the name of the class that can be created + using this . + + + The name of the class that can be created using + this . + + + + + Gets the from which the filter will be + created. + + + The containing the filter. + + + + + Gets the name of the filter which the + can create. + + + The name of the task which the can + create. + + + + + 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, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for + the specified task 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 for the specified task. + + The name of the filter for which the should be located in the collection. + + + + 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. + + + + + Represent a chain of NAnt filters that can be applied to a . + + + + A FilterChain represents a collection of one or more filters that can + be appled to a such as the . + In the case of the , 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.:
+ :--------:--->:----------:--->:----------: ... :----------:--->:--------:
+
+ + A list of all filters that come with NAnt is available here. + + + The following tasks support filtering with a FilterChain: + + + + + + + + + +
+ + + Replace all occurrences of @NOW@ with the current date/time and + replace tabs with spaces in all copied files. + + + + + + + + + + + + + + + ]]> + + +
+ + + Provides the abstract base class for types. + + + + + Should be overridden by derived classes. clones the referenced types + data into the current instance. + + + + + Copies all instance data of the to a given + . + + + + The ID used to be referenced later. + + + The ID to use as the reference. + + + + Gets a value indicating whether a reference to the type can be + defined. + + + Only types with an assigned + to it, can be referenced. + + + + + Gets the name of the datatype. + + + The name of the datatype. + + + + + Initializes all build attributes and child elements. + + + needs to maintain the order in which the + filters are specified in the build file. + + + + + Used to to instantiate and return the chain of stream based filters. + + The that is the source of input to the filter chain. + + The is the first + in the chain, which is based on a physical stream that feeds the chain. + + + The last in the chain. + + + + + The filters to apply. + + + + + 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. + + + + + 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, . + + + + + 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. + + + + + Represents a physical . That is a reader based + on a stream. + + + Used by to represent a + based on a in the chain. + + + + + 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 . + + + Replace all properties with their corresponding values. + + + ]]> + + + + + + Holds data for expression expansion between input and output. + + + + + 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 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. + + + + + Refills the buffer, running our input through + .) + + + + + Determines whether we've passed the end of our data. + + + + + 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 attribute to . + + + To use this filter specify the string to be replaced with the + attribute and the string to replace it with using the + attribute. + + + Filters are intended to be used as a element of a . + + + + + Replace all occurrences of "3.14" with "PI". + + + + ]]> + + + + + Replace all occurrences of "string", "String", etc. with "System.String". + + + + ]]> + + + + + + 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 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. + + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + Char as an int or -1 if at the end of the stream + + + + Compares to characters taking into account the _ignoreCase flag. + + + + + + + + The string to be replaced. + + + + + The new value for the replaced string. + Am empty string is permissible. + + + + + Determines if case will be ignored. + The default is . + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + 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 and attributes + can be specified to change either token. By default string + comparisons are case sensitive but this can be changed by setting the + optional attribute to . + + + Tokens are specified by using the element. It is + possible to specify from 1 to n tokens and replacement values. Values can + be any valid NAnt expression. + + + Filters are intended to be used as a element of a . + + + + + Replace all occurrences of the string @DATE@ with the value of property + "TODAY". + + + + + + ]]> + + + + + Replace all occurrences of the string <DATE> with the value of + property "TODAY". + + + + + + ]]> + + + + + + 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 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. + + + + + 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 + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + Char as an int or -1 if at the end of the stream + + + + Compares to characters taking into account. + + + + + + + + + Marks the beginning of a token. The default is "@". + + + + + Marks the end of a token. The default is "@". + + + + + Tokens and replacement values. + + + + + Determines if case will be ignored. + The default is . + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + Converts tabs to spaces. + + + + The filter replaces tabs in a text file + with spaces. + + + Filters are intended to be used as a element of a . + + + + Replace all tabs with four spaces. + + + ]]> + + + + + + 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 in the stream. + + -1 if end of stream otherwise a character + + + + Returns the next character in the stream replacing the specified character. Using the + allows for the same implementation for Read and Peek + + Delegate to acquire the next character. (Read/Peek) + 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". + + + + + Delegate for Read and Peek. Allows the same implementation + to be used for both methods. + + + + + Functions to return information for a given assembly. + + + + + Gets or sets the that this functionset will + reference. + + + The that this functionset will reference. + + + + + Loads an assembly given its file name or path. + + The name or path of the file that contains the manifest of the assembly. + + The loaded assembly. + + is an empty . + is not found, or the module you are trying to load does not specify a filename extension. + is not a valid assembly. + An assembly or module was loaded twice with two different evidences, or the assembly name is longer than MAX_PATH characters. + + + + Loads an assembly given the long form of its name. + + The long form of the assembly name. + + The loaded assembly. + + is a . + is not found. + + + Determine the location of the Microsoft Access 11 Primary Interop + Assembly by loading it using its fully qualified name, and copy it + to the build directory. + + + + + ]]> + + + + + + 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 an for the specified assembly. + + The assembly to get an for. + + An for 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. + + + + + Gets the location of the assembly as a URL. + + The of the assembly. + + The location of the assembly as a URL. + + + + + + Gets the URI, including escape characters, that represents the codebase. + + The of the assembly. + + The URI, including escape characters, that represents the codebase. + + + + + + Gets the full name of the assembly, also known as the display name. + + The of the assembly. + + The full name of the assembly, also known as the display name. + + + + Output the full name of the nunit.framework assembly to the + build log. + + + + ]]> + + + + + + + Gets the simple, unencrypted name of the assembly. + + The of the assembly. + + The simple, unencrypted name of the assembly. + + + + Output the simple name of the nunit.framework assembly to + the build log. + + + + ]]> + + + + + + + Gets the version of the assembly. + + The of the assembly. + + The version of the assembly. + + + + Output the major version of the nunit.framework assembly + to the build log. + + + + ]]> + + + + + + + + Gets the for a given file. + + The assembly file for which to get the . + + An object representing the given file. + + is an empty . + does not exist. + is not a valid assembly. + + The assembly is not added to this domain. + + + + Output the full name of the nunit.framework assembly to the + build log. + + + + ]]> + + + + + + Converts the specified string representation of a logical value to + its equivalent. + + A string containing the value to convert. + + if is equivalent to + "True"; otherwise, . + + is not equivalent to or . + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + "True" if is , or + "False" if is . + + + + + 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 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 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. + + + + + Gets a that is the current local date and + time on this computer. + + + A whose value is the current date and time. + + + + + 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 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 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 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 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. + + + + + Returns the number of days in the specified month of the specified + year. + + The year. + The month (a number ranging from 1 to 12). + + The number of days in for the specified + . + + 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, . + + + + + Converts the specified string representation of a date and time to + its equivalent. + + A string containing a date and time to convert. + + A equivalent to the date and time contained + in . + + does not contain a valid string representation of a date and time. + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + A string representation of formatted using + the general format specifier ("G"). + + + is formatted with the + for the invariant culture. + + + + + Groups a set of functions for dealing with directories. + + + + + Returns the creation date and time of the specified directory. + + The directory for which to obtain creation date and time information. + + The creation date and time of the specified directory. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Returns the date and time the specified directory was last written to. + + The directory for which to obtain write date and time information. + + The date and time the specified directory was last written to. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Returns the date and time the specified directory was last accessed. + + The directory for which to obtain access date and time information. + + The date and time the specified directory was last accessed. + + The specified directory does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The parameter is in an invalid format. + + + + Gets the current working directory. + + + A containing the path of the current working + directory. + + + + + Retrieves the parent directory of the specified path. + + The path for which to retrieve the parent directory. + + The parent directory, or an empty if + is the root directory, including the root + of a UNC server or share name. + + The directory specified by is read-only. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The specified path was not found. + + + Copy "readme.txt" from the current working directory to + its parent directory. + + + + + + ]]> + + + + + + Returns the volume information, root information, or both for the + specified path. + + The path for which to retrieve the parent directory. + + A string containing the volume information, root information, or + both for the specified path. + + is a zero-length string, contains only white space, or contains one or more invalid characters. + 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. + + + ]]> + + + + + + Converts the specified string representation of a number to its + double-precision floating point number equivalent. + + A string containing a number to convert. + + A double-precision floating point number equivalent to the numeric + value or symbol specified in . + + is not a number in a valid format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of formatted + using the general format specifier ("G"). + + + is formatted with the + for the invariant culture. + + + + + Provide information about the current environment and platform. + + + + + Gets the path to the system special folder identified by the + specified enumeration. + + An enumerated constant that identifies a system special folder. + + The path to the specified system special folder, if that folder + physically exists on your computer; otherwise, the empty string (""). + + is not a member of . + + + Copy "out.log" from the project base directory to the + program files directory. + + + + ]]> + + + + + + Gets the NetBIOS name of this local computer. + + + The NetBIOS name of this local computer. + + The name of this computer cannot be obtained. + + + + Gets an object that represents the + current operating system. + + + An object that contains the current + platform identifier and version number. + + + + Output string representation of the current operating system. + + + + ]]> + + If the operating system is Windows 2000, the output is: + + Microsoft Windows NT 5.0.2195.0 + + + + + + + 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. + + + + + + + + ]]> + + + + + + Returns the value of the specified environment variable. + + The environment variable of which the value should be returned. + + The value of the specified environment variable. + + 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 object that describes the major, + minor, build, and revision numbers of the Common Language Runtime. + + + A Version object. + + + Output the major version of the CLR. + + + ]]> + + + + + + Groups a set of functions for dealing with files. + + + + + Returns the creation date and time of the specified file. + + The file for which to obtain creation date and time information. + + The creation date and time of the specified file. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + The parameter is in an invalid format. + + + + Returns the date and time the specified file was last written to. + + The file for which to obtain write date and time information. + + The date and time the specified file was last written to. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + + + + Returns the date and time the specified file was last accessed. + + The file for which to obtain access date and time information. + + The date and time the specified file was last accessed. + + The specified file does not exist. + is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both exceed the system-defined maximum length. + 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 is more or equal + up-to-date than . + + The file to check against the target file. + The file for which we want to determine the status. + + if is more + or equal up-to-date than ; otherwise, + . + + or is a zero-length string, contains only white space, or contains one or more invalid characters. + The specified path, file name, or both of either or exceed the system-defined maximum length. + + + + Gets the length of the file. + + filename + + Length in bytes, of the file named . + + The file specified cannot be found. + + + + Checks if a given file is an assembly. + + The name or path of the file to be checked. + True if the file is a valid assembly, false if it's not or if the assembly seems corrupted (invalid headers or metadata). + is a null . + is an empty . + is not found, or the file you are trying to check does not specify a filename extension. + The caller does not have path discovery permission. + + + + Functions that provide version information for a physical file on disk. + + + + + Returns a representing the version + information associated with the specified file. + + The file to retrieve the version information for. + + A containing information about the file. + + The file specified cannot be found. + + + + Gets the name of the company that produced the file. + + A instance containing version information about a file. + + The name of the company that produced the file. + + + + + Gets the file version of a file. + + A instance containing version information about a file. + + The file version of a file. + + + + + + Gets the name of the product the file is distributed with. + + A instance containing version information about a file. + + The name of the product the file is distributed with. + + + + + Gets the product version of a file. + + A instance containing version information about a file. + + The product version of a file. + + + + + + Converts the specified string representation of a number to its + 32-bit signed integer equivalent. + + A string containing a number to convert. + + A 32-bit signed integer equivalent to the number contained in + . + + is not of the correct format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + The string representation of , consisting + of a negative sign if the value is negative, and a sequence of + digits ranging from 0 to 9 with no leading zeroes. + + + is formatted with the + for the invariant culture. + + + + + Converts the specified string representation of a number to its + 64-bit signed integer equivalent. + + A string containing a number to convert. + + A 64-bit signed integer equivalent to the number contained in + . + + is not of the correct format. + represents a number less than or greater than . + + The for the invariant culture is + used to supply formatting information about . + + + + + Converts the specified to its equivalent string + representation. + + A to convert. + + The string representation of , consisting + of a negative sign if the value is negative, and a sequence of + digits ranging from 0 to 9 with no leading zeroes. + + + is formatted with the + for the invariant culture. + + + + + 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 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, -. + + + + + 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 name of the current project. + + + The name of the current project, or an empty + if no name is specified in the build file. + + + + + Gets the form of the build file. + + + The form of the build file, or + an empty if the project is not file backed. + + + + + Gets the local path to the build file. + + + The local path of the build file, or an empty + if the project is not file backed. + + + + + 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 an empty if no + default target is defined for the 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. + + + + + + ]]> + + + + + + Gets the name of the target being executed. + + + A that contains the name of the target + being executed. + + No target is being executed. + + + + Checks whether the specified target has already been executed. + + The target to test. + + if the specified target has already been + executed; otherwise, . + + Target does not exist. + + + + Checks whether the specified task exists. + + The task to test. + + if the specified task exists; otherwise, + . + + + + + Returns the from which the specified task + was loaded. + + The name of the task to get the of. + + The from which the specified task was loaded. + + 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 is read-only. + + The property to test. + + if the specified property is read-only; + otherwise, . + + + Check whether the "debug" property is read-only. + property::is-readonly('debug') + + Property has not been set. + + + + Checks whether the specified property is a dynamic property. + + The property to test. + + if the specified property is a dynamic + property; otherwise, . + + Property has not been set. + + + Check whether the "debug" property is a dynamic property. + + 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. + + + + + Checks whether NAnt is running on the win32 platform. + + + if NAnt is running on the win32 platform; + otherwise, . + + + + + Checks whether NAnt is running on unix. + + + if NAnt is running on unix; + otherwise, . + + + + + Functions that return information about an operating system. + + + + + Gets a value that identifies the operating + system platform. + + The operating system. + + value that identifies the operating system + platform. + + + + + + Gets a object that identifies this operating + system. + + The operating system. + + A object that describes the major version, + minor version, build, and revision of the operating system. + + + + + + Converts the value of the specified operating system to its equivalent + representation. + + The operating system. + + The representation of + . + + + + Output string representation of the current operating system. + + + + ]]> + + If the operating system is Windows 2000, the output is: + + Microsoft Windows NT 5.0.2195.0 + + + + + + + Returns the fully qualified path. + + The file or directory for which to obtain absolute path information. + + A string containing the fully qualified location of , + such as "C:\MyFile.txt". + + is a zero-length string, contains only white space, or contains one or more invalid characters. + contains a colon (":"). + The specified path, file name, or both exceed the system-defined maximum length. + + + + Combines two paths. + + first path + second path + + A string containing the combined paths. If one of the specified paths + is a zero-length string, this method returns the other path. If + contains an absolute path, this method + returns . + + or contain one or more invalid characters. + + + + Changes the extension of the path string. + + The path information to modify. The path cannot contain any of the characters + defined in InvalidPathChars. + The new extension (with a leading period). Specify a null reference + to remove an existing extension from . + + + A string containing the modified path information. + + + On Windows-based desktop platforms, if is + an empty , the path information is returned + unmodified. If has no extension, the returned + path contains + appended to the end of . + + + + For more information see the documentation. + + contains one or more invalid characters. + + + + Returns the directory information for the specified path string. + + The path of a file or directory. + + A containing directory information for + , or an empty if + denotes a root directory, or does not + contain directory information. + + contains invalid characters, is empty, or contains only white spaces. + + + + Returns the extension for the specified path string. + + The path string from which to get the extension. + + A containing the extension of the specified + (including the "."), or an empty + if does not have + extension information. + + contains one or more invalid characters. + + + + Returns the filename for the specified path string. + + The path string from which to obtain the file name and extension. + + + A consisting of the characters after the last + directory character in path. + + + If the last character of is a directory or + volume separator character, an empty is returned. + + + contains one or more invalid characters. + + + + Returns the filename without extension for the specified path string. + + The path of the file. + + A containing the returned + by , minus the last period (.) and all + characters following it. + + contains one or more invalid characters. + + + + Gets the root directory of the specified path. + + The path from which to obtain root directory information. + + A containing the root directory of + , such as "C:\", or an empty + if does not contain root directory information. + + contains invalid characters, or is empty. + + + + Returns a uniquely named zero-byte temporary file on disk and returns the full path to that file. + + + A containing the name of the temporary file. + + + + + Gets the path to the temporary directory. + + + A containing the path information of a + temporary directory. + + + + + Determines whether a path string includes an extension. + + The path to search for an extension. + + . if the characters that follow the last + directory separator or volume separator in the + include a period (.) followed by one or more characters; + otherwise, . + + contains one or more invalid characters. + + + + Determines whether a path string is absolute. + + The path to test. + + if path contains an absolute ; + otherwise, . + + contains one or more invalid characters. + + + + Gets the value of a variable for the specified package. + + The package for which the variable should be retrieved. + The name of the variable. + + The value of variable for the specified + package. + + pkg-config could not be started. + does not exist. + + + + Gets the link flags required to compile the package, including all + its dependencies. + + The package for which the link flags should be retrieved. + + The link flags required to compile the package. + + pkg-config could not be started. + does not exist. + + + + Gets the compile flags required to compile the package, including all + its dependencies. + + The package for which the compile flags should be retrieved. + + The pre-processor and compile flags required to compile the package. + + pkg-config could not be started. + does not exist. + + + + Determines the version of the given package. + + The package to get the version of. + + The version of the given package. + + pkg-config could not be started. + does not exist. + + + + Determines whether the given package is at least version + . + + The package to check. + The version the package should at least have. + + if the given package is at least version + ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is exactly version + . + + The package to check. + The version the package should have. + + if the given package is exactly version + ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is at no newer than version + . + + The package to check. + The version the package should maximum have. + + if the given package is at no newer than + version ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package is between two versions. + + The package to check. + The version the package should at least have. + The version the package should maximum have. + + if the given package is between + and ; otherwise, . + + pkg-config could not be started. + + + + Determines whether the given package exists. + + The package to check. + + if the package exists; otherwise, + . + + pkg-config could not be started. + + + + Runs pkg-config with the specified arguments and returns a + based on the exit code. + + The arguments to pass to pkg-config. + + if pkg-config exited with exit code 0; + otherwise, + + + + + Runs pkg-config with the specified arguments and returns the result + as a . + + The arguments to pass to pkg-config. + + The result of running pkg-config with the specified arguments. + + + + + 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 a substring of the specified string. + + input string + position of the start of the substring + the length of the substring + + + If the is greater than zero, the + function returns a substring starting at character position + with a length of + characters. + + + If the is equal to zero, the function + returns an empty string. + + + or is less than zero. + is greater than the length of . + plus indicates a position not within . + + string::substring('testing string', 0, 4) ==> 'test' + + + string::substring('testing string', 8, 3) ==> 'str' + + + string::substring('testing string', 8, 0) ==> '' + + + string::substring('testing string', -1, 5) ==> ERROR + + + string::substring('testing string', 8, -1) ==> ERROR + + + string::substring('testing string', 5, 17) ==> ERROR + + + + + 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 + + + + + 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 a string corresponding to the replacement of a given string + with another in the specified string. + + input string + A to be replaced. + A to replace all occurrences of . + + A equivalent to but + with all instances of replaced with + . + + is an empty string. + + This function performs a word (case-sensitive and culture-sensitive) + search to find . + + + string::replace('testing string', 'test', 'winn') ==> 'winning string' + + + string::replace('testing string', 'foo', 'winn') ==> 'testing string' + + + string::replace('testing string', 'ing', '') ==> 'test str' + + + string::replace('banana', 'ana', 'ana') ==> 'banana' + + + + + 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 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 given string left-padded to the given length. + + The that needs to be left-padded. + The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. + A Unicode padding character. + + If the length of is at least + , then a new identical + to is returned. Otherwise, + will be padded on the left with as many + characters as needed to create a length of . + + is less than zero. + + Note that only the first character of + will be used when padding the result. + + + string::pad-left('test', 10, ' ') ==> ' test' + + + string::pad-left('test', 10, 'test') ==> 'tttttttest' + + + string::pad-left('test', 3, ' ') ==> 'test' + + + string::pad-left('test', -4, ' ') ==> ERROR + + + + + Returns the given string right-padded to the given length. + + The that needs to be right-padded. + The number of characters in the resulting string, equal to the number of original characters plus any additional padding characters. + A Unicode padding character. + + If the length of is at least + , then a new identical + to is returned. Otherwise, + will be padded on the right with as many + characters as needed to create a length of . + + is less than zero. + + Note that only the first character of + will be used when padding the result. + + + string::pad-right('test', 10, ' ') ==> 'test ' + + + string::pad-right('test', 10, 'abcd') ==> 'testaaaaaa' + + + string::pad-right('test', 3, ' ') ==> 'test' + + + string::pad-right('test', -3, ' ') ==> ERROR + + + + + 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 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 total number of days represented by the specified + , expressed in whole and fractional days. + + A . + + The total number of days represented by the given . + + + + + Returns the total number of hours represented by the specified + , expressed in whole and fractional hours. + + A . + + The total number of hours represented by the given . + + + + + Returns the total number of minutes represented by the specified + , expressed in whole and fractional minutes. + + A . + + The total number of minutes represented by the given . + + + + + Returns the total number of seconds represented by the specified + , expressed in whole and fractional seconds. + + A . + + The total number of seconds represented by the given . + + + + + Returns the total number of milliseconds represented by the specified + , expressed in whole and fractional milliseconds. + + A . + + The total number of milliseconds represented by the given + . + + + + + Returns the number of whole days represented by the specified + . + + A . + + The number of whole days represented by the given + . + + + + Remove all files that have not been modified in the last 7 days from directory "binaries". + + + + + + + ]]> + + + + + + Returns the number of whole hours represented by the specified + . + + A . + + The number of whole hours represented by the given + . + + + + + Returns the number of whole minutes represented by the specified + . + + A . + + The number of whole minutes represented by the given + . + + + + + Returns the number of whole seconds represented by the specified + . + + A . + + The number of whole seconds represented by the given + . + + + + + Returns the number of whole milliseconds represented by the specified + . + + A . + + The number of whole milliseconds represented by the given + . + + + + + Returns the number of ticks contained in the specified + . + + A . + + The number of ticks contained in the given . + + + + + Returns a that represents a specified number + of days, where the specification is accurate to the nearest millisecond. + + A number of days, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of hours, where the specification is accurate to the nearest + millisecond. + + A number of hours, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of minutes, where the specification is accurate to the nearest + millisecond. + + A number of minutes, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of seconds, where the specification is accurate to the nearest + millisecond. + + A number of seconds, accurate to the nearest millisecond. + + A that represents . + + + + + Returns a that represents a specified number + of milliseconds. + + A number of milliseconds. + + A that represents . + + + + + Returns a that represents a specified time, + where the specification is in units of ticks. + + A number of ticks that represent a time. + + A that represents . + + + + + Constructs a from a time indicated by a + specified string. + + A string. + + A that corresponds to . + + has an invalid format. + At least one of the hours, minutes, or seconds components is outside its valid range. + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of . The format + of the return value is of the form: [-][d.]hh:mm:ss[.ff]. + + + + + Gets the value of the major component of a given version. + + A version. + + The major version number. + + + + + + + + Gets the value of the minor component of a given version. + + A version. + + The minor version number. + + + + + + + + Gets the value of the build component of a given version. + + A version. + + The build number, or -1 if the build number is undefined. + + + + + + + + Gets the value of the revision component of a given version. + + A version. + + The revision number, or -1 if the revision number is undefined. + + + + + + + + Converts the specified string representation of a version to + its equivalent. + + A string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.'). + + A instance representing the specified + . + + has fewer than two components or more than four components. + A major, minor, build, or revision component is less than zero. + At least one component of does not parse to a decimal integer. + + + + Converts the specified to its equivalent + string representation. + + A to convert. + + The string representation of the values of the major, minor, build, + and revision components of the specified . + + + + + + + + Changes the file attributes of a file or set of files and directories. + + + + 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. + + + Refer to the enumeration in the .NET SDK + for more information about file attributes. + + + + + Set the read-only file attribute for the specified file in + the project directory. + + + + ]]> + + + + + Set the normal file attribute for the specified file. + + + + ]]> + + + + + Set the normal file attribute for all executable files in + the current project directory and sub-directories. + + + + + + + + + ]]> + + + + + + 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. + + + + + 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. + + + If the attribute is set on the task and a + message is logged with level , the + priority of the message will be increased to + when the threshold of the build log is . + + + This will allow individual tasks to run in verbose mode while + the build log itself is still configured with threshold + . + + + The threshold of the project is not taken into account to determine + whether a message should be passed to the logging infrastructure, + as build listeners might be interested in receiving all messages. + + + + + + Logs a formatted message with the given priority. + + The message priority at which the specified message is to be logged. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + + The actual logging is delegated to the project. + + + If the attribute is set on the task and a + message is logged with level , the + priority of the message will be increased to . + when the threshold of the build log is . + + + This will allow individual tasks to run in verbose mode while + the build log itself is still configured with threshold + . + + + + + + Determines whether build output is enabled for the given + . + + The to check. + + if messages with the given + should be passed on to the logging infrastructure; otherwise, + . + + + The threshold of the project is not taken into account to determine + whether a message should be passed to the logging infrastructure, + as build listeners might be interested in receiving all messages. + + + + + 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. + + + Executes the task. + + + + 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 . + + + + + If then the task will be executed; otherwise, + skipped. The default is . + + + + + Opposite of . If + then the task will be executed; otherwise, skipped. The default is + . + + + + + The name of the task. + + + + + The prefix used when sending messages to the log. + + + + + Gets or sets the log threshold for this . By + default the threshold of a task is , + causing no messages to be filtered in the task itself. + + + The log threshold level for this . + + + When the threshold of a is higher than the + threshold of the , then all messages will + 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. + + + + + All the matching files and directories in this fileset will have + their attributes set. + + + + + Set the archive 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 read-only attribute. The default is . + + + + + Set the system attribute. The default is . + + + + + Checks if a resource is available at runtime. + + + + The specified property is set to if the + requested resource is available at runtime, and + if the resource is not available. + + + we advise you to use the following functions instead: + + + + Function + Description + + + + Determines whether the specified file exists. + + + + Determines whether the given path refers to an existing directory on disk. + + + + Checks whether the specified framework exists.. + + + + Checks whether the SDK for the specified framework is installed. + + + + + + Sets the myfile.present property to if the + file is available on the filesystem and if the + file is not available. + + + + ]]> + + + + + Sets the build.dir.present property to + if the directory is available on the filesystem and + if the directory is not available. + + + + ]]> + + + + + Sets the mono-0.21.framework.present property to + if the Mono 0.21 framework is available on the current system and + if the framework is not available. + + + + ]]> + + + + + Sets the net-1.1.frameworksdk.present property to + if the .NET 1.1 Framework SDK is available on the current system and + if the SDK is not available. + + + + ]]> + + + + + + Executes the task. + + + + Sets the property identified by to + when the resource exists and to + when the resource doesn't exist. + + + The availability of the resource could not be evaluated. + + + + Evaluates the availability of a resource. + + + if the resource is available; otherwise, + . + + The availability of the resource could not be evaluated. + + + + Checks if the file specified in the property is + available on the filesystem. + + + when the file exists; otherwise, . + + + + + Checks if the directory specified in the + property is available on the filesystem. + + + when the directory exists; otherwise, . + + + + + Checks if the framework specified in the + property is available on the current system. + + + when the framework is available; otherwise, + . + + + + + Checks if the SDK for the framework specified in the + property is available on the current system. + + + when the SDK for the specified framework is + available; otherwise, . + + + + + The resource which must be available. + + + + + The type of resource which must be present. + + + + + The property that must be set if the resource is available. + + + + + Defines the possible resource checks. + + + + + Determines whether a given file exists. + + + + + Determines whether a given directory exists. + + + + + Determines whether a given framework is available. + + + + + Determines whether a given SDK is available. + + + + + Calls a NAnt target in the current project. + + + + When the 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: + + + + + Add an "unless" attribute with value "${target::has-executed('<target name>')}" + to the dependent targets. + + + + + Set the attribute on the + to (recommended). + + + + + + + Call the target "build". + + + + ]]> + + + + + This shows how a project could 'compile' a debug and release build + using a common compile target. + + + + + + + + + + + + + + + + + + ]]> + + + The parameter of the + defaults to , + causing the "init" target to be executed for both + the "debug" and "release" build. + + + This results in the following build log: + + + build: + + init: + + [echo] initializing + + compile: + + [echo] compiling with debug = false + + init: + + [echo] initializing + + compile: + + [echo] compiling with debug = true + + BUILD SUCCEEDED + + + If the "init" should only be executed once, set the + attribute of the + to . + + + The build log would then look like this: + + + build: + + init: + + [echo] initializing + + compile: + + [echo] compiling with debug = false + + compile: + + [echo] compiling with debug = true + + BUILD SUCCEEDED + + + + + + Executes the specified target. + + + + + Makes sure the is not calling its own + parent. + + The task XML node. + + + + NAnt target to call. + + + + + 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 . + + + + + 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 attribute. + + + When a is used to select files to copy, the + attribute must be set. Files that are + located under the base directory of the will + be copied to a directory under the destination directory matching the + path relative to the base directory of the , + unless the attribute is set to + . + + + Files that are not located under the the base directory of the + will be copied directly under to the destination + directory, regardless of the value of the + attribute. + +

Encoding

+ + 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. + + + If you employ filters in your copy operation, you should limit the copy + to text files. Binary files will be corrupted by the copy operation. + +
+ + + Copy a single file while changing its encoding from "latin1" to + "utf-8". + + + + ]]> + + + + Copy a set of files to a new directory. + + + + + + + ]]> + + + + + Copy a set of files to a directory, replacing @TITLE@ with + "Foo Bar" in all files. + + + + + + + + + + + + + ]]> + + +
+ + + Initialize new instance of the . + + + + + Checks whether the task is initialized with valid attributes. + + The used to initialize the task. + + + + Executes the Copy task. + + A file that has to be copied does not exist or could not be copied. + + + + Actually does the file copies. + + + + + The file to copy. + + + + + The file to copy to. + + + + + The directory to copy to. + + + + + Overwrite existing files even if the destination files are newer. + The default is . + + + + + Ignore directory structure of source directory, copy all files into + a single directory, specified by the + attribute. The default is . + + + + + Copy any empty directories included in the . + The default is . + + + + + Used to select the files to copy. To use a , + the attribute must be set. + + + + + 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 writing the files. The default is + the encoding of the input file. + + + + + The set of files to perform a file operation on. + + + + The key of the is the absolute path of + the destination file and the value is a + holding the path and last write time of the most recently updated + source file that is selected to be copied or moved to the + destination file. + + + On Windows, the is case-insensitive. + + + + + + Holds the absolute paths and last write time of a given file. + + + + + Initializes a new instance of the + class for the specified file and last write time. + + The absolute path of the file. + The last write time of the 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. + + + + + 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 or attribute is + set then the fileset contents will be ignored. To delete the files + in the fileset ommit the and + attributes in the <delete> element. + + + If the specified file or directory does not exist, no error is + reported. + + + Read-only files cannot be deleted. Use the + first to remove the read-only attribute. + + + + Delete a single file. + + + ]]> + + + + + Delete a directory and the contents within. If the directory does not + exist, no error is reported. + + + + ]]> + + + + + Delete a set of files. + + + + + + + + + ]]> + + + + + + Ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + The file to delete. + + + + + The directory to delete. + + + + + Remove any empty directories included in the . + The default is . + + + + + 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 . + + + + + An empty task that allows a build file to contain a description. + + + Set a description. + + This is a description. + ]]> + + + + + + Writes a message to the build log or a specified file. + + + + The message can be specified using the attribute + or as inline content. + + + Macros in the message will be expanded. + + + When writing to a file, the attribute is + ignored. + + + + + Writes a message with level to the build log. + + + + ]]> + + + + + Writes a message with expanded macro to the build log. + + + + ]]> + + + + + Functionally equivalent to the previous example. + + + Base build directory = ${nant.project.basedir} + ]]> + + + + + Writes the previous message to a file in the project directory, + overwriting the file if it exists. + + + Base build directory = ${nant.project.basedir} + ]]> + + + + + + Outputs the message to the build log or the specified file. + + + + + The message to 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. + + + + + Determines whether the should append to the + file, or overwrite it. By default, the file will be overwritten. + + + if output should be appended to the file; + otherwise, . The default is + . + + + + + The logging level with which the message should be output. The default + is . + + + + + Executes a system command. + + + Ping "nant.sourceforge.net". + + + + + ]]> + + + + + Execute a java application using IKVM.NET that requires the + Apache FOP jars, and a set of custom jars. + + + + + + + + + + + + + + + + + + + + + ]]> + + + Assuming the base directory of the build file is "c:\ikvm-test" and + the value of the "fop.dist.dir" property is "c:\fop", then the value + of the -cp argument that is passed toikvm.exe is + "c:\ikvm-test\conf;c:\fop\build\fop.jar;conf;c:\fop\lib\xercesImpl-2.2.1.jar;c:\fop\lib\avalon-framework-cvs-20020806.jar;c:\fop\lib\batik.jar;c:\ikvm-test\lib\mylib.jar;c:\ikvm-test\lib\otherlib.zip" + on a DOS-based system. + + + + + + Provides the abstract base class for tasks that execute external applications. + + + + + Defines the exit code that will be returned by + if the process could not be started, or did not exit (in time). + + + + + Will be used to ensure thread-safe operations. + + + + + Starts the external process and captures its output. + + + The external process did not finish within the configured timeout. + -or- + The exit code of the external process indicates a failure. + + + + + Updates the of the specified + . + + The of which the should be updated. + + + + Starts the process and handles errors. + + The that was started. + + + Reads from the stream until the external program is ended. + + + Reads from the stream until the external program is ended. + + + + Determines the path of the external program that should be executed. + + + A fully qualifies pathname including the program name. + + 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. + + + + + 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 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 a value indicating whether output will be appended to the + . + + + if output should be appended to the ; + otherwise, . + + + + + 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 command-line arguments for the external program. + + + + + 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, . + + + + + Gets or sets the to which standard output + messages of the external program will be written. + + + The to which standard output messages of + the external program will be written. + + + By default, standard output messages wil be written to the build log + with level . + + + + + Gets or sets the to which error output + of the external program will be written. + + + The to which error output of the external + program will be written. + + + By default, error output wil be written to the build log with level + . + + + + + 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 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. + + + + + 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. + + + + + 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 name of a property in which the exit code of the program should + be stored. Only of interest if is + . + + + If the exit code of the program is "-1000" then the program could + not be started, or did not exit (in time). + + + + + + 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, . + + + + + 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. + + + + + 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. + + + + + Gets or sets a value indicating whether output should be appended + to the output file. The default is . + + + if output should be appended to the ; + otherwise, . + + + + + Exits the current build by throwing a , + optionally printing additional information. + + + + The cause of the build failure can be specified using the + attribute or as inline content. + + + Macros in the message will be expanded. + + + + Exits the current build without giving further information. + + + ]]> + + + + Exits the current build and writes a message to the build log. + + + ]]> + + + + Functionally equivalent to the previous example. + + Something wrong here. + ]]> + + + + + + A message giving further information on why the build exited. + + + Inline content and are mutually exclusive. + + + + + Gets or sets the inline content that should be output in the build + log, giving further information on why the build exited. + + + The inline content that should be output in the build log. + + + Inline content and are mutually exclusive. + + + + + 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. + + + The option enables you to control downloads + so that the remote file is only fetched if newer than the local copy. + If there is no local copy, the download always takes place. When a file + is downloaded, the timestamp of the downloaded file is set to the remote + timestamp. + + + This timestamp facility only works on downloads using the HTTP protocol. + + + + + Gets the index page of the NAnt home page, and stores it in the file + help/index.html relative to the project base directory. + + + + ]]> + + + + + Gets the index page of a secured web site using the given credentials, + while connecting using the specified password-protected proxy server. + + + + + + + + + ]]> + + + + + + Initializes task and ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + This is where the work is done + + + + + Sets the timestamp of a given file to a specified time. + + + + + The URL from which to retrieve a 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 + + + + + The network proxy to use to access 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 . + + + + + 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 security certificates to associate with the request. + + + + + Checks the conditional attributes and executes the children if + . + + + + 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. + + + The order of condition evaluation is, , + , , + . + + + instead of using the deprecated attributes, we advise you to use the + following functions in combination with the + attribute: + + + + Function + Description + + + + Checks whether the specified property exists. + + + + Checks whether the specified target exists. + + + + + Tests the value of a property using expressions. + + + Build release configuration + + ]]> + + + + Tests the the output of a function. + + + + + ]]> + + + + (Deprecated) Check that a target exists. + + + + + + ]]> + + + + (Deprecated) Check existence of a property. + + + + + ]]> + + + + (Deprecated) Check that a property value is true. + + + + + ]]> + + + + + (Deprecated) Check that a property exists and is + (uses multiple conditions). + + + + + + ]]> + + which is the same as + + + + + + + ]]> + + + + + (Deprecated) Check file dates. If myfile.dll is uptodate, + then do stuff. + + + + + + ]]> + + or + + + + + + + + ]]> + + or + + + + + + + + + + + ]]> + + + + + + 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. + + + + Creates and executes the embedded (child XML nodes) elements. + + + Skips any element defined by the host that has + a defined. + + + + + Gets a value indicating whether the element is performing additional + processing using the that was use to + initialize the element. + + + , as a is + responsable for creating tasks from the nested build elements. + + + + + The file to compare if uptodate. + + + + + The file to check against for the uptodate file. + + + + + The that contains the comparison files for + the (s) check. + + + + + The that contains the uptodate files for + the (s) check. + + + + + Used to test whether a property is true. + + + + + Used to test whether a property exists. + + + + + Used to test whether a target exists. + + + + + 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. + + + + + ]]> + + + + + + 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. + + + + + Verifies parameters. + + Xml taskNode used to define this task instance. + + + + 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. + + + + + + + + + + ]]> + + + + + + The file to load. + + + + + 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 filterchain definition to use. + + + + + Loads tasks form a given assembly or all assemblies in a given directory + or . + + + + Load tasks from a single assembly. + + + + ]]> + + + + + Scan a single directory for task assemblies. + + + + ]]> + + + + + Use a containing both a directory and an + assembly. + + + + + + + + + ]]> + + + + + + Executes the Load Tasks task. + + Specified assembly or path does not exist. + + + + Validates the attributes. + + Both and are set. + + + + An assembly to load tasks from. + + + + + A directory to scan for task assemblies. + + + + + 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. + + + + + + ]]> + + + + + + 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 whitespace trimming that should be done. The default + is . + + + + + The source of the iteration. + + + + + The deliminator char. + + + + + Stuff to operate in. Just like the + attribute, but supports more complicated things like a + and such. + + Please remove the attribute if you + are using this element. + + + + + + Tasks to execute for each matching item. + + + + + 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 beginning 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. + + + + + + + + + + + ]]> + + + + + + Initializes task and ensures the supplied attributes are valid. + + Xml node used to define this task instance. + + + + 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. + + + + + Email address of sender. + + + + + Semicolon-separated list of recipient email addresses. + + + + + Semicolon-separated list of CC: recipient email addresses. + + + + + Semicolon-separated list of BCC: recipient email addresses. + + + + + Host name of mail server. The default is localhost. + + + + + Text to send in body of email message. + + + + + Text to send in subject line of email message. + + + + + Format of the message. The default is . + + + + + Files that are transmitted as part of the body of the email 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 the directory specified by the property. + + The directory could not be created. + + + + The directory to create. + + + + + 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 + attribute. + + + A can be used to select files to move. To use + a , the + attribute must be set. + +

Encoding

+ + 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. + + + If you employ filters in your move operation, you should limit the + move to text files. Binary files will be corrupted by the move + operation. + +
+ + + Move a single file while changing its encoding from "latin1" to + "utf-8". + + + + ]]> + + + + Move a set of files. + + + + + + + ]]> + + + + + Move a set of files to a directory, replacing @TITLE@ with + "Foo Bar" in all files. + + + + + + + + + + + + + ]]> + + +
+ + + Actually does the file moves. + + + + + The file to move. + + + + + The file to move to. + + + + + The directory to move to. + + + + + Used to select the files to move. To use a , + the attribute must be set. + + + + + Ignore directory structure of source directory, move all files into + a single directory, specified by the + attribute. The default is . + + + + + 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 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 new instance. + + The name of the attribute. + Value indicating whether the attribute should be required. + The new instance. + + + + Creates a new instance. + + The minimum value to allow for this choice + The maximum value to allow, Decimal.MaxValue sets it to 'unbound' + The new instance. + + + + 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 for which an XSD should be created. If not + specified, an XSD will be created for all available tasks. + + + + + Creates a new instance of the + class. + + Tasks for which a schema should be generated. + Data Types for which a schema should be generated. + The namespace to use. + http://tempuri.org/nant.xsd + + + + + 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 + to 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 . + This allows you to parameterize your subprojects. + + + References to data types can also be passed to the new project, but by + default they are not. If you set the to + , all references will be copied. + + + + + Build a project located in a different directory if the debug + property is not . + + + + ]]> + + + + + Build a project while adding a set of properties to that project. + + + + + + + + + + ]]> + + + + + Build all projects named default.build located anywhere under + the project base directory. + + + + + + + + + + ]]> + + + + + + Validates the element. + + The XML node of the task to use for initialization. + + + + 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. + + + + + 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 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. + + + + + 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 value to assign to the NAnt property. + + + + + 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 the value of a property should be overwritten if + the property already exists (unless the property is read-only). + The default is . + + + + + Sets project properties based on the evaluatuion of a regular expression. + + + + The 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'). + + + In the build file, use the XML element to specify <, + and to specify >. + + + The named grouping construct must not contain any punctuation and it + cannot begin with a number. + + + + + Find the last word in the given string and stores it in the property + lastword. + + + + + ]]> + + + + + Split the full filename and extension of a filename. + + + + ]]> + + + + + Split the path and the filename. (This checks for / or \ + as the path separator). + + + + ]]> + + + Results in path=d:\Temp\SomeDir\SomeDir\ and file=bla.xml. + + + + + + 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. + + + + + A comma separated list of options to pass to the regex engine. The + default is . + + + + + Represents the input for the regular expression. + + + The input for the regular expression. + + + + + Sets an environment variable or a whole collection of them. Use an empty + attribute to clear a variable. + + + + 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 and its nested + element might be a better option. + + + Expansion of inline environment variables is performed using the syntax + of the current platform. So on Windows platforms using the string %PATH% + in the attribute will result in the value of + the PATH variable being expanded in place before the variable is set. + + + + Set the MONO_PATH environment variable on a *nix platform. + + + ]]> + + + + Set a collection of environment variables. Note the nested variable used to set var3. + + + + + + + ]]> + + + + Set environment variables using nested path elements. + + + + + + + + + + + + + + + + + ]]> + + + + + + Win32 DllImport for the SetEnvironmentVariable function. + + + + + + + + *nix dllimport for the setenv function. + + + + + + + + + Checks whether the task is initialized with valid attributes. + + + + + + Set the environment variables + + + + + 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 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 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. + + + + + 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 + + + + Return time to sleep. + + + + + Sleeps for the specified number of milliseconds. + + Number of milliseconds to sleep. + + + + Hours to add to the sleep time. + + + + + Minutes to add to the sleep time. + + + + + Seconds 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. + + + + + + + + + + ]]> + + + + + + 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. + + + + + 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. + + + + + Specifies a single XML document to be styled. Should be used with + the attribute. + + + + + Specifies the output name for the styled result from the + attribute. + + + + + Specifies a group of input files to which to apply the stylesheet. + + + + + XSLT parameters 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. + + + + + 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. + + + Property + Value + + + <>.clr.version + Common Language Runtime version number. + + + <>.env.* + Environment variables (e.g., <>.env.PATH). + + + <>.os.platform + Operating system platform ID. + + + <>.os.version + Operating system version. + + + <>.os + Operating system version string. + + + <>.os.folder.applicationdata + The directory that serves as a common repository for application-specific data for the current roaming user. + + + <>.os.folder.commonapplicationdata + The directory that serves as a common repository for application-specific data that is used by all users. + + + <>.os.folder.commonprogramfiles + The directory for components that are shared across applications. + + + <>.os.folder.desktopdirectory + The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder. + + + <>.os.folder.programfiles + The Program Files directory. + + + <>.os.folder.system + The System directory. + + + <>.os.folder.temp + The temporary directory. + + + + When the name of an environment variable is not a valid property name, + the task will fail. In that case, set to + to allow that environment variable to be + skipped. + + + we advise you to use the following functions instead: + + + + Function + Description + + + + Gets a object that identifies this operating system. + + + + Gets the path to a system special folder. + + + + Returns the value of a environment variable. + + + + Gets the path to the temporary directory. + + + + Gets the Common Language Runtime version. + + + + + Register the properties with the default property prefix. + + + ]]> + + + + Register the properties without a prefix. + + + ]]> + + + + Register properties and display a summary. + + + ]]> + + + + + + The string to prefix the property names with. The default is "sys.". + + + + + Sets properties with the current date and time. + + + + By default the displays the current date + and time and sets the following properties: + + + tstamp.date to yyyyMMdd + tstamp.time to HHmm + tstamp.now using the default DateTime.ToString() method + + + To set an additional property with a custom date/time use the + and attributes. + To set a number of additional properties with the exact same date and + time use the nested element (see example). + + + The date and time string displayed by the + uses the computer's default long date and time string format. You + might consider setting these to the + ISO 8601 standard + for date and time notation. + + + + Set the build.date property. + + + ]]> + + + + Set a number of properties for Ant like compatibility. + + + + + + + ]]> + + + + + + 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. + + + + + Check modification dates on groups of files. + + + If all are same or newer than all , the specified property is set to , otherwise it + is set to . + + + + Check file dates. If myfile.dll is same or newer than myfile.cs, then set myfile.dll.uptodate property + to either or . + + + + + + + + + + + ]]> + + + + + + Property that will be set to or depending on the + result of the date check. + + + + + The that contains list of source files. + + + + + The that contains list of target files. + + + + + 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. + + + + + Loads an XML document from a file on disk. + + The file name of the file to load the XML document from. + + A document containing + the document object representing the file. + + + + + 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 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 XPath expression used to select which node to read. + + + + + 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: + + + + + + + ]]> + + + + + + 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. + + + An containing + the document object model representing the file. + + + + + Given an XML document and an expression, returns a list of nodes + which match the expression criteria. + + + The XPath expression used to select the nodes. + + + The XML document that is searched. + + + An to use for resolving namespaces + for prefixes in the XPath expression. + + + An containing references to the nodes + that matched the XPath expression. + + + + + 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. + + + + 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 value that replaces the contents of the selected nodes. + + + + + Namespace definitions to resolve prefixes in the XPath expression. + + + + + Represents a command-line argument. + + + + A single command-line argument containing a space character. + + + + ]]> + + + + + Two separate command-line arguments. + + + + ]]> + + + + + A single command-line argument with the value \dir;\dir2;\dir3 + on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems. + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified command-line argument. + + + + + Initializes a new instance of the class + with the given file. + + + + + Initializes a new instance of the class + with the given path. + + + + + Returns the argument as a . + + + The argument as a . + + + File and individual path elements will be quoted if necessary. + + + + + 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. + + + + + 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 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. + + + + + 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 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. + + + + + 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with value + 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 value. + + The value of the to get. + + + + 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. + + + + + Provides credentials for password-based authentication schemes. + + + + + Initializes a new instance of the class. + + + + + Returns a instance representing + the current . + + + A instance representing the current + , or if the + credentials should not be used to provide authentication information + to the external resource. + + + + + The domain or computer name that verifies the credentials. + + + + + The password for 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 not be used to provide authentication + information to the external resource. If then the + credentials will be passed; otherwise, not. The default is + . + + + + + A specialized used for specifying a set of + directories. + + + Hint for supporting tasks that the included directories instead of + files should be used. + + + + + 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: + + + + + '*' matches zero or more characters + For example: + + *.cs matches .cs, x.cs and FooBar.cs, + but not FooBar.xml (does not end with .cs). + + + + + + '?' matches one character + For example: + + ?.cs matches x.cs, A.cs, but not + .cs or xyz.cs (both don't have one character + before .cs). + + + + + + Combinations of *'s and ?'s are allowed. + + + 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/**. + +

Default Excludes

+ + There are a set of definitions that are excluded by default from all + tasks that use filesets. They are: + + + + + **/*~ + + + + + **/#*# + + + + + **/.#* + + + + + **/%*% + + + + + **/CVS + + + + + **/CVS/** + + + + + **/.cvsignore + + + + + **/.svn + + + + + **/.svn/** + + + + + **/_svn + + + + + **/_svn/** + + + + + **/SCCS + + + + + **/SCCS/** + + + + + **/vssver.scc + + + + + **/_vti_cnf/** + + + + + If you do not want these default excludes applied, you may disable them + by setting to . + +
+ + + + Pattern + Match + + + **/CVS/* + + + Matches all files in CVS directories that can be + located anywhere in the directory tree. + + Matches: + + + CVS/Repository + + + org/apache/CVS/Entries + + + org/apache/jakarta/tools/ant/CVS/Entries + + + But not: + + + org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) + + + + + + org/apache/jakarta/** + + + Matches all files in the org/apache/jakarta directory + tree. + + Matches: + + + org/apache/jakarta/tools/ant/docs/index.html + + + org/apache/jakarta/test.xml + + + But not: + + + org/apache/xyz.java (jakarta/ part is missing) + + + + + + org/apache/**/CVS/* + + + Matches all files in CVS directories that are located + anywhere in the directory tree under org/apache. + + Matches: + + + org/apache/CVS/Entries + + + org/apache/jakarta/tools/ant/CVS/Entries + + + But not: + + + org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match) + + + + + + **/test/** + + + Matches all files that have a test element in their + path, including test as a filename. + + + + + +
+ + + Initializes a new instance of the class. + + + + + copy constructor + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Copies all instance data of the to a given + . + + + + + 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. + + + + + When set to , causes the fileset element to + throw a when no files match the + includes and excludes criteria. 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. + + + + + Gets the collection of include patterns. + + + + + Gets the collection of exclude patterns. + + + + + Gets the collection of files that will be added to the + without pattern matching or checking if the + file exists. + + + + + Gets the collection of file names that match the fileset. + + + A collection that contains the file names that match the + . + + + + + Gets the collection of directory names that match the fileset. + + + A collection that contains the directory names that match the + . + + + + + 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 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 exclude should + be obtained. + + + + + Determines the most recently modified file in the fileset (by LastWriteTime of the ). + + + The of the file that has the newest (closest to present) last write time. + + + + + The pattern or file name to exclude. + + + + + If then the pattern will be excluded; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the pattern will be excluded; otherwise, skipped. The default + is . + + + + + If then the file name will be added to + the without pattern matching or checking + if the file exists. The default is . + + + + + If then the file will be searched for + on the path. The default is . + + + + + The pattern or file name to include. + + + + + If then the pattern will be included; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the pattern will be included; otherwise, skipped. The default + is . + + + + + Gets the list of patterns in . + + + + + If then the patterns will be excluded; + otherwise, skipped. The default is . + + + + + Opposite of . If + then the patterns will be excluded; otherwise, skipped. The default + is . + + + + + The name of a file; each line of this file is taken to be a + pattern. + + + + + If then the patterns in the include file + will be added to the without pattern + matching or checking if the file exists. 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 . + + + + + Opposite of . If + then the patterns will be included; otherwise, skipped. The default + is . + + + + + Initializes a new instance of the class. + + + + + Copy constructor for . Required in order to + assign references of type where + is used. + + A instance to create a from. + + + + Represents an environment variable. + + + + + Initializes a instance with the + specified name and value. + + The name of the environment variable. + The value of the environment variable. + + + + Initializes a instance. + + + + + The name of 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 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. + + + + + 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. + + + + + 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 + . + + + + + A set of environment variables. + + + + + Environment variable to pass to a program. + + + + + Environment variable to pass to a program. + + + + + 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with value + 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 name. + + The name of the to get. + + + + 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. + + + + + The name of the NAnt property to set. + + + + + 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 not used to format the + timestamp. If then the formatter will be + used; otherwise, skipped. The default is . + + + + + 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, . + + + + + 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. + + + + + Represents an option. + + + + + name, value constructor + + + + + + + Default constructor + + + + + Name of the option. + + + + + 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 not be passed to the task. + If then the option will be passed; + otherwise, skipped. The default is . + + + + + 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 for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for the specified + task 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 name. + + The name of the option that should be located in the collection. + + + + 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. + + + + + 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 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. + + + + + If then the entry will be added to the + path; otherwise, skipped. The default is . + + + + + Opposite of . If + then the entry will be added to the path; otherwise, skipped. + The default is . + + + + + Gets the parts of a path represented by this element. + + + A containing the parts of a path + represented by this element. + + + + + + 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. + + + + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + Invoked by for build + attributes with an underlying type. + + The to be used to resolve relative paths. + 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. + + + + + Defines a set of path elements to add to the current path. + + The to add. + + + + Defines a path element to add to the current path. + + The to add. + + + + Returns all path elements defined by this path object. + + + A list of path elements. + + + + + Splits a PATH (with ; or : as separators) into its parts, while + resolving references to environment variables. + + The to be used to resolve relative paths. + The path to translate. + + A PATH split up its parts, with references to environment variables + resolved and duplicate entries removed. + + + + + Contains HTTP proxy settings used to process requests to Internet + resources. + + + + + Initializes a new instance of the class. + + + + + Gets a instance representing the current + . + + + A instance representing the current + , or + if this proxy should not be used to connect to the external resource. + + + + + The name of the proxy host. + + + + + The port number on to use. + + + + + Specifies whether to bypass the proxy server for local addresses. + The default is . + + + + + 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 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. + + + + + Gets the XML that this element represents. + + + + + Gets a value indicating whether the element is performing additional + processing using the that was use to + initialize the element. + + + , as the XML that represents this build + element is processed by the containing task or type. + + + + + ReplaceTokens filter token. + + + + + Token to be replaced. + + + + + 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 not be used to replace values. + If then the token will be used; + otherwise, not. The default is . + + + + + Represents an XML namespace. + + + + + The prefix to associate with the namespace. + + + + + The associated XML namespace URI. + + + + + Indicates if the namespace should be added to the . + If then the namespace will be added; + otherwise, skipped. The default is . + + + + + Indicates if the namespace should not be added to the . + list. If then the parameter will be + added; otherwise, skipped. The default is . + + + + + 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with + value 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 prefix. + + The prefix of the to get. + + + + 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. + + + + + 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. + + + + + Initializes a new instance of the + class. + + + + + The namespace URI to associate with the extension object. + + + The namespace URI to associate with the extension object, or + if not set. + + + + + The full type name of 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 not be added to the XSLT argument + list. If then the extension object will be + added; otherwise, skipped. The default is . + + + + + 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 value is in the collection. + + The argument value to locate in the + collection. + + if a + with value 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 name. + + The name of the + to get. + + + + 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. + + + + + Represents an XSLT parameter. + + + + + Initializes a new instance of the + class. + + + + + The name of the XSLT parameter. + + + The name of the XSLT parameter, or if + not set. + + + + + The namespace URI to associate with the parameter. + + + The namespace URI to associate with the parameter, or + if not set. + + + + + The value of the XSLT parameter. + + + The value of the XSLT parameter, or if + not set. + + + + + 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 . + + + + + 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with + value 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 name. + + The name of the to get. + + + + 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. + + + + + Resolves assemblies by caching assemblies that were loaded. + + + + + Initializes an instanse of the + class. + + + + + Initializes an instanse of the + class in the context of the given . + + + + + Installs the assembly resolver by hooking up to the + event. + + + + + Uninstalls the assembly resolver. + + + + + Resolves an assembly not found by the system using the assembly + cache. + + The source of the event. + A that contains the event data. + + The loaded assembly, or if not found. + + + + + Occurs when an assembly is loaded. The loaded assembly is added + to the assembly cache. + + The source of the event. + An that contains the event data. + + + + Logs a message with the given priority. + + The message priority at which the specified message is to be logged. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the in which + the is executing + + + + + Holds the loaded assemblies. + + + + + Holds the in which the + is executing. + + + The in which the + is executing or if the + is not executing in the context of a . + + + + + Represents a valid command-line argument. + + + + + Sets the value of the argument on the specified object. + + The object on which the value of the argument should be set. + The argument is required and no value was specified. + + + The matching property is collection-based, but is not initialized + and cannot be written to. + + -or- + + The matching property is collection-based, but has no strongly-typed + Add method. + + -or- + + The matching property is collection-based, but the signature of the + Add method is not supported. + + + + + + Assigns the specified value to the argument. + + The value that should be assigned to the argument. + + Duplicate argument. + -or- + Invalid value. + + + + + Indicates whether the specified is a + . + + + if can be assigned + to ; otherwise, . + + + + + Indicates whether the specified is collection-based. + + + if can be assigned + to and is not backed by a + that can be assigned to ; + otherwise, . + + + + + Indicates whether the specified is an array. + + + if is an array; + otherwise, . + + + + + Gets the property that backs the argument. + + + The property that backs the arguments. + + + + + Gets the underlying of the argument. + + + The underlying of the argument. + + + If the of the argument is a collection type, + this property will returns the underlying type of that collection. + + + + + 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 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 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 only be specified once + with a certain value. + + + if the argument should always have a unique + value; otherwise, . + + + + + Gets the of the property to which the argument + is applied. + + + The of the property to which the argument is + applied. + + + + + Gets a value indicating whether the argument is collection-based. + + + if the argument is backed by a + that can be assigned to and is not backed + by a that can be assigned to + ; otherwise, . + + + + + Gets a value indicating whether the argument is a set of name/value + pairs. + + + if the argument is backed by a + that can be assigned to ; 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 cannot be combined with + other arguments. + + + if the argument cannot be combined with other + arguments; otherwise, . + + + + + Allows control of command line parsing. + + + + + Initializes a new instance of the class + with the specified argument type. + + 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 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 description of the argument. + + The description of the argument. + + + + 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. + + + + Gets the with the specified name. + + The name of the to get. + + + + 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. + + + + + The exception that is thrown when one of the command-line arguments provided + is not valid. + + + + + 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 a descriptive message and an 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 serialized data. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + + + + 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. + + + + + 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 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 collection arguments. + The argument is permitted to occur multiple times, but duplicate + values will cause an error to be reported. + + + + + Commandline parser. + + + + + Initializes a new instance of the class + using possible arguments deducted from the specific . + + The from which the possible command-line arguments should be retrieved. + A value indicating whether or not a response file is able to be used. + is a null reference. + + + + Parses an argument list. + + The arguments to parse. + The destination object on which properties will be set corresponding to the specified arguments. + 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 + + + + Read a response file and parse the arguments as usual. + + + + + + Parse the argument list using the + + + + + + Returns the that's applied + on the specified property. + + The property of which applied should be returned. + + The that's applied to the + , or a null reference if none was applied. + + + + + Gets a logo banner using version and copyright attributes defined on the + or the + . + + + A logo banner. + + + + + Gets the usage instructions. + + The usage instructions. + + + + 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. + + + + + Initializes a new instance of the class + with the specified argument type. + + 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. + + + + + 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. + + + + Returns a uniquely named empty temporary directory on disk. + + + A representing the temporary directory. + + + + + Combines two path strings. + + The first path. + The second path. + + A string containing the combined paths. If one of the specified + paths is a zero-length string, this method returns the other path. + If contains an absolute path, this method + returns . + + + + On *nix, processing is delegated to . + + + On Windows, this method normalized the paths to avoid running into + the 260 character limit of a path and converts forward slashes in + both and to + the platform's directory separator character. + + + + + + Returns Absolute Path (Fix for 260 Char Limit of Path.GetFullPath(...)) + + The file or directory for which to obtain absolute path information. + Path Resolved + path is a zero-length string, contains only white space or contains one or more invalid characters as defined by . + is . + + + + Returns the home directory of the current user. + + + The home directory of the current user. + + + + + Helper class for determining whether assemblies are located in the + Global Assembly Cache. + + + + + Initializes a new instance of the class in + the context of the given . + + + + + 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, + . + + + + To determine whether the specified assembly is installed in the + Global Assembly Cache, the assembly is loaded into a separate + . + + + If the family of the current runtime framework does not match the + family of the current target framework, this method will return + for all assemblies as there's no way to + determine whether a given assembly is in the Global Assembly Cache + for another framework family than the family of the current runtime + framework. + + + + + + Holds the in which assemblies will be loaded + to determine whether they are in the Global Assembly Cache. + + + + + Holds the context of the . + + + + + Holds a list of assembly files for which already has been determined + whether they are located in the Global Assembly Cache. + + + + The key of the is the full path to the + assembly file and the value is a indicating + whether the assembly is located in the Global Assembly Cache. + + + + + + Holds a value indicating whether the object has been disposed. + + + + + Gets the context of the . + + + The context of the . + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + 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. + + + + + Initializes a new instance of the class. + + + Uses a private access modifier to prevent instantiation of this class. + + + + + Loads the type specified in the type string with assembly qualified name. + + The assembly qualified name of the type to load. + Flag set to to throw an exception if the type cannot be loaded. + + is and + an error is encountered while loading the , or + is not an assembly qualified name. + + + If the cannot be instantiated from the assembly + qualified type name, then we'll try to instantiate the type using its + simple type name from an already loaded assembly with an assembly + name mathing the assembly in the assembly qualified type name. + + + The type loaded or if it could not be loaded. + + + + + Provides resource support to NAnt assemblies. This class cannot + be inherited from. + + + + + Prevents the class from being + instantiated explicitly. + + + + + Registers the assembly to be used as the fallback if resources + aren't found in the local satellite assembly. + + + A that represents the + assembly to register. + + + The following example shows how to register a shared satellite + assembly. + + + + + + + + Returns the value of the specified string resource. + + + A that contains the name of the + resource to get. + + + A that contains the value of the + resource localized for the current culture. + + + The returned resource is localized for the cultural settings of the + current . + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + the cultural settings of the current . + + + + + + + + Returns the value of the specified string resource localized for + the specified culture. + + + + + A that contains the value of the + resource localized for the specified culture. + + + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + a specific culture. + + + + + + + + Returns the value of the specified string resource localized for + the specified culture for the specified assembly. + + + A that contains the name of the + resource to get. + + + A that represents + the culture for which the resource is localized. + + + A + + + A that contains the value of the + resource localized for the specified culture. + + + + The GetString method is thread-safe. + + + + The following example demonstrates the GetString method using + specific culture and assembly. + + + + + + + + Registers the specified assembly. + + + A that represents the + assembly to register. + + + + + 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. + + + + + Groups a set of useful manipulation and validation + methods. + + + + + Initializes a new instance of the class. + + + Prevents instantiation of the class. + + + + + Determines whether the last character of the given + matches the specified character. + + The string. + The character. + + if the last character of + matches ; otherwise, . + + is . + + + + Indicates whether or not the specified is + or an string. + + The value to check. + + if is + or an empty string (""); 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, . + + + + + Concatenates a specified separator between each + element of a specified , yielding a + single concatenated string. + + A . + A . + + A consisting of the elements of + interspersed with the separator string. + + + + For example if is ", " and the elements + of are "apple", "orange", "grape", and "pear", + returns "apple, orange, + grape, pear". + + + If is , an empty + string () is used instead. + + + + + + Creates a shallow copy of the specified . + + The that should be copied. + + A shallow copy of the specified . + + + + + Thrown whenever an error occurs during the build. + + + + + The location of the exception in the build document (xml file). + + + + + 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 a descriptive message and the location in the build file that + caused the exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + + + + Initializes a new instance of the class + with a descriptive message, the location in the build file and an + instance of the exception that is the cause of the current exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + A nested exception that is the cause of the current exception. + + + + 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. + + + + Serializes this object into the provided. + + The to populate with data. + The destination for this serialization. + + + + 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 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. + + + + + 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 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 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 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 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 of logger to add to the list + of listeners. + + + The of logger to add to the list of + listeners. + + + The should derive from . + + + + + Gets or sets the name of the file to log output to. + + + The name of the file to log output to. + + + + + Gets a collection containing fully qualified type names of classes + implementating that should be added + to the project as listeners. + + + A collection of fully qualified type names that should be added as + listeners to the . + + + + + Gets a collection of assemblies to load extensions from. + + + A collection of assemblies to load extensions from. + + + + + Gets or sets a value indicating whether help + should be printed. + + + if help 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 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. + + + + + This just passed things through. Return the node read from the config file. + + + + + 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. + + + + + 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. + + + + Loads the extension assemblies in the current + and scans them for extensions. + + The extension assemblies to load. + The which will be used to output messages to the build log. + + + + Dynamically constructs an instance of + the class specified. + + + + At this point, only looks in the assembly where + is defined. + + + The fully qualified name of the logger that should be instantiated. + Type could not be loaded. + does not implement . + + + + Dynamically constructs an instance of + the class specified. + + + + At this point, only looks in the assembly where + is defined. + + + The fully qualified name of the listener that should be instantiated. + Type could not be loaded. + does not implement . + + + + Add the listeners specified in the command line arguments, + along with the default listener, to the specified project. + + The command-line options. + The to add listeners to. + + + + Spits out generic help info to the console. + + + + + Creates a new instance of the + class for the specified class in the + specified. + + The containing the . + The class representing the . + + + + Gets the name of the class that can be + created using this . + + + The name of the class that can be created + 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 + can create. + + + The name of the data type which the + can create. + + + + + 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, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for + the specified task 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 for the specified task. + + The name of task for which the should be located in the collection. + + + + 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. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified capacity. + + + + + 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(""); + } + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Uses and search criteria (relative to + or absolute), to search for filesystem objects. + + + + + 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) + + + + 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 + + + + Gets the collection of include patterns. + + + + + Gets the collection of exclude patterns. + + + + + The base directory to scan. The default is the + current directory. + + + + + 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 were scanned for files. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a string representing a list of the strings in the collection. + + + A string that represents the contents. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Determines whether the specified string is in the + . + + The string to locate in the . The value can be . + + if value is found in the ; otherwise, . + + + String comparisons within the + are only case-sensitive if the filesystem on which + is located, is case-sensitive. + + + + + Searches for the specified string and returns the zero-based index + of the first occurrence within the . + + The string to locate. The value can be . + + The zero-based index of the first occurrence of + in the , if found; otherwise, -1. + + + String comparisons within the + are only case-sensitive if the filesystem on which + is located, is case-sensitive. + + + + + 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 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. + + + + + Available tokens + + + + + Encalsulates information about installed frameworks incuding version + information and directory locations for finding tools. + + + + + Initializes a new instance of the class + with a name, description, version, runtime engine, directory information + and properties. + + 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. + + + + Gets the name of the framework. + + + The name 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 version of the framework. + + + The version of the framework. + + + + + Gets the Common Language Runtime of the framework. + + + The Common Language Runtime of the framework. + + + + + 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. + + + + Gets the base directory of the framework tools for the framework. + + + The base directory of the framework tools for the framework. + + + + + Gets the path to the runtime engine for this framework. + + + The path to the runtime engine for the framework or + if no runtime engine is configured 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. + + + + + Gets the directory containing the SDK tools for the framework. + + + The directory containing the SDK tools for the framework or a null + refererence if the sdk directory + + + + + Gets the used to initialize this framework. + + + 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. + + + + + Gets the set of assemblies and directories that should scanned for + NAnt tasks, types or functions. + + + The set of assemblies and directories that should be scanned for + NAnt tasks, types or functions. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with the specified capacity. + + + + + 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. + + + can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt. + + + + + Creates an "unknown" location. + + + + 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. + + + + + 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 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. + + + + + Initializes a new instance of the class. + + + + + 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, . + + + + + Adds an to the map. + + + An can only be added to the map once. + + + + + Returns the in the XML file for the given node. + + + The must be from an + that has been added to the map. + + + + + Represents a position in the build file. + + + + + Initializes a new instance of the + with the speified line and column. + + The line coordinate of the position. + The column coordinate of the position. + + + + The line coordinate of the position. + + + + + The column coordinate of the position. + + + + + 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 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 potentionally harmful events. + + + + + Designates error events. + + + + + Can be used to suppress all messages. + + + No events should be logged with this . + + + + + Class representing an event occurring during a build. + + + + An event is built by specifying either a project, a task or a target. + + + A level event will only have a + reference. + + + A level event will have and + references. + + + A level event will have , + and references. + + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class for a level event. + + The that emitted the event. + + + + Initializes a new instance of the + class for a level event. + + The that emitted the event. + + + + Initializes a new instance of the + class for a level event. + + The that emitted the 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 associated with this event. + + + The associated with this event. + + + + + Gets the that fired this event. + + + The that fired this event. + + + + + Gets the that fired this event. + + + The that fired this event, or a null reference + if this is a level event. + + + + + Gets the that fired this event. + + + The that fired this event, or + if this is a or level + event. + + + + + Represents the method that handles the build events. + + The source of the event. + A that contains the event data. + + + + Instances of classes that implement this interface can register to be + notified when things happen during a build. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + + + Interface used by NAnt to log the build output. + + + Depending on the supplied command-line arguments, NAnt will set the + to or a + with a file as backend store. + + + + + 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 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 the to which the logger is + to send its output. + + + + + Initializes a new instance of the + class. + + + + + Flushes buffered build events or messages to the underlying storage. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + Only messages with a priority higher or equal to the threshold of + the logger will actually be output in the build log. + + + + + Empty implementation which allows derived classes to receive the + output that is generated in this logger. + + The message being logged. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The priority of the message to output. + The message to output. + The number of characters that the message should be indented. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The event to output. + + + + Outputs an indented message to the build log if its priority is + greather than or equal to the of the + logger. + + The event to output. + TODO + + + + 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 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 the to which the logger is + to send its output. + + + The to which the logger sends its output. + + + + + Used to store information about a build, to allow better reporting to + the user. + + + + + Errors encountered so far. + + + + + Warnings encountered so far. + + + + + 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] + + + + + + + Initializes a new instance of the + class. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished, and send an e-mail with + the build results. + + The source of the event. + A object that contains the event data. + + + + Receives and buffers log messages. + + The message being logged. + + + + Gets the value of the specified property. + + Properties to obtain value from. + Suffix of property name. "MailLogger" will be prepended internally. + Value returned if property is not present in . + Value indicating whether the property should exist, or have a default value set. + + The value of the specified property; or the default value if the + property is not present in . + + 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. + + + + + Holds the stack of currently executing projects. + + + + + 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. + + + + + Implements a for writing information to + the NAnt logging infrastructure. + + + + + Initializes a new instance of the class + for the specified with the specified output + level and format provider. + + Determines the indentation level. + The with which messages will be output to the build log. + An object that controls formatting. + + + + Writes a character array to the buffer. + + The character array to write to the text stream. + + + + Writes a string to the buffer. + + + + + + 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 out a formatted string using the same semantics as + . + + The formatting string. + The object array to write into format string. + + + + Causes any buffered data to be written to the logging infrastructure. + + + + + Closes the current writer and releases any system resources + associated with the writer. + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + Gets the in which the output is written. + + + The always writes output in UTF8 + encoding. + + + + + Gets the with which messages will be output to + the build log. + + + + + 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. + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + 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 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. + + + + + Creates a shallow copy of the specified . + + The that should be copied. + + A shallow copy of the specified . + + + + + Central representation of a NAnt project. + + + + The method will initialize the project with the build + file specified in the constructor and execute the default target. + + + + + + + + If no target is given, the default target will be executed if specified + in the project. + + + + + + + + + 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. + + + + + Holds the logger for this class. + + + + + Holds the default threshold for build loggers. + + + + + Initializes a new class with the given + document, message threshold and indentation level. + + Any valid build format will do. + The message threshold. + The project indentation level. + + + + Initializes a new class with the given + document, message threshold and indentation level, and using + the specified to load internal configuration + settings. + + Any valid build format will do. + The message threshold. + The project indentation level. + The NAnt should use to initialize configuration settings. + + This constructor is useful for developers using NAnt as a class + library. + + + + + Initializes a new class with the given + source, message threshold and indentation level. + + + The full path to the build file. + This can be of any form that accepts. + + The message threshold. + The project indentation level. + + If the source is a uri of form 'file:///path' then use the path part. + + + + + Initializes a new class with the given + source, message threshold and indentation level, and using + the specified to load internal configuration + settings. + + + The full path to the build file. + This can be of any form that accepts. + + The message threshold. + The project indentation level. + The NAnt should use to initialize configuration settings. + is . + + If the source is a uri of form 'file:///path' then use the path part. + + + + + Initializes a as subproject of the specified + . + + + The full path to the build file. + This can be of any form that accepts. + + The parent . + + Optimized for framework initialization projects, by skipping automatic + discovery of extension assemblies and framework configuration. + + + + + Initializes a with + set to , and + set to 0. + + An containing the build script. + + Optimized for framework initialization projects, by skipping automatic + discovery of extension assemblies and framework configuration. + + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches the event to the build listeners + for this . + + The source of the event. + A that contains the event data. + + + + Dispatches a event to the build listeners + for this . + + A that contains the event data. + + + + Writes a level message to the build log with + the given . + + The to log at. + The message to log. + + + + Writes a level formatted message to the build + log with the given . + + The to log at. + The message to log, containing zero or more format items. + An array containing zero or more objects to format. + + + + Writes a task level message to the build log + with the given . + + The from which the message originated. + The to log at. + The message to log. + + + + Writes a level message to the build log with + the given . + + The from which the message orignated. + The level to log at. + The message to log. + + + + Executes the default target. + + + No top level error handling is done. Any + will be passed onto the caller. + + + + + 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 the default target and wraps in error handling and time + stamping. + + + if the build was successful; otherwise, + . + + + + + Creates a new from the given . + + The definition. + The new instance. + + + + Creates a new from the given + within a . + + The definition. + The owner . + The new instance. + + + + Expands a from known properties. + + The with replacement tokens. + The location in the build file. Used to throw more accurate exceptions. + The expanded and replaced . + + + + Combines the specified path with the of + the to form a full path to file or directory. + + The relative or absolute path. + + A rooted path, or the of the + if the parameter is a null reference. + + + + + Creates the default and attaches it to + the . + + + + + Increases the of the . + + + + + Decreases the of the . + + + + + Detaches the currently attached instances + from the . + + + + + Attaches the specified build listeners to the . + + The instances to attach to the . + + The currently attached instances will + be detached before the new instances + are attached. + + + + + Inits stuff: + TypeFactory: Calls Initialize and AddProject + Log.IndentSize set to 12 + Project properties are initialized ("nant.* stuff set") + + NAnt Props: + nant.filename + nant.version + nant.location + nant.project.name + 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. + The project message threshold. + The project indentation level. + Optimization flags. + is . + + + + This method is only meant to be used by the + class and . + + + + + Creates a new based on the project + definition. + + + The full path to the build file. + This can be of any form that accepts. + + + An based on the specified project + definition. + + + + + Configures the platform properties for the current platform. + + NAnt does not support the current platform. + + + + Updates dependent properties when the + is set. + + + + + Topologically sorts a set of targets. + + The name of the root target. The sort is created in such a way that the sequence of targets up to the root target is the minimum possible such sequence. Must not be . + A collection of instances. + + A collection of instances in sorted order. + + There is a cyclic dependecy among the targets, or a named target does not exist. + + + + + Performs a single step in a recursive depth-first-search traversal + of the target dependency tree. + + + The current target is first set to the "visiting" state, and pushed + onto the "visiting" stack. + + + An exception is then thrown if any child of the current node is in + the visiting state, as that implies a circular dependency. The + exception contains details of the cycle, using elements of the + "visiting" stack. + + + If any child has not already been "visited", this method is called + recursively on it. + + + The current target is then added to the ordered list of targets. + Note that this is performed after the children have been visited in + order to get the correct order. The current target is set to the + "visited" state. + + + By the time this method returns, the ordered list contains the + sequence of targets up to and including the current target. + + + The current target to inspect. Must not be . + A collection of instances. + A mapping from targets to states The states in question are "VISITING" and "VISITED". Must not be . + A stack of targets which are currently being visited. Must not be . + The list to add target names to. This will end up containing the complete list of depenencies in dependency order. Must not be . + + A non-existent target is specified + -or- + A circular dependency is detected. + + + + + Builds an appropriate exception detailing a specified circular + dependency. + + The dependency to stop at. Must not be . + A stack of dependencies. Must not be . + + A detailing the specified circular + dependency. + + + + + Gets or sets the indendation level of the build output. + + + The indentation level of the build output. + + + To change the , the + and methods should be used. + + + + + 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 the name of the . + + + The name of the or an empty + if no name is specified. + + + + + Gets or sets the base directory used for relative references. + + + The base directory used for relative references. + + The directory is not rooted. + + + The gets and sets the built-in property + named "nant.project.basedir". + + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + Gets the form of the current project definition. + + + The form of the current project definition. + + + + + 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 or sets the framework to use for compilation. + + + The framework to use for compilation. + + + We will use compiler tools and system assemblies for this framework + in framework-related tasks. + + + + + Gets the name of the platform on which NAnt is currently running. + + + The name of the platform on which NAnt is currently running. + + + + Possible values are: + + + + win32 + + + unix + + + + NAnt does not support the current platform. + + + + 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 active definition. + + + The active definition. + + + + + Gets the NAnt should use to initialize + configuration settings. + + + The NAnt should use to initialize + configuration settings. + + + + + 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, . + + + + + 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 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 instances defined in this project. + + + The instances defined in this project. + + + + This is the collection of instances that + are defined by (eg fileset) declarations. + + + + + + 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. + + + + + Allow the project construction to be optimized. + + + Use this with care! + + + + + Do not perform any optimizations. + + + + + 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. + + + + + Holds a value indicating whether a scan for tasks, types and functions + has already been performed for the current runtime framework. + + + + + Initializes a new instance of the + class for the given . + + The that should be configured. + + + + Loads and processes settings from the specified + of the configuration file. + + + + + Processes the framework nodes of the given platform node. + + An representing the platform on which NAnt is running. + + + + Reads the list of global properties specified in the NAnt configuration + file. + + 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 underlying instance. + + + The underlying instance. + + + + + Gets the . + + + The . + + + The defines the current namespace + scope and provides methods for looking up namespace information. + + + + + 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. + + + + + Initializes a new instance of the + class holding properties for the given + instance. + + The project for which the dictionary will hold properties. + + + + Performs additional custom processes before inserting a new element + into the instance. + + The key of the element to insert. + The value of the element to insert. + + + + Performs additional custom processes before removing an element + from the instance. + + The key of the element to remove. + 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. + + + + Adds a property that cannot be changed. + + The name of the property. + The value to assign to the property. + + Properties added with this method can never be changed. Note that + they are removed if the method is called. + + + + + 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. + + + + 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, . + + + + + Inherits properties from an existing property dictionary Instance. + + Property list to inherit. + The list of properties to exclude during inheritance. + + + + Expands a from known properties. + + The replacement tokens. + The to pass through for any exceptions. + 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, . + + + + + Removes the property with the specified name. + + The name of the property to remove. + + + + Expands a from known properties. + + The replacement tokens. + The to pass through for any exceptions. + A mapping from properties to states. The states in question are "VISITING" and "VISITED". Must not be . + A stack of properties which are currently being visited. Must not be . + The expanded and replaced string. + + + + Evaluates the given expression string and returns the result + + + + + + + + + + Checks whether the specified property is deprecated. + + The property to check. + + + + Builds an appropriate exception detailing a specified circular + reference. + + The property reference to stop at. Must not be . + A stack of property references. Must not be . + + A detailing the specified circular + dependency. + + + + + 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. + + + + + The project for which the dictionary holds properties. + + + + + Indexer property. + + + + + Gets the project for which the dictionary holds properties. + + + The project for which the dictionary holds properties. + + + + + Initializes a new instance of the class. + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + Executes dependent targets first, then the target. + + + + + This indicates whether the target has already executed. + + + + + The name of the target. + + + + Hides to have + return the name of target, not the name of XML element - which + would always be target. + + + Note: Properties are not allowed in the name. + + + + + + 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, + . + + + + + Opposite of . If + then the target will be executed; otherwise, skipped. The default + is . + + + + + Gets a value indicating whether the target should NOT be executed. + + + if the target should NOT be executed; + otherwise, . + + + + + The description of the target. + + + + + Space separated list of targets that this target depends on. + + + + + A collection of target names that must be executed before this + target. + + + + + Finds a target by name. + + The name of the target to find. + + The with the specified name, or + if no exists with + the given name. + + + + + Gets the names of the targets in the + combined into one list separated by the given . + + + A that contains a list of the names of the + targets in the , separated by + the specified . + + + + + Gets the names of the targets in the + combined into one comma-separated list. + + + A that contains a comma-separated list of the + names of the targets in the . + + + + + Creates a new instance of the class + for the specified class in the + specified. + + The containing the . + The class representing the . + + + + Gets the name of the class that can be created + using this . + + + The name of the class that can be created using + this . + + + + + Gets the from which the task will be created. + + + The containing the task. + + + + + Gets the name of the task which the + can create. + + + The name of the task which the can + create. + + + + + 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, . + + + + + Determines whether a for the specified + task is in the collection. + + The name of task for which the should be located in the collection. + + if a for the + specified task 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 for the specified task. + + The name of task for which the should be located in the collection. + + + + 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. + + + + + Comprises all of the loaded, and available, tasks. + Use these static methods to register, initialize and create a task. + + + + + Scans the given assembly for tasks, types, functions and filters. + + The assembly to scan for tasks, types, functions and filters. + The which will be used to output messages to the build log. + + + + Scans the given assembly for tasks, types, functions and filters. + + The assembly to scan for tasks, types, functions and filters. + The which will be used to output messages to the build log. + + if contains at + least one "extension"; otherwise, . + + + + + Scans the path for any task assemblies and adds them. + + The directory to scan in. + The which will be used to output messages to the build log. + 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. + + + + Registers the project with , and optionally + scan the for extension assemblies. + + The project to work from. + Specified whether to scan the for extension assemblies. + + + + Looks up a function by name. + + The name of the function to lookup, including namespace prefix. + The in which the function is invoked. + + A representing the function, or + if a function with the given name does not + exist. + + + + + Creates a new instance for the given XML and + . + + The XML to initialize the task with. + The that the belongs to. + + The new instance. + + + + + Scans a given for tasks. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + ; otherwise, . + + + + + Scans a given for data type. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + data type; otherwise, . + + + + + Scans a given for functions. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + valid set of funtions; otherwise, . + + + + + Scans a given for filters. + + The to scan. + The which will be used to output messages to the build log. + + if represents a + ; otherwise, . + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + Gets the list of loaded instances. + + + List of loaded instances. + + + + + 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 a descriptive message and the location in the build file + that caused the exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + + + + Initializes a new instance of the + class with a descriptive message, the location in the build file and + an instance of the exception that is the cause of the current + exception. + + A descriptive message to include with the exception. + The location in the build file where the exception occured. + A nested exception that is the cause of the current exception. + + + + 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. + + + + 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. + + + + + Holds the stack of currently executing projects. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with serialized data. + + The that holds the serialized object data. + The that contains contextual information about the source or destination. + + + + Populates with the data needed to serialize + the instance. + + The to populate with data. + The destination for this serialization. + + + + Returns the contents of log captured. + + + + + Signals that a build has started. + + The source of the event. + A object that contains the event data. + + This event is fired before any targets have started. + + + + + Signals that the last target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a target has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a target has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a task has started. + + The source of the event. + A object that contains the event data. + + + + Signals that a task has finished. + + The source of the event. + A object that contains the event data. + + This event will still be fired if an error occurred during the build. + + + + + Signals that a message has been logged. + + The source of the event. + A object that contains the event data. + + Only messages with a priority higher or equal to the threshold of + the logger will actually be output in the build log. + + + + + 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 a value indicating whether to produce emacs (and other + editor) friendly output. + + + as it has no meaning in XML format. + + + + + Gets or sets the to which the logger is + to send its output. + + +
+
diff --git a/build-support/tools/nant/bin/NAnt.DotNetTasks.dll b/build-support/tools/nant/bin/NAnt.DotNetTasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..ae0552ce1be0e2b5886a2247a6dc1d78900f090d GIT binary patch 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 + + + NAnt.DotNetTasks + + + + + Generates an AssemblyInfo file using the attributes given. + + + + Create a C# AssemblyInfo file containing the specified assembly-level + attributes. + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + Create a C# AssemblyInfo file containing an attribute with multiple + named properties by setting the + attribute on the element to + . + + + + + + + + + + + + + + ]]> + + + + + + Generates an AssemblyInfo file. + + + + + Determines whether the specified AssemblyInfo file in the given + needs to be persisted. + + holding the newly generated AssemblyInfo source. + + if the generated AssemblyInfo source needs + to be persisted; otherwise, . + + + + + 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 assembly-level attributes to generate. + + + The assembly-level attributes to generate. + + + + + The namespaces to import. + + + The namespaces to import. + + + + + Assembly files used to locate the types of the specified attributes. + + + + + Defines the supported code languages for generating an AssemblyInfo + file. + + + + + A value for generating C# code. + + + + + A value for generating JScript code. + + + + + A value for generating Visual Basic code. + + + + + Encapsulates functionality to generate a code file with imports + and assembly-level attributes. + + + + + Initializes a new instance of the + for the specified . + + The for which an instance of the class should be initialized. + The for which an instance of the class should be initialized. + + + + Generates code for the specified imports. + + The imports for which code should be generated. + The to which the generated code will be written. + + + + Generates code for the specified assembly attributes. + + The assembly attributes for which code should be generated. + Imports used to resolve the assembly attribute names to fully qualified type names. + Assembly that will be used to resolve the attribute names to instances. + The to which the generated code will be written. + + + + Gets the in which the AssemblyInfo + code will be generated. + + + + + Gets the that will be used to + generate the AssemblyInfo code. + + + + + Responsible for returning the specified value converted to a + accepted by a constructor for a given + . + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + Retrieves the specified corresponding with the specified + type name from a list of assemblies. + + The collection of assemblies that the type should tried to be instantiated from. + The list of imports that can be used to resolve the typename to a full typename. + The typename that should be used to determine the type to which the specified value should be converted. + The value that should be converted to a typed value. + + + is and the identified by has no default public constructor. + -or- + cannot be converted to a value that's suitable for one of the constructors of the identified by . + -or- + The identified by has no suitable constructor. + -or- + A identified by could not be located or loaded. + + + + + 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. + + + + + + + + ]]> + + + + + + Generates an assembly manifest. + + + + + 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 a string for the Company field in the assembly. + + + A string for the Company field in the assembly. + + + If is an empty string (""), the Win32 + Company resource appears as a single space. + + + + + Specifies a string for the Configuration field in the assembly. + + + A string for the Configuration field in the assembly. + + + If is an empty string (""), the Win32 + Configuration resource appears as a single space. + + + + + Specifies a string for the Copyright field in the assembly. + + + A string for the Copyright field in the assembly. + + + If is an empty string (""), the Win32 + Copyright resource appears as a single space. + + + + + 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 a string for the Description field in the assembly. + + + A string for the Description field in the assembly. + + + If is an empty string (""), the Win32 + Description resource appears as a single space. + + + + + 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 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 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. + + + + + 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. + + + + + + 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. + + + + + The set of resources to embed. + + + + + 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. + + + + + 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 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. + + + + + Icon to associate with the assembly. + + + + + 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. + + + + + 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. + + + + + Case-insensitive list of valid culture names for this platform. + + + The key of the is the culture name and + the value is . + + + + + Class constructor for . + + + + + Compiles the sources and resources. + + + + + Determines the manifest resource name of the given resource file. + + The containing information that will used to assemble the manifest resource name. + The resource file of which the manifest resource name should be determined. + The logical location of the resource file. + The source file on which the resource file depends. + + The manifest resource name of the specified resource file. + + + + + Determines the manifest resource name of the given resource file. + + The containing information that will used to assemble the manifest resource name. + The resource file of which the manifest resource name should be determined. + + The manifest resource name of the specified resource file. + + + For .resx resources, the name of the dependent is determined by + replacing the extension of the file with the extension of the + source files for the compiler, and removing the culture name from + the file name for localized resources. + + + + + 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. + + + + + Writes package references to the specified . + + The to which the package references should be written. + + + + Writes list of warnings to (not) treat as errors to the specified + . + + The to which the list of warnings should be written. + + + + Writes list of warnings to suppress to the specified + . + + The to which the list of warnings to suppress should be written. + + + + Writes conditional compilation constants to the specified + . + + The to which the conditional compilation constants should be written. + + + + Writes module references to the specified . + + The to which the module references should be written. + + + + Allows derived classes to provide compiler-specific options. + + The to which the compiler options should be written. + + + + Writes an option using the default output format. + + The to which the compiler options should be written. + The name of the option which should be passed to the compiler. + + + + Writes an option and its value using the default output format. + + The to which the compiler options should be written. + 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 + (separated by a colon) is quoted + unless is already surrounded by quotes. + + + + + 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. + + + + + 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. + + + + Determines the culture associated with a given resource file by + scanning the filename for valid culture names. + + The resource file path to check for culture info. + The file on which the resource file depends. + + A valid instance if the resource is + associated with a specific culture; otherwise, . + + + + + 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. + + + + + Output type. Possible values are exe, winexe, + library or module. + + + + + Define conditional compilation symbol(s). + + + + Corresponds to /d[efine]: flag. + + + + + + Icon to associate with the application. + + + + Corresponds to /win32icon: 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. + + + + + + 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 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. + + + + + 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 a strong name key file. + + + + + Additional directories to search in for assembly references. + + + + Corresponds with the /lib[path]: flag. + + + + + + Reference metadata from the specified assembly files. + + + + + Specifies list of packages to reference. + + + + + Resources to embed. + + + + This can be a combination of resx files and file resources. + + + .resx files will be compiled by and then + embedded into the resulting executable. + + + The property is used to make + up the resource name added to the assembly manifest for non-resx + files. + + + For .resx files the namespace from the matching source file is used + as prefix. This matches the behaviour of Visual Studio. + + + Multiple resources tags with different namespace prefixes may be + specified. + + + + + + Link the specified modules into this assembly. + + + + + 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 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 + the "keycontainer" option. The default is . + + + + + Indicates whether the compiler for a given target framework supports + the "keyfile" option. The default is . + + + + + 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 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. + + + + + Holds class and namespace information for resource (*.resx) linkage. + + + + + Initializes a new instance of the + class. + + The namespace the resource is under. + The class name the resource is associated with. + + + + Returns the resource linkage as a string. + + + A string representation of the resource linkage. + + + + + Gets a value indicating whether the + instances contains valid data. + + + if the + instance contains valid data; otherwise, . + + + + + Gets a value indicating whether a namespace name is available + for this instance. + + + if a namespace name is available for + this instance; otherwise, + . + + + + + Gets a value indicating whether a class name is available + for this instance. + + + if a class name is available for + this instance; otherwise, + . + + + + + 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 culture that the resource is associated with. + + + The culture that the resource is associated with. + + + + + Compiles C# programs. + + + + In order to have generate manifest resource names + that match those generated by Microsoft Visual Studio.NET, the value of + the attribute of the <> + element should match the "Default Namespace" of the C# project, and the + value of the attribute + should be set to "". + + + + Compile a "HelloWorld" application, including embedded resources. + + + + + + + + + + + + + + + + + + ]]> + + + + + + Writes the compiler options to the specified . + + to which the compiler options should be written. + + + + 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. + + + + + Specifies the type of debugging information generated by the + compiler. The default is . + + + + + No longer expose this to build authors. Use + instead. + + + + + 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. + + + + + 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. + + + + + + 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. + + + + + + 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 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 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 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 . + + + + + 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 namespace regular expression for the language of the current compiler. + + + Namespace regular expression for the language of the current + compiler. + + + + + Signs delay-signed .NET Assemblies, or re-signs existing assemblies. + + + + The delay-signing mechanism takes a fileset (named targets) + and either a attribute for a file containing the + public and private keys, or to name a key + container. + + + + Sign partially-signed foo.dll with bar.snk. + + + + + + + ]]> + + + + + + Converts a single file or group of files. + + + + + List of assemblies/executables to sign. + + + + + Specifies the filesystem path to the signing key. + + + + + Specifies the key container. + + + + + 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 the sources. + + + + + Writes the compiler options. + + + + + Writes an option using the default output format. + + + The to which the compiler options should + be written. + + + A that contains the name of the + option which should be passed to the compiler. + + + + + Writes an option and its value using the default output format. + + + The to which the compiler options should + be written. + + + A that contains the name of the + option which should be passed to the compiler. + + + A that contains the value of the + option which should be passed to the compiler. + + + + + 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 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. + + + + + + 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. + + + + + + Instructs the compiler to set the FileAlignment value in + the PE header. + + + An that represents the FileAlignment + value to set in the PE header. The value must be a power of 2, in + range from 512 to 65536. + + + + Corresponds to the /ALIGNMENT flag. + + + + + + Instructs the compiler to set the ImageBase value in + the PE header. + + + A that represents the ImageBase + value to set in the PE header. + + + + Corresponds to the /BASE flag. + + + + + + Instructs the compiler to set the Flags value in the CLR + header. + + + An that represents the Flags + value to set in the CLR header. The most frequently value are 1 + (pre-IL code) and 2 (mixed code). The third bit indicating that + the PE file is strong signed, is ignored. + + + + Corresponds to the /FLAGS flag. + + + + + + Instructs the compiler to set the Subsystem value in the PE + header. + + + An that represents the Subsystem + value to set in the PE header. The most frequently value are 3 + (console application) and 2 (GUI application). + + + + Corresponds to the /SUBSYSTEM flag. + + + + + + Specifies which output type should be generated. + + + A that contains the target type. + Possible values are dll and exe. + + + + Corresponds to the /OUTPUT flag. + + + + + + Instructs the compiler to generate a strong signature of the PE + file. + + + A that contains the private + encryption key. + + + + Corresponds to the /KEY=keysource]]> + flag. + + + + + + Instructs the compiler to generate a strong signature of the PE + file. + + + A that represents the file + containing the private encryption key. + + + + Corresponds to the /KEY=keyfile]]> + flag. + + + + + + Specifies the name of the output file created by the compiler. + + + A that represents the name of + the output file. + + + + Corresponds to the /OUTPUT flag. + + + + + + Instructs the compiler to link the specified unmanaged resource + file into the resulting PE file. + + + A that represents the unmanaged + resource file to link. + + + + Corresponds to the /RESOURCE flag. + + + + + + Specifies the set of source files to compile. + + + A that represents the set + of source files to compile. + + + + + Gets the command-line arguments for the external program. + + + A that contains the command-line + arguments for the external program. + + + + + Compiles JScript.NET programs. + + + Compile helloworld.js to helloworld.exe. + + + + + + + ]]> + + + + + + Writes module references to the specified . + + The to which the module references should be written. + + + + Writes the compiler options to the specified . + + to which the compiler options should be written. + + + + 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. + + + + + + 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 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 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. + + + + + 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. + + + + + 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. + + + + + 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 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. + + + + ]]> + + + + + + Initializes the class. + + The used to initialize the task. + + + + Updates the of the specified + . + + The of which the should be updated. + + + + 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, . + + + + + Input file to process. + + + + + Name of the license file to output. + + + + + 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. + + + + + 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 + . + + + + + 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. + + + + + 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. + + + + + Responsible for reading the license and writing them to a license + file. + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + Creates the whole license file. + + The instance for which the license file should be created. + 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, . + + + + + Runs NDoc V1.3.1 to create documentation. + + + + See the NDoc home page for more + information. + + + By default, only the NDoc MSDN documenter ships as part of the NAnt + distribution. To make another NDoc documenter from the NDoc V1.3.1 + distribution available to the , copy the + documenter assembly (and possible dependencies) to the "lib" + directory corresponding with the CLR you're running NAnt on + (eg. <nant root>/bin/lib/net/1.1). + + + + + Document two assemblies using the MSDN documenter. The namespaces are + documented in NamespaceSummary.xml. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + Content of NamespaceSummary.xml : + + + + The Foo.Bar namespace reinvents the wheel. + + + The Foo.Bar.Tests namespace ensures that the Foo.Bar namespace reinvents the wheel correctly. + + + ]]> + + + + + + Initializes the taks and verifies the parameters. + + containing the XML fragment used to define this task instance. + + + + Generates an NDoc project and builds the documentation. + + + + + Represents the method that will be called to update the overall + percent complete value and the current step name. + + The source of the event. + A that contains the event data. + + + + Represents the method that will be called to update the current + step's precent complete value. + + The source of the event. + A that contains the event data. + + + + Returns the documenter for the given project. + + + Documenter is not found. + + + is . + + + + + Performs macro expansion for the given nodes. + + for which expansion should be performed. + + + + The set of assemblies to document. + + + + + The set of namespace summary files. + + + + + Specifies the formats in which the documentation should be generated. + + + + + 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. + + + + ]]> + + + + + + Performs the specified action. + + + + + Defines the action to take with the assembly. The default is + . + + + + + The source assembly file. + + + The assembly must be signed with a strong name. + + + + + Specifies the type library file to install. + + + + + Uses an existing type library. The default is . + + + + + Do not reconfigure an existing target application. + The default is . + + + + + Configures components only; ignores methods and interfaces. + 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 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. + + + + + Defines the possible actions for a .NET Service. + + + + + Finds or creates the target application. + + + + + Creates the target application. + + + + + Uninstalls the target application. + + + + + Converts files from one resource format to another. + + + + If no is specified, the resource file will + be created next to the input file. + + + + + Convert a resource file from the .resx to the .resources + format. + + + + ]]> + + + + + Convert a set of .resx files to the .resources format. + + + + + + + + ]]> + + + + + + Updates the of the specified + . + + The of which the should be updated. + + + + Converts a single file or group of 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 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. + + + + + 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. + + + + + The resource file to output. + + + + + The target type. The default is resources. + + + + + 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). + + + + + Takes a list of .resx or .txt files to convert to .resources 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 external file references are supported by the + resgen tool for the current target framework. The default + is . + + + + + For internal use only ! + + + + + 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 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 ! + + + + + Initializes a new instance of the + class for a given input and output file. + + The resource to compile. + The compiled resource. + + + + Gets the resource file to compile. + + + The resource file to compile. + + + + + 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. + + + + 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. + + + The following namespaces are loaded by default: + + + + System + + + System.Collections + + + System.Collections.Specialized + + + System.IO + + + System.Text + + + System.Text.RegularExpressions + + + NAnt.Core + + + + + Run C# code that writes a message to the build log. + + <script language="C#"> + <code> + <![CDATA[ + public static void ScriptMain(Project project) { + project.Log(Level.Info, "Hello World from a script task using C#"); + } + ]]> + </code> + </script> + + + + Define a custom function and call it using C#. + + <script language="C#" prefix="test" > + <code> + <![CDATA[ + [Function("test-func")] + public static string Testfunc( ) { + return "some result !!!!!!!!"; + } + ]]> + </code> + </script> + <echo message='${test::test-func()}'/> + + + + Use a custom namespace in C# to create a database + + <script language="C#" > + <references> + <include name="System.Data.dll" /> + </references> + <imports> + <import namespace="System.Data.SqlClient" /> + </imports> + <code> + <![CDATA[ + public static void ScriptMain(Project project) { + string dbUserName = "nant"; + string dbPassword = "nant"; + string dbServer = "(local)"; + string dbDatabaseName = "NAntSample"; + string connectionString = String.Format("Server={0};uid={1};pwd={2};", dbServer, dbUserName, dbPassword); + + SqlConnection connection = new SqlConnection(connectionString); + string createDbQuery = "CREATE DATABASE " + dbDatabaseName; + SqlCommand createDatabaseCommand = new SqlCommand(createDbQuery); + createDatabaseCommand.Connection = connection; + + connection.Open(); + + try { + createDatabaseCommand.ExecuteNonQuery(); + project.Log(Level.Info, "Database added successfully: " + dbDatabaseName); + } catch (Exception e) { + project.Log(Level.Error, e.ToString()); + } finally { + connection.Close(); + } + } + ]]> + </code> + </script> + + + + + Run Visual Basic.NET code that writes a message to the build log. + + + <script language="VB"> + <code> + <![CDATA[ + Public Shared Sub ScriptMain(project As Project) + project.Log(Level.Info, "Hello World from a script task using Visual Basic.NET") + End Sub + ]]> + </code> + </script> + + + + 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 + } + ]]> + </code> + </script> + <usertask message='Hello from UserTask'/> + + + + + Define a custom function and call it using Boo. + + + <script language="Boo.CodeDom.BooCodeProvider, Boo.CodeDom, Version=1.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67" + failonerror="true"> + <code> + <![CDATA[ + + [Function("test-func")] + def MyFunc(): + return "Hello from Boo !!!!!!" + ]]> + </code> + </script> + <echo message='${script::test-func()}'/> + + + + + + Initializes the task using the specified xml node. + + + + + Executes the script block. + + + + + The language of the script block. Possible values are "VB", "vb", "VISUALBASIC", "C#", "c#", "CSHARP". + "JS", "js", "JSCRIPT" "VJS", "vjs", "JSHARP" or a fully-qualified name for a class implementing + . + + + + + Any required references. + + + + + 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 namespaces to import. + + + + + The code to execute. + + + + + Compiles Visual Basic.NET programs. + + + + In order to have generate manifest resource names + that match those generated by Microsoft Visual Studio.NET, the value of + the attribute of the <> + element should match the "Root namespace" of the VB.NET project, and the + value of the attribute + should be set to "". + + + + Example build file using this task. + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + Finds the correct namespace/classname for a resource file from the + given dependent source file, and ensure the + is prefixed. + + 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. + + + + + Writes conditional compilation constants to the specified + . + + The to which the conditional compilation constants should be written. + + + + Writes the compiler options to the specified . + + to which the compiler options should be written. + + + + 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. + + + + + Specifies the type of debugging information generated by the + compiler. The default is . + + + + + No longer expose this to build authors. Use + instead. + + + + + 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 + + + + + + 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. + + + + + + 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 /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 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 /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 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 . + + + + + 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 namespace regular expression for the language of the + current compiler. + + + Namespace regular expression for the language of the current + compiler. + + + + + Compiles Visual J# programs using vjc, Microsoft's J# compiler. + + + + In order to have generate manifest resource names + that match those generated by Microsoft Visual Studio.NET, the value of + the attribute of the <> + element should match the "Default Package" of the J#.NET project, and + the value of the attribute + should be set to "". + + + + Compile a "HelloWorld" application, including embedded resources. + + + + + + + + + + + + + + + + + ]]> + + + + + + Writes module references to the specified . + + The to which the module references should be written. + + + + Writes the compiler options to the specified . + + 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. + + + + + Specifies the type of debugging information generated by the + compiler. The default is . + + + + + No longer expose this to build authors. Use + instead. + + + + + 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 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': + ]]> + + + + + 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. + + + + + + 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. + + + + + 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 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. + + + + + 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. + + + + + Initializes a new instance of the + class. + + + + + Typename of the assembly-level 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, . + + + + + 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, . + + + + + 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, . + + + + + Determines whether a with the specified + value is in the collection. + + The argument value to locate in the collection. + + if a with + value 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 value. + + The value of the to get. + + + + 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. + + + + + A specialized used for setting the lib directories. + + + The primary reason for this class is to allow the + to always be the same value as the parent + + + + + + Initializes a new instance of the class. + + + + + + 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 + + + + + Specialized 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. + + + + + + + Define a reference with name "sys.assemblies", holding + a set of system assemblies. + + + + + + + + ]]> + + + Use the predefined set of assemblies to compile a C# assembly. + + + + + + + + + ]]> + + + + + Compile a C# assembly using assembly references that are searched for + in the "Third Party Assemblies" and "Company Assemblies" + directories. + + + + + + + + + + + + + + + + ]]> + + + + + + + Initializes a new instance of the class. + + + + + 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. + + + + + Resolves references to system assemblies and assemblies that can be + resolved using directories specified in . + + + + + Additional directories to search in for assembly references. + + + + loosely Corresponds with the /lib[path]: flag of the various compiler tasks. + + + + + + Represents a compiler warning. + + + + + 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 skipped; + otherwise, processed. The default is . + + + + + 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, . + + + + + 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. + + + + + Specifies the type of debugging information generated by the compiler. + + + + For backward compatibility, the following string values can also be + used in build files: + + + + Value + Corresponding field + + + "true" + + + + "false" + + + + + When set to then the following conditional + compilation symbols will also be defined: + + + + DEBUG + + + TRACE + + + + + + + Create no debug information. + + + + + 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. + + + + + 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 + with the specified file name and manifest resource name. + + The path of the compiled resource. + 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 manifest resource name to use when embedding the resource. + + + The manifest resource name to use when embedding the resource. + + + + + Contains a collection of items. + + + Do not yet expose this to build authors. + + + + + Base class for collections that needs to be globally referencable. + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + Returns an enumerator that can iterate through a collection. + + + An that can be used to iterate through + the collection. + + + + + Removes an item at a specific index. + + The zero-based index of the item to remove. + + + + Removes all items from the collection. + + + + + Used by methods that take instances as argument + to verify whether the instance is valid for the collection class. + + The instance to verify. + + + + 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 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 the list of elements contained in the + instance. + + + An containing the elements of the + collection. + + + + + Gets the of the items in this collection. + + + The of the items in this collection. + + + + + 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. + + + + + 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. + + + + + 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. + + + + Gets the with the specified manifest + resource name. + + The manifest resource name of the to get. + + + + Gets the of the items in this collection. + + + The of the items in this collection. + + + + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. + + + + 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. + + + + + Represents a namespace to import. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class for the specified namespace. + + The namespace. + 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. + + + + + 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, . + + + + + Contains a collection of items. + + + Define a reference with name "system.imports". + + + + + + ]]> + + Use the predefined set of imports to compile a VB.NET assembly. + + + + + + + + + + + + ]]> + + + + + + Returns an enumerator that can iterate through the collection. + + + A for the entire collection. + + + + + Returns a comma-delimited list of namespace imports. + + + A comma-delimited list of namespace imports, or an empty + if there are no namespace imports. + + + Each namespace import is quoted individually. + + + + + 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. + + + + + 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. + + + + + 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. + + + + Gets the with the specified namespace. + + The namespace of the to get. + + + + Gets the of the items in this collection. + + + The of the items in this collection. + + + + + Gets or sets the item at the specified index. + + The zero-based index of the item to get or set. + + + + 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. + + + + + 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. + + + + + 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 . + + + + + 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. + + + + + Specialized class for managing resource files. + + + + + Initializes a new instance of the class. + + + + + copy constructor for FileSet. Required in order to + assign references of FileSet type where + ResourceFileSet are used + + + + + + Creates a shallow copy of the . + + + A shallow copy of the . + + + + + 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 + + + + + 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. + + + + + Gets a containing all matching resx files. + + + A containing all matching resx files. + + + + + Gets a containing all matching non-resx + files. + + + A containing all matching non-resx files. + + + + + 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. + + + + + 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 . + + + + + + ]]> + + + + + + Specifies a list of warnings that the compiler should treat as + errors. This overrides the + attribute. Only supported when targeting .NET 2.0 or higher. + + + + + Specifies a list of warnings that the compiler should NOT treat as + errors. This is only useful if + is . Only supported when targeting .NET 2.0 + or higher. + + + + diff --git a/build-support/tools/nant/bin/NAnt.MSNetTasks.dll b/build-support/tools/nant/bin/NAnt.MSNetTasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..a679416a3af6abbaa8646a9d1b56bba628e266d2 GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.MSNetTasks.xml b/build-support/tools/nant/bin/NAnt.MSNetTasks.xml new file mode 100644 index 00000000..31e25845 --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.MSNetTasks.xml @@ -0,0 +1,580 @@ + + + + NAnt.MSNetTasks + + + + + 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 + attribute. + + + A can be used to select files to disassemble. + To use a , the + 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". + + + + + Disassembles helloworld.exe to helloworld.il. + + + + ]]> + + + + + Disassembles a set of PE files into the specified directory. + + + + + + + + + ]]> + + + + + + Checks whether the task is initialized with valid attributes. + + The used to initialize the task. + + + + Disassembles the PE file(s). + + + + + Disassembles the specified PE file. + + The PE file to disassemble. + + + + Determines the full path and extension for the output file. + + + A that represents the PE file + file for which the corresponding output file should be determined. + + + A that represents the full path + for the output file. + + The path of the output file could not be determined. + + + + Writes the disassembler options. + + + + + Writes an option using the default output format. + + + The to which the disassembler options + should be written. + + + A that contains the name of the + option which should be passed to the disassembler. + + + + + Writes an option and its value using the default output format. + + + The to which the disassembler options + should be written. + + + A that contains the name of the + option which should be passed to the disassembler. + + + A that contains the value of the + option which should be passed to the disassembler. + + + + + 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 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 . + + + + + 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 the PE file to disassemble. + + + A that represents the PE file + to disassemble. + + + + + 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 disassemble + public items only. This is a shortcut for ="pub". + The default is . + + + if only public items should be + disassembled; otherwise, . The default is + . + + + + Corresponds to the /PUBONLY 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 + 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 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. + + + + + + Instructs the disassembler to disassemble the specified item only. + + + A that specifies the item to + disassemble. + + + + Corresponds to the /ITEM flag. + + + + + + Instructs the disassembler to disassemble only the items with the + specified visibility. Possible values are PUB, PRI, + FAM, ASM, FAA, FOA, PSC, + or any combination of them separated by +. + + + A that contains the visibility + suboptions. + + + + Corresponds to the /VISIBILITY flag. + + + + + + Specifies the name of the output file created by the disassembler. + + + A that represents the name of + the output file. + + + + Corresponds to the /OUT flag. + + + + + + Specifies the directory to which outputs will be stored. + + + A that represents the + directory to which outputs will be stored. + + + + + Specifies a list of PE files to disassemble. To use a , + the attribute must be specified. + + + A that represents the set + of PE files to disassemble. + + + + + The command-line arguments for the external program. + + + Overridden to ensure the <arg> elements would not be exposed + to build authors. + + + + + Gets the command-line arguments for the external program. + + + A that contains the command-line + arguments for the external program. + + + + + 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'. + + + ]]> + + + + + + Initializes a new instance of the + class. + + + + + Peforms actions on the service in order to reach the desired status. + + + + + Determines the desired status of the service based on the action + that should be performed on it. + + + The that should be reached + in order for the to be considered successful. + + + + + Starts the service identified by and + . + + instance for controlling the service identified by and . + + + + Stops the service identified by and + . + + instance for controlling the service identified by and . + + + + Restarts the service identified by and + . + + instance for controlling the service identified by and . + + + + Pauses the service identified by and + . + + instance for controlling the service identified by and . + + + + Continues the service identified by and + . + + instance for controlling the service identified by and . + + + + Holds the name of the service that should be controlled. + + + + + Holds the name of the computer on which the service resides. + + + + + 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. + + + + + 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 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. + + + + + Defines the actions that can be performed on a service. + + + + + Starts a service. + + + + + Stops a service. + + + + + Restarts a service. + + + + + Pauses a running 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 new file mode 100644 index 0000000000000000000000000000000000000000..e78b7b7fa10dec72baeb24bd99b840b7a437ccb4 GIT binary patch literal 8704 zcmeHMeQZ_b8GqjQ-rn98sBMALN*xDU}AO+#c`ri-vJ6PL_?=H`aZkja+JVYaE$nI-BU^B;pBb1||E%@W<_$9~Uq&i#Ti z+>*s**||N>d7sbs`Fh{;(JeRKM-d{5;{42cNn z!qVX>+cTzJXVNt@#)O&8I=(S(8E!6X*jb}zaLC9wDJwZ|UUh3|dTTFHzlzXvf9k*} zI8IW{(m5(dbRlqD__*^b00UA1CO1a9l*S@>jfusPKqdVfRKJ zcM_cr6hcmT86%ooPWg10K@=~Mj03;61W)?b9v}GKO#t9YtfAk)ZFlCI}Y02ALj zG2lWq<19Hk;eFDz(hda0*D)~JmVvY6=p@=$g354=^NNFgW0m&hL?6@w5)r4{C2JuTL77$fmO7K}xWuBL45Mr6U&~zk$d?7@Mv0y9DL;D512*CnXuuq9a zuoZC{0ewWLgA_qOQuHN|i8|;Bu5G$2+7Q^tWKS*wPPN`4mGg_}~&SJb0Q`EWW-2Q&< ze7Z}Dy4*v^eVz7@rC70t;Hw<@92$X&s9EfaGx-OQWbh~wsnb|m#s^w!Cs~Y>$0Q-XROPD z%q;6tc;{G`XY-2dPk6Je%OZW_&~+PCcxPn2-IpgjlB?HtT)~Zs8}k_8Ul3@^okYXv z*aZlnWyp8!?4-vMQ`nDreYI@f-q(Zc9^m`oY0Jj6GtL4yu;$f`OCE|qo#=0BHE%Yc z5w=FTf5IEO24?~%SaeBv<$aC!OiU^J13Fp8tjlsJN9cKs+GrVg<1`3(P~eY1six=X z1Sp%-dOUl5KGGJ6(Xc>A;9-GB1wJG2b%7rVY>2Y_N`V6cZxQ&FD9`mo^hh*DuSTB- z{75KG6)b;c1^X~2FkQit`!KGi2P^KWsHUeX9tS)r%enu^I&<5=0dF)nT zRlqsYS~@Je3Th+;rN@EQ!Tu8Ay$Ea}WP!oT8=_Z@ys+NKqE}68fi)?%)vD$JUZ!dR zht&eWcl38C7K=o_M>mu0Xe)3b9|PtNEdDDd9NK_>$^G2Aa#Tjsi9U zUVj1GiF`~2Se*0(?zdkLu_|q&+a3-us@K!V>9Zl$pm(CvP8YBdJaaZLli6vB-i_{C zA7Tl;56?3@LTn|h)Y6_1TZx00a73?lVG(rpLRKSbx(1%gE z+7_PgwW^eU09djUx+P^9Hu5Z6kt-ZCOTGz zJzKzzL-Nf6_9VY1TpY|t`q#9WT0^W#Kabaf&HzKjUZl^_Sco;~C(-Hm6tLrD(6JC( zqJNLpc{#)q`c>=%r$cNdth7=sZ!vU$)?$W>sXfFt=(lJ&^@Lczeh1i?U|g}|*q`nW zc&OO>SXmDX7F4W_eiiC*#oFj(z>|u#(T5@Lgzf}y0p3SYY4x;Vyz=K)oF8_G3_~5t z_X_2@5*Sc!5}80gpafdMIDoEbeHQaZv6|vIn`j3*y-7N}iB2FFSJ6x8#V)|*)F!;5P++8*n*&SK#*nmHIJYC-z2$KLzZ-I^}U4t*>ZNPa&lV zz$(28uwJiIb+omj3*#laSN(<(`Z|nPg8mdbhGqKoh)~kI|26! z{Vwt_{u<;b=n?GXzohxfR&U7oZCau3P*rM$x?i;c9tB*j9;H5vpHY=+uBufF)Me@# zb%PpHmU>N+5&i5-2gbG?*;t3eh4s- z3Alk|Ak!LQ?vQ?0BtJyI@+=D1h@5ZQ4#p<#C0_??r=q^qb*>74D%-#!)JDLMQ^(Z*fw&w6%c-y0U(9 zV0+f~lc{u?GTwyartNVWn(=%qLxbaAvL<}mjnY1K(LNZ_8Y|+S>!fdpU>&up8(3MIN z&TVFP(n9gFzG+Jpr)P#8>dU6AJ%hV&^(@z?&6Z!1vTatz*=>6z=TnE^9nb@_PH7|;1ufze~7&6y#4GJ7_Q`-B$~+RIFj zST6V3*;40Zbm!83&Yfk-Vb@Gq8PmPxY-8Qd^o(myPWflEwz}8@CT3xDJDF)SJ9D-M z`eK(onZt6O)$tz7n{e&v*_p$(pDuB|yMKtMN!w<&#Djdgb6MZcSjoODwj5`A$Z~hv z6WC{vrHZnXYTjP+zg@sY@uPJBf`h>wASQ5AGHBv1DN` zFTbUgcbE9jJ6>|TZ>K4EzvUrkCA%BTav+yZ4?De?X@7=>O|RGs1=F=Hx*gtI;uhvaDMWiPbkn4XRsE zVJHREARWa>V^G5b0IF|dW_=TADw=?7BtiIE3xPzQH#Y`}i|XSLtdGZIhE{Pw0;ucb zl^}s1XLGe;E?$vfSti6`xf!0!V}o%Wi{s{p4*?1QR5q&Wn}Zn|d4|St21erb40U~D zFhiplG(@G5X9x(5Y#D-DX&tTPKr0brCBmyjU{!cFkll{h8xwIi$C-hd5lA!ecr%3A zO_*02zGzi%i%czN2_gjVp^|}IbB&^^!YzisXsDW+g_y&~oer7?i6+zAU|Od&97iH+ zFc_gB8U^g7Z5Z|8ThjpWKEO>F^YQcOpFid#Zx`%nRd6Nxg5cbP`R`XD0hb<}3RX=# zk8UEH(uA8nWoZ{VBGf8c!{C~rdf=PnL(Tyf9FIjm&}?G}bQhc~P0nKJWs&JX+`(@R zzL_BhcowdQZa3^@@Ux)pV-~{On1MH!0Yp2D(MHONZz+t2A?v^oIQ1e42$8_c6aW4TgSjS8!bUoHEAMCPWqF@Lch= zOD(p-j)SOksDodUouWQWAr7uvx$K#h$k&18JEdk_@Y<6Y#^E8yd@h|cYsWUq4m32s Rs_ie? + + + NAnt.NUnit + + + + + Carries data specified through the formatter element. + + + + + 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 the extension to append to the output filename. + + The extension to append to the output filename. + + + + Gets or sets the directory where the output file should be written + to, if is . + + + The directory where the output file should be written to. + + + + + 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. + + + + + The built-in formatter types. + + + + + A plaintext formatter. + + + + + An XML formatter. + + + + + Represents the FormatterElement of the NUnit task. + + + + + Type of formatter. + + + + + Extension to append to the output filename. + + + + + Determines whether output should be persisted to a file. The default + is . + + + + + Specifies the directory where the output file should be written to, + if is . If not + specified, the output file will be written to the directory where + the test module is located. + + + + + Gets the underlying for the element. + + + + + 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. + + + + diff --git a/build-support/tools/nant/bin/NAnt.NUnit1Tasks.dll b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..a95b4d01836db765ad24ead2f8d3f93dbb7ffcd9 GIT binary patch literal 36864 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml new file mode 100644 index 00000000..941273b9 --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.NUnit1Tasks.xml @@ -0,0 +1,538 @@ + + + + NAnt.NUnit1Tasks + + + + + The whole test suite started. + + + + + The whole test suite ended. + + + + + Sets the the formatter is supposed to write + its results to. + + + + + 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. + + + + + Prints information about running tests directly to the build log. + + + + Not used, all output goes to Log class. + + + Called when the whole test suite has started. + + + 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. + The StackTrace string, see . + The string that gets appended to the end of file(line): portion. + + + + Runs tests using the NUnit V1.0 framework. + + + + See the NUnit home page for more + information. + + + The or + attributes are only used to stop more than one test suite to stop + running. If any test suite fails a build error will be thrown. + Set to to + ignore test errors and continue build. + + + + + Run tests in the MyProject.Tests.dll assembly. + + + The test results are logged in results.xml and results.txt + using the and + formatters, respectively. + + + + + + + + ]]> + + + + + + 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 . + + + + + Cancel the individual tests if they do not finish in the specified + time (measured in milliseconds). Ignored if fork is disabled. + + + + + Tests to run. + + + + + Formatters to output results of unit tests. + + + + + Represents a test element of an . + + + + + 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. + + + + + Class name of the test. + + + + + Assembly to load the test from. + + + + + Run the tests in a separate . + + + + + 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). + + + + + The application configuration file to use for the NUnit test domain. + + + + + 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. + + + + + 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. + + + + + + Runs a Suite extracted from a TestCase subclass. + + + + + Creates the formatters to be used when running this test. + + + + + 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" + + + + + Gets the collection of registered formatters. + + Collection of registered formatters. + + + + Gets the result of the test. + + The result of the test. + + + + Prints information about running tests in plain text. + + + + 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 ended. + + + Convert a stack trace line into something that can be clicked on in an IDE output window. + The StackTrace string, see . + The string that gets appended to the end of file(line): portion. + + + + Decorates NUnits with extra information such as + run-time. + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + + Initializes a new instance of the + class. + + + + + Sets the the formatter is supposed to + write its results to. + + + + + Called when the whole test suite has started. + + + + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..7eab179cdb155a99a2abf287b6f75a5271f1bd8c GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.NUnit2Tasks.xml b/build-support/tools/nant/bin/NAnt.NUnit2Tasks.xml new file mode 100644 index 00000000..4e16c35b --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.NUnit2Tasks.xml @@ -0,0 +1,568 @@ + + + + NAnt.NUnit2Tasks + + + + + Controls the categories of tests to execute using the . + + + + Only include test cases and fixtures that require no internet access. + + + + + + ]]> + + + + + Exclude test cases and fixtures that are known to fail. + + + + + + ]]> + + + + + + Specifies a list of categories to include. + + + + + Specifies a list of categories to exclude. + + + + + Represents a certain group of test cases or fixtures. + + + + + 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 skipped; + otherwise, processed. The default is . + + + + + 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. + + + + + Returns a comma-delimited list of categories. + + + A comma-delimited list of categories, or an empty + if there are no categories. + + + + + 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with value + 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 name. + + The name of the to get. + + + + 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. + + + + + 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. + + + + + Runs tests using the NUnit V2.2 framework. + + + + The 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 to to + ignore any errors and continue the build. + + + In order to run a test assembly built with NUnit 2.0 or 2.1 using + , you must add the following node to your + test config file : + + + + ... + + + + + + + + + + ... + + ]]> + + + See the NUnit home page for more + information. + + + + + Run tests in the MyProject.Tests.dll assembly. + + + + + + + ]]> + + + + + Only run tests that are not known to fail in files listed in the tests.txt + file. + + + + + + + + + + + + + + ]]> + + + + + + Runs the tests and sets up the formatters. + + + + + Stop the test run if a test fails. The default is . + + + + + Tests to run. + + + + + Formatters to output results of unit tests. + + + + + Represents a test element of an . + + + + + Name of the assembly to search for tests. + + + + + Name of a specific testfixture to run. If not specified then all + testfixtures are run. + + + + + Assemblies to include in test. + + + + + Categories of test cases to include or exclude. + + + + + Build fails on failure. The default is . + + + + + XSLT transform file to use when using the + formatter. + + + + + 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. + + + + + Custom TestDomain, similar to the one included with NUnit, in order + to workaround some limitations in it. + + + + + Initializes a new instance of the + class. + + + + + Runs a single testcase. + + The test assembly. + The application configuration file for the test domain. + + The result of the test. + + + + + Helper class called when an assembly resolve event is raised. + + + + + Initializes an instanse of the + class. + + + + + Called back when the CLR cannot resolve a given assembly. + + The source of the event. + A that contains the event data. + + The nunit.framework we know to be in NAnts bin directory, if + that is the assembly that needs to be resolved; otherwise, + . + + + + + Occurs when an assembly is loaded. The loaded assembly is added + to the assembly cache. + + The source of the event. + An that contains the event data. + + + + Holds the list of directories that will be scanned for missing + assembly references. + + + + + Holds the loaded assemblies. + + + + diff --git a/build-support/tools/nant/bin/NAnt.SourceControlTasks.dll b/build-support/tools/nant/bin/NAnt.SourceControlTasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..c44fd3a521cab59d5ceac6ba010d78878ef38fe6 GIT binary patch literal 40960 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 + + + NAnt.SourceControlTasks + + + + + 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. + + + + + Used on windows to specify the location of application data. + + + + + The environment variable that holds path information. + + + + + 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. + + + + + Initializes a new instance of the + class. + + + + + 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 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. + + + + 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. + + + + 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 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 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. + + + + + + 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. + + + + + 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. + + + + + 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. + + + + + Used to specify the version control system (VCS) files that are going + to be acted on. + + + + + The executable to use for ssh communication. + + + + + The environment name for the ssh variable. + + + + + The name of the version control system executable. + + + + + Get the command line arguments for the task. + + + + + Default value for the recursive directive. The default is + . + + + + + Default value for the quiet command. + + + + + Default value for the really quiet command. + + + + + An environment variable that holds path information about where + cvs is located. + + + + + Name of the password file that cvs stores pserver + cvsroot/ password pairings. + + + + + The default compression level to use for cvs commands. + + + + + The default use of binaries, defaults to use sharpcvs. + + + + + The name of the cvs executable. + + + + + 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. + + + + + Property name used to specify on a project level whether sharpcvs is + used or not. + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + + 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. + + + + + + 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 pass file, or .cvspass at the time + of this writing. + + + + + 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. + + + + + Used to specify the version control system (VCS) files that are going + to be acted on. + + + + + Get the cvs file set. + + + + + 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 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 + + + + + + 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. + + + + + 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 . + + + + + 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 . + + + + + 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. + + + ]]> + + + + + + The command being executed. + + + + + Name of the xml file that will contain the cvs log information. + + + + + The earliest change to use in the cvs log command. + + + + + The latest date to use in the cvs log command. + + + + + The cvs command to execute. + + + + + Override use of sharpcvslib, needs to be true. + + + + + + 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
  • +
+
+ + If the cvsroot is not specified then the directory specified by the + attribute + is searched for CVS\Root. + +
+ + NAnt anonymous cvsroot: + + :pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant + + +
+ + + 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. + + + + + Initializes a new instance of the class. + + + + + Specify the revision to checkout. This corresponds to the "sticky-tag" + of the file. + + + + + 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 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. + + + + + 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. + + + + + + Password to append or update to the .cvspass file. + + + + + The full path to the .cvspass file. The default is ~/.cvspass. + + + + + + The current working directory. + + + + + The repository root string. + + + + + Executes the cvs command specified by the command attribute. + + + Checkout NAnt. + + + ]]> + + + + + + The cvs command to execute. + + + + + 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. + + + + + + + + + ]]> + + + + + + The command being executed. + + + + + Create a new instance of the . + + + The following values are set by default: +
    +
  • Recursive:
  • +
+
+
+ + + No shortening. Do not shorten module paths if -d specified. + + + + + Indicates whether the head revision should be used if the revison specified by + or the tags are not + found. The default is . + + + if the specified tag should be moved; + 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 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. + + + + + 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. + + + ]]> + + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + + Indicates whether the tag specified in should + be removed or not. + + + if the specified tag should be removed; + otherwise, . The default is . + + + + + Indicates whether the tag specified in should + be moved to the current file revision. If the tag does not exist + then it is created. + + + if the specified tag should be moved; + 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 . + + + + + Indicates the repository that is acted on + for the tag command. Note if is + then the tag specified is moved to the revision + of the file on the HEAD of the branch specified. + + + The tag (or more likely) branch that should be used to apply the new tag. + + + + + 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 whether the head revision should be used if the + or the tags are not + found. + + + if the specified tag should be moved; + otherwise, . The default is . + + + + + The name of the cvs command that is going to be executed. + + + + + Tags all local sources with the specified tag. + + + + This differs from the + 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. + + + + Tag NAnt sources remotely. + + + ]]> + + + + Remove a tag from the remote repository. + + + ]]> + + + + + + Cvs command to be executed. + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + + Indicates whether the tag specified in should + be removed or not. + + + if the specified tag should be removed; + otherwise, . The default is . + + + + + Indicates whether the tag specified in should + be moved to the current file revision. If the tag does not exist + then it is created. + + + if the specified tag should be moved; + 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 . + + + + + Indicates the repository that is acted on + for the tag command. Note if is + then the tag specified is moved to the revision + of the file on the HEAD of the branch specified. + + + The tag (or more likely) branch that should be used to apply the new tag. + + + + + 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 whether the head revision should be used if the revision specified by + or the tags are not + found. + + + if the specified tag should be moved; + otherwise, . The default is . + + + + + Indicates whether the head revision should be used if the + or the tags are not + found. + + + if the specified tag should be moved; + otherwise, . The default is . + + + + + The name of the cvs command that is going to be executed. + + + + + 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. + + + + + 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. + + + + + Initializes a new instance of the + class. + + + Sets the build directory and prune empty directory properties to + . + + + + + 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 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. + + + + + 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. + + + + + 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. + + + + + The name of the cvs command that is going to be executed. + + + + + A is a with extra + 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 . + + +
+
diff --git a/build-support/tools/nant/bin/NAnt.VSNetTasks.dll b/build-support/tools/nant/bin/NAnt.VSNetTasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..da9d97543360b6b15de42f89a463cfac8faad9ec GIT binary patch literal 159744 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

u+ROQgD9+w#d`GQZ3vY@J*G$ja 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.VSNetTasks.xml b/build-support/tools/nant/bin/NAnt.VSNetTasks.xml new file mode 100644 index 00000000..a782968c --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.VSNetTasks.xml @@ -0,0 +1,3881 @@ + + + + NAnt.VSNetTasks + + + +

+ Analyses Microsoft Visual Studio .NET 2003 (Everett) solution files. + + + + + Gets the project file of the project with the given unique identifier. + + The unique identifier of the project for which the project file should be retrieves. + + The project file of the project with the given unique identifier. + + 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 log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the underlying task. + + + + + Loads the projects from the file system and stores them in an + instance variable. + + instance to use to determine whether an assembly is located in the Global Assembly Cache. + instance to use to determine location and references of assemblies. + TODO + 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. + + + + + Converts assembly references to projects to project references, adding + a build dependency.c + + The to analyze. + The solution configuration that is built. + containing list of projects that have been built. + containing list of projects that failed to build. + + + + Determines whether any of the project dependencies of the specified + project still needs to be built. + + The to analyze. + containing list of projects that have been built. + + if one of the project dependencies has not + 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. + + + + + Analyses Microsoft Visual Studio .NET 2002 (Rainier) solution files. + + + + + Compiles VS.NET solutions (or sets of projects), automatically determining + project dependencies from inter-project references. + + + + This task support the following projects: + + + + Visual Basic .NET + + + Visual C# .NET + + + Visual J# .NET + + + Visual C++ .NET + + + + Right now, only Microsoft Visual Studio .NET 2002 and 2003 solutions + and projects are supported. Support for .NET Compact Framework projects + is also not available at this time. + + + The also supports the model of referencing + projects by their output filenames, rather than referencing them inside + the solution. It will automatically detect the existance of a file + reference and convert it to a project reference. For example, if project + "A" references the file in the release output directory of + project "B", the will automatically + convert this to a project dependency on project "B" and will + reference the appropriate configuration output directory at the final + build time (ie: reference the debug version of "B" if the + solution is built as debug). + + + The expects all project files to be valid + XML files. + +

Resx Files

+ + When building a project for a down-level target framework, special care + should be given to resx files. Resx files (can) contain references to + a specific version of CLR types, and as such are only upward compatible. + + + For example: if you want to be able to build a project both as a .NET 1.0 + and .NET 1.1 assembly, the resx files should only contain references to + .NET 1.0 CLR types. Failure to do this may result in a + failure at runtime on machines with only the .NET Framework 1.0 installed. + +
+ + + Compiles all of the projects in test.sln, in release mode, in + the proper order. + + + + ]]> + + + + + Compiles all of the projects in projects.txt, in the proper + order. + + + + + + + + ]]> + + + + + Compiles projects A, B and C, using the output of project X as a + reference. + + + + + + + + + + + + + ]]> + + + + + Compiles all of the projects in the solution except for project A. + + + + + + + + ]]> + + + + + Compiles all of the projects in the solution mapping the specific project at + http://localhost/A/A.csproj to c:\inetpub\wwwroot\A\A.csproj and any URLs under + http://localhost/B/[remainder] to c:\other\B\[remainder]. This allows the build + to work without WebDAV. + + + + + + + + + ]]> + + + + + Compiles all of the projects in the solution placing compiled outputs + in c:\temp. + + + ]]> + + +
+ + + Initializes a new instance of the class. + + + + + Expands the given macro. + + The macro to expand. + + The expanded macro or if the macro is not + supported. + + 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. + + + + + 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 name of the VS.NET solution file to build. + + + + The can be used instead to supply a list + of Visual Studio.NET projects that should be built. + + + + + + The name of the solution configuration to build. + + + + Generally release or debug. Not case-sensitive. + + + + + + The directory where compiled targets will be placed. This + overrides path settings contained in the solution/project. + + + + + WebMap of URL's to project references. + + + + + Fileset of projects to exclude. + + + + + 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 . + + + + + Allow the task to use WebDAV for retrieving/compiling the projects within solution. Use of + is preferred over WebDAV. The default is . + + + WebDAV support requires permission changes to be made on your project server. These changes may affect + the security of the server and should not be applied to a public installation. + Consult your web server or the NAnt Wiki documentation for more information. + + + + + 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. + + + + + Don't use ATL. + + + + + Use ATL in a Static Library. + + + + + Use ATL in a Shared DLL. + + + + + Defines how the project is using the MFC library. + + + + + Don't use MFC. + + + + + Use MFC in a Static Library. + + + + + 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. + > + + + + 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. + + + + + 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. + + + + + 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. + + + + + 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 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 not be mapped. + + + if the URL of the project file should not + be mapped; otherwise, . + + + + + 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. + + + + + Find the best matching for the given Uri. + + The value to match against the objects in 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 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 + value is in the collection. + + The argument value to locate in the collection. + + if a with value + 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 value. + + The value of the to get. + + + + 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 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. + + 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. + + + + + 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 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, . + + + + + Returns the date and time the specified file was last written to. + + The file for which to obtain write date and time information. + + A structure set to the date and time that + the specified file was last written to, or + if the specified file does not + exist. + + + + + 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 log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the underlying task. + + + + + 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 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 the complete set of output files for the specified assembly + and adds them to collection. + + The path of the assembly to get the output files for. + 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. + + + + + 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. + + 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. + + + + + 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. + + + + + 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, . + + + + + 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 using a path relative to the project + directory. + + + The full path of the assembly, or if + is or an + empty . + + + + + 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, . + + + + + Base class for all project classes. + + + + + Initializes a new instance of the class. + + + + + Gets the complete set of output files for the project. + 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. + + + + + 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. + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + XML fragment representing the project file. + + The Visual Studio product version of the specified project XML + file. + + + The product version could not be determined. + -or- + The product version is not supported. + + + + + Verifies whether the specified XML fragment represents a valid project + that is supported by this . + + XML fragment representing the project file. + + The XML fragment is not supported by this . + -or- + 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. + + + + + Copies the specified file if the destination file does not exist, or + the source file has been modified since it was previously copied. + + The file to copy. + The destination file. + 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 log, containing zero or more format items. + An array containing zero or more objects to format. + + The actual logging is delegated to the underlying task. + + + + + 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 type of the project. + + + The type of the project. + + + + + Gets the path of the VS.NET project. + + + + + Gets the directory containing the VS.NET project. + + + + + Get the location of the project. + + + + + Get the directory in which intermediate build output that is not + specific to the build configuration will be stored. + + + + For projects, this is defined + as <Project Directory<\obj. + + + For projects, this is defined + as %HOMEPATH%\VSWebCache\<Machine Name>\<Project Directory>\obj. + + + + + + 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 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 the extra set of output files for the project. + + + The extra set of output files for the project. + + + 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 set of projects that the project depends on. + + + The set of projects that the project depends on. + + + + + 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. + + + + + Returns a for launching the compiler + for this project. + + The configuration to build. + The response file for the compiler. + + A for launching the compiler for + this project. + + + + + Returns the project location from the specified project XML fragment. + + XML fragment representing the project file. + + The project location of the specified project XML file. + + + The project location could not be determined. + -or- + The project location is invalid. + + + + + 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. + + + + + 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. + + + + + Returns containing culture-specific resources. + + + A containing culture-specific resources. + + + The key of the is + and the value is an instance + for that culture. + + + + + Creates and initializes a instance. + + + An initialized instance. + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + XML fragment representing the project to check. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + The product version is not supported. + + + + + Returns the of the specified project + XML fragment. + + XML fragment representing the project to check. + + The of the specified project XML + fragment. + + + The project location could not be determined. + -or- + The project location is invalid. + + + + + Holds a case-insensitive list of source files. + + + The key of the is the full path of the + source file and the value is . + + + + + Gets the default file extension of sources for this project. + + + The default file extension of sources for this project. + + + + + Gets a value indicating if this is a web project. + + + if this is a web project; otherwise, + . + + + If the url of a web project has been mapped to a local path + (using the <webmap> element), then this property will return + for a + project. + + + + + Gets the name of the VS.NET project. + + + + + Gets the path of the VS.NET project. + + + + + Gets the directory containing the VS.NET project. + + + + + Get the location of the project. + + + + + Gets or sets the unique identifier of the VS.NET project. + + + + + Groups a set of instances for a specific + culture. + + + + + Initializes a new instance + for the specified culture. + + 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 a representing the path to the + intermediate file location of the satellite assembly. + + The project build configuration. + The project settings. + + A representing the path to the + intermediate file location of the satellite assembly. + + + + + 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 the of the + . + + + + + Gets the set of localized resources. + + + + + Verifies whether the specified XML fragment represents a valid project + that is supported by this . + + XML fragment representing the project file. + + The XML fragment is not supported by this . + -or- + The XML fragment does not represent a valid project (for this ). + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + The document element of the project. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + The product version is not supported. + + + + + Returns a for launching the compiler + for this project. + + The configuration to build. + The response file for the compiler. + + A for launching the compiler for + this project. + + + + + Returns the project location from the specified project XML fragment. + + XML fragment representing the project file. + + The project location of the specified project XML file. + + + The project location could not be determined. + -or- + The project location is invalid. + + + + + Returns a value indicating whether the project represented by the + specified XML fragment is supported by . + + XML fragment representing the project to check. + + if supports + the specified project; otherwise, . + + + + A project is identified as as C# project, if the XML fragment at + least has the following information: + + + + + ... + + + ]]> + + + + + + 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, . + + + + + Supports grouping of individual projects, and treating them as a solution. + + + + + Verifies whether the specified XML fragment represents a valid project + that is supported by this . + + XML fragment representing the project file. + + The XML fragment is not supported by this . + -or- + The XML fragment does not represent a valid project (for this ). + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + The document element of the project. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + 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. + + + + + Returns a for launching the compiler + for this project. + + The configuration to build. + The response file for the compiler. + + A for launching the compiler for + this project. + + + + + Returns the project location from the specified project XML fragment. + + XML fragment representing the project file. + + The project location of the specified project XML file. + + + The project location could not be determined. + -or- + The project location is invalid. + + + + + Returns a value indicating whether the project represented by the + specified XML fragment is supported by . + + XML fragment representing the project to check. + + if supports + the specified project; otherwise, . + + + + A project is identified as as J# project, if the XML fragment at + least has the following information: + + + + + ... + + + ]]> + + + + + + 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". + + + + + 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 Visual Studio .NET AssemblyFolders registry key matching + the current target framework. + + + The Visual Studio .NET AssemblyFolders registry key matching the + current target framework. + + The current target framework is not supported. + + We use the target framework instead of the product version of the + containing project file to determine what registry key to scan, as + we don't want to use assemblies meant for uplevel framework versions. + + + + + Indentifies the different output types of a managed project. + + + Visual Studio .NET does not support modules. + + + + + A class library. + + + + + A console application. + + + + + 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 complete set of output files for the referenced project. + + The solution configuration that is built. + The set of output files to be updated. + + The complete set of output files for the referenced project. + + + 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 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 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 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 complete set of output files for the referenced project. + + 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. + + + + + 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. + + + + + 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 this reference represents a system + assembly. + + + as none of the system assemblies are wrappers + or Primary Interop Assemblies anyway. + + + + + Gets the name of the tool that should be used to create the + . + + + The name of the tool that should be used to create the + . + + + + + 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 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 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 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 tool that should be used to create the + . + + + The name of the tool that should be used to create the + . + + + + + 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 hex version of the type library as defined in the definition + of the reference. + + + The hex version of the type library. + + + + The definition of the reference does not contain a "VersionMajor" attribute. + + -or + + The definition of the reference does not contain a "VersionMinor" attribute. + + + + + + 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. + + + + + Specifies the type of the project. + + + + + A Visual Basic.NET project. + + + + + A Visual C# project. + + + + + A Visual C++ project. + + + + + A Visual J# project. + + + + + Specifies the result of the build. + + + + + The build failed. + + + + + The build succeeded. + + + + + The build succeeded and the output was updated. + + + + + Visual Studio.NET 2002 + + + + + Visual Studio.NET 2003 + + + + + Indentifies the physical location of a managed project. + + + + + A local project. + + + + + A web project. + + + + + 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. + + + + 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 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. + + + + + Holds a case-insensitive list of cached projects. + + + The key of the is the path of the project + file (for web projects this can be a URL) and the value is a + instance. + + + + + Holds a case-insensitive list of cached project GUIDs. + + + The key of the is the path of the project + file (for web projects this can be a URL) and the value is the GUID + of the project. + + + + + Holds a case-insensitive list of cached project GUIDs. + + + The key of the is the path of the project + file (for web projects this can be a URL) and the value is the Xml + of the project. + + + + + Determines the output type of the project from its XML definition. + + The XML definition of the project settings. + + The output type of the project. + + + + The output type of the project is not set in the specified XML + definition. + + -or- + + The output type of the project is not supported. + + + + + + Gets the project GUID from the given + holding a <VisualStudioProject> node. + + The path of the project file. + The <VisualStudioProject> node from which the project GUID should be retrieved. + + The project GUID from specified <VisualStudioProject> node. + + + + + 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 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. + + + + + Designates when the command line should + be run. Possible values are "OnBuildSuccess", "Always" or + "OnOutputUpdated". + + + + + 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. + + + + + Obtains a lifetime service object to control the lifetime policy for + this instance. + + + An object of type used to control the lifetime + policy for this instance. This is the current lifetime service object + for this instance if one exists; otherwise, a new lifetime service + object initialized with a lease that will never time out. + + + + + 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. + + The solution configuration that is built. + + A representing the compiled resource file. + + + + + Returns a representing the compiled resource + file. + + The solution configuration that is built. + + A representing the compiled resource file. + + + Calling this method does not force compilation of the resource file. + + + + + Gets a representing the physical location + of the resource file. + + + + + Gets a representing the logical location + of the resource file in the project. + + + When the resource file is not linked, this matches the + . + + + + + 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. + + + + + Initializes a new instance of the + class. + + + + + Verifies whether the specified XML fragment represents a valid project + that is supported by this . + + XML fragment representing the project file. + + The XML fragment is not supported by this . + -or- + The XML fragment does not represent a valid project (for this ). + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + The document element of the project. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + The product version is not supported. + + + This method is called from the ctor, and + at that time we're not sure the XML that is passed in, is indeed a + valid Visual Basic project. + + + + + Returns the project location from the specified project XML fragment. + + XML fragment representing the project file. + + The project location of the specified project XML file. + + + The project location could not be determined. + -or- + The project location is invalid. + + + + + Returns a for launching the compiler + for this project. + + The configuration to build. + The response file for the compiler. + + A for launching the compiler for + this project. + + + + + Returns a value indicating whether the project represented by the + specified XML fragment is supported by . + + XML fragment representing the project to check. + + if supports the + specified project; otherwise, . + + + + A project is identified as as Visual Basic project, if the XML + fragment at least has the following information: + + + + + ... + + + ]]> + + + + + + 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". + + + + + A mapping from properties in the .vcproj file to command line arguments. + + + + + Initializes a new instance of the + class. + + + + + 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. + + + + + Creates a mapping between configuration properties for the Visual + C++ compiler and corresponding command-line arguments. + + + A mapping between configuration properties for the Visual C++ + compiler and corresponding command-line arguments. + + + + The following configuration properties are processed by + : + + + + Category + Property + + + General + Addtional Include Directories (/I[path]) + + + General + Resolve #using References (/AI[path]) + + + Preprocessor + Preprocessor Definitions (/D[macro]) + + + Code Generation + Enable C++ Exceptions (/EHsc) + + + Precompiled Headers + Create/Use Precompiled Header + + + Precompiled Headers + Create/Use PCH Through File + + + Precompiled Headers + Precompiled Header File + + + Output Files + Assembler Output + + + Output Files + ASM List Location + + + Browse Information + Enable Browse Information + + + Browse Information + Browse File + + + Advanced + Force Includes (/FI[name]) + + + Advanced + Force #using (/FU[name]) + + + Advanced + Undefine Preprocessor Definitions (/U[macro]) + + + + + + + Creates a mapping between configuration properties for the Visual + C++ linker and corresponding command-line arguments. + + + A mapping between configuration properties for the Visual C++ + linker and corresponding command-line arguments. + + + + The following configuration properties are processed by + : + + + + Category + Property + + + General + Output File (/OUT:[file]) + + + General + Additional Library Directories (/LIBPATH:[dir]) + + + Input + Additional Dependencies + + + Input + Add Module to Assembly (/ASSEMBLYMODULE:file) + + + Input + Embed Managed Resource File (/ASSEMBLYRESOURCE:file) + + + Debugging + Generate Debug Info (/DEBUG) + + + Debugging + Generate Program Database File (/PDB:name) + + + Debugging + Generate Map File (/MAP) + + + Debugging + Map File Name (/MAP:[filename]) + + + System + Heap Reserve Size (/HEAP:reserve) + + + System + Heap Commit Size (/HEAP:reserve, commit) + + + System + Stack Reserve Size (/STACK:reserve) + + + System + Stack Commit Size (/STACK:reserve, commit) + + + + The following configuration properties are ignored: + + + + Category + Property + + + General + Show Progress (/VERBOSE, /VERBOSE:LIB) + + + General + Suppress Startup Banner (/NOLOGO) + + + + Support for the following configuration properties still needs to + be implemented: + + + + Category + Property + + + General + Ignore Import Library + + + General + Register Output + + + Input + Delay Loaded DLLs (/DELAYLOAD:[dll_name]) + + + Embedded IDL + MIDL Commands (/MIDL:[file]) + + + + + + + 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 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. + + + + + Allow us to assign an argument to a specific 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). + + + + + Resolves an assembly reference. + + + The full path to the resolved assembly, or + if the assembly reference could not be resolved. + + + + + 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 . + + The macro is not supported. + 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. + + + + + A single build configuration for a Visual C++ project or for a specific + file in the project. + + + + + 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. + + + + + Gets the value of a given setting for a specified tool. + + The name of the tool. + The name of the setting. + + The value of a setting for the specified tool, or + if the setting is not defined for the specified tool. + + + An empty setting value, which is used as a means to override the + project default, will be returned as a empty . + + + + + Gets the value of a given setting for a specified tool. + + The name of the tool. + The name of the setting. + The value to return if setting is not defined. + + The value of a setting for the specified tool, or + if the setting is not defined for + the specified tool. + + + An empty setting value, which is used as a means to override the + project default, will be returned as a empty . + + + + + 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 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 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 platform that the configuration targets. + + + The platform targeted by the configuration. + + + + + Represents the configuration of a file. + + + + + 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. + + + + + Gets the value of a given setting for a specified tool. + + The name of the tool. + The name of the setting. + 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 + both the file and project configuration. + + + + If the setting is not defined in the file configuration, then + the project level setting will be used. + + + An empty setting value, which is used as a means to override the + project default, will be returned as a empty . + + + + + + 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. + + + + + 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 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. + + + + + 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, + . + + + + + Verifies whether the specified XML fragment represents a valid project + that is supported by this . + + XML fragment representing the project file. + + The XML fragment is not supported by this . + -or- + The XML fragment does not represent a valid project (for this ). + + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + The document element of the project. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + The product version 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 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 + . + + + + + 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. + + + + + Returns a value indicating whether the project represented by the + specified XML fragment is supported by . + + XML fragment representing the project to check. + + if supports the + specified project; otherwise, . + + + + A project is identified as as Visual C++ project, if the XML + fragment at least has the following information: + + + + + ]]> + + + + + + Removes leading and trailing quotes from the specified path. + + The path to clean. + + + + Returns the Visual Studio product version of the specified project + XML fragment. + + XML fragment representing the project to check. + + The Visual Studio product version of the specified project XML + fragment. + + + The product version could not be determined. + -or- + The product version is not supported. + + + + + Holds the files included in the project. + + + + For project files with no specific file configuration, the relative + path is added to the list. + + + For project files that have a specific file configuration, a + containing the + instance representing the file configurations is added. + + + + + + Gets the name of the Visual C++ project. + + + + + Gets the type of the project. + + + The type of the project. + + + + + Gets the path of the Visual C++ project. + + + + + Gets the directory containing the VS.NET project. + + + + + Get the location of the project. + + + . + + + For now, we only support local Visual C++ projects. + + + + + 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. + + + + + Represents a Visual C++ project 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. + + + + + 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. + + + + + Holds the output path for this build configuration. + + + Lazy initialized by . + + + + + 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 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. + + + + + Tells the compiler which character set to use. + + + + + 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 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. + + + + + 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. + + + + + 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. + + + + + 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. + + + + + + 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 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. + + + + + The type of output for a given configuration. + + + + + A Makefile. + + + + + Application (.exe). + + + + + Dynamic Library (.dll). + + + + + Static Library (.lib). + + + + + Utility. + + + + + Gets a instance representing the + absolute path to the import library to generate. + + + A representing the absolute path to the + import library to generate, or if no + 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 the name of the referenced assembly. + + + The name of the referenced assembly. + + + + + Gets the name of the tool that should be used to create the + . + + + The name of the tool that should be used to create the + . + + + + + 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 hex version of the type library as defined in the definition + of the reference. + + + The hex version of the type library. + + 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 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 new file mode 100644 index 0000000000000000000000000000000000000000..4ca00adccf5fbef4f677ea92351a74e5fba33266 GIT binary patch literal 49152 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 EZv@v3(*OVf literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml b/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml new file mode 100644 index 00000000..d27da40f --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.VisualCppTasks.xml @@ -0,0 +1,1205 @@ + + + + NAnt.VisualCppTasks + + + + + 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. + + + + + + + ]]> + + + + + + Initializes a new instance of the class. + + + + + Compiles the sources. + + + + + 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 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. + + + + + 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. + + + + + Specifies the path and/or name of the generated precompiled header + file - given either relative to or as an + absolute path. + + + + + The path of the boundary file when generating/using the + specified . If a precompiled header file is + not specified then this attribute is ignored. + + + + + The mode in which the specified (if any) is + used. The default is . + + + + + Specifies whether Managed Extensions for C++ should be enabled. + The default is . + + + + + Tells the compiler to use the specified character set. + + + + + Options to pass to the compiler. + + + + + The list of files to compile. + + + + + 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. + + + + + 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 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 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 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. + + + + + 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. + + + + + 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. + + + + + + + ]]> + + + + + + Creates the library. + + + + + Determines if the sources need to be linked. + + + + + Options to pass to the compiler. + + + + + The output file. + + + + + The module definition file. + + + + + The list of files to combine into the output file. + + + + + Symbols to add to the symbol table. + + + + + Names of default libraries to ignore. + + + + + 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 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 the sources. + + + + + Determines if the output needs linking. + + + + + Quotes an argument value and duplicates trailing backslahes. + + The argument value to quote. + + The quotes argument value. + + + + + Options to pass to the compiler. + + + + + Create debugging information for the .exe file or DLL. The default is + . + + + + + The output file. + + + + + A user-specified name for the program database (PDB) that the linker + creates. The default file name for the PDB has the base name of the + and the extension .pdb. + + + + + Specified DLLs for delay loading. + + + + + The list of files to combine into the output file. + + + + + The list of additional library directories to search. + + + + + Link the specified modules into this assembly. + + + + + Embed the specified resources into this assembly. + + + + + Symbols to add to the symbol table. + + + + + 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 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 the sources. + + + + + Determine if source files need re-building. + + + + + Options to pass to the compiler. + + + + + Path to store header file. The default is the project base directory. + + + + + Path to store RC file. The default is the project base directory. + + + + + Input filename. + + + + + 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. + + + + + 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. + + + + + 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. + + + + + 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 /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 /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. + + + + + Specifies the file name for the generated dlldata file for a proxy + DLL. The default file name Dlldata.c is used if + is not specified. + + + + + 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" + + + + + 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 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. + + + + + Name of .IDL file to process. + + + + + Additional options to pass to midl.exe. + + + + + Macro definitions to pass to mdil.exe. + Each entry will generate a /D + + + + + Macro undefines (/U) to pass to mdil. + + + + + The list of directories in which to search for include files. + + + + + Filename of program to execute + + + + + 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. + + + + ]]> + + + + + + Compile the resource file + + + + + Determines if the resource need compiling. + + + + + Check if a resource file has been updated. + + + + + + + Options to pass to the compiler. + + + + + Output file. + + + + + The resource file to compile. + + + + + Default language ID. + + + + + The list of directories in which to search for include files. + + + + + Macro definitions to pass to rc.exe. + Each entry will generate a /d + + + + + Filename of program to execute + + + + + Arguments of program to execute + + + + + Defines the character sets that can be used by the C++ compiler. + + + + + Have the compiler determine the character set. + + + + + Unicode character set. + + + + + Multi-byte character set. + + + + + Represents a library. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + the specified name. + + is . + + + + The name of the library. + + + + + If then the element will be processed; + otherwise, skipped. The default is . + + + + + If then the element will be skipped; + otherwise, processed. The default is . + + + + + 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, . + + + + + 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. + + + + + Represents a symbol. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with + the specified name. + + is . + + + + The name of the symbol. + + + + + If then the element will be processed; + otherwise, skipped. The default is . + + + + + If then the element will be skipped; + otherwise, processed. The default is . + + + + + 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, . + + + + + 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. + + + + + Defines how to deal with backslashes in values of command line + arguments. + + + + + Does not perform any processing on backslashes. + + + + + Duplicates the trailing backslash. + + + + + Fixes the trailing backslash by replaces trailing double backslashes + with only one backslash and removing single trailing backslashes. + + + + + Removes all the trailing backslashes. + + + + + Groups a set of useful manipulation methods for + command-line arguments. + + + + + Performs backslash processing on the specified value using a given + method. + + The to process. + The to use. + + with backslashes processed using the given + . + + + + + 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. + + + + Removes all the trailing backslashes from the input. + + The input string. + The result string without trailing backslashes. + + + + Quotes an argument value and processes backslashes using a given + . + + The argument value to quote. + The to use. + + The quoted argument value. + + + + diff --git a/build-support/tools/nant/bin/NAnt.Win32Tasks.dll b/build-support/tools/nant/bin/NAnt.Win32Tasks.dll new file mode 100644 index 0000000000000000000000000000000000000000..4979a834531984f3e65c875a69710dc658ef739e GIT binary patch literal 36864 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.Win32Tasks.xml b/build-support/tools/nant/bin/NAnt.Win32Tasks.xml new file mode 100644 index 00000000..059eb79c --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.Win32Tasks.xml @@ -0,0 +1,690 @@ + + + + NAnt.Win32Tasks + + + + + 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. + + + + + Initializes a new instance of the + class with the specified and properties. + + The in which the class is used. + The set of properties to use for macro expansion. + + + + Gets the DOS (short) form of the specified path. + + The path to convert. + + The DOS (short) form of the specified path. + + cygpath could not be started. + could not be converted to a short form. + + + + Gets the Unix form of the specified path. + + The path to convert. + + The Unix form of the specified path. + + cygpath could not be started. + could not be converted to a Unix form. + + + + Gets the Windows form of the specified path. + + The path to convert. + + The Windows form of the specified path. + + cygpath could not be started. + could not be converted to a Windows form. + + + + Runs cygpath with the specified arguments and returns the result + as a . + + The arguments to pass to cygpath. + + The result of running cygpath with the specified arguments. + + + + + Factory method to return a new instance of ExecTask + + + + + + + Generates a Windows Forms Control that wraps ActiveX Controls defined + in an OCX. + + + + + ]]> + + + + + + Import the ActiveX control. + + + + + 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 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 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 to sign the resulting control using delayed signing. + + + + + 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]. + + + + + 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 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 + + + + + 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. + + + + + 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 registry key to read, including the path. + + + SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot + + + + + Space separated list of registry hives to search for . + For a list of possible values, see . The + default is . + + + + + + + + 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. + + + + + + + + + + + + ]]> + + + + + + Updates the of the specified + . + + The of which the should be updated. + + + + Registers or unregisters a single assembly, or a group of assemblies. + + + + + The name of the file to register. This is provided as an alternate + to using the task's . + + + + + Registry file to export to instead of entering the types directly + into the registry. + + + + + Set the code base registry setting. + + + + + Only refer to already registered type libraries. + + + + + Export the assemblies to the specified type library and register it. + + + + + Unregister the assembly. The default is . + + + + + The set of assemblies to register, or unregister. + + + + + The set of assembly references. + + + + + 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 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 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, . + + + + + 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 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. + + + + + 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. + + + + + 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, . + + + + + 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 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 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 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 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 to import a COM style SafeArray as a managed + class type. The default is . + + + if a COM style SafeArray should be imported + as a managed class type; otherwise, + . + + See the Microsoft.NET Framework SDK documentation for details. + + + + 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 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 . + + + + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..689b1ebe97999cd99843008641c2a479d8115d41 GIT binary patch literal 10752 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 L{r~I#UIhLF;oFy~ literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/NAnt.exe.config b/build-support/tools/nant/bin/NAnt.exe.config new file mode 100644 index 00000000..534d832f --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.exe.config @@ -0,0 +1,1716 @@ + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build-support/tools/nant/bin/NAnt.xml b/build-support/tools/nant/bin/NAnt.xml new file mode 100644 index 00000000..fd75a54d --- /dev/null +++ b/build-support/tools/nant/bin/NAnt.xml @@ -0,0 +1,48 @@ + + + + NAnt + + + + + Stub used to created and launch real ConsoleDriver + class in Core assembly. + + + + + Entry point for executable + + Command Line arguments + The result of the real execution + + + + Helper class for invoking the application entry point in NAnt.Core + and passing the command-line arguments. + + + + + Initializes a new instance of the + class with the specified command-line arguments. + + The commandline arguments passed to NAnt.exe. + Directories relative to the base directory of the AppDomain to probe for missing assembly references. + + + + 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. + + + + diff --git a/build-support/tools/nant/bin/NDoc.Documenter.NAnt.dll b/build-support/tools/nant/bin/NDoc.Documenter.NAnt.dll new file mode 100644 index 0000000000000000000000000000000000000000..06dda7e9f8f976ec57c3f3285ab20f311fd79706 GIT binary patch literal 131072 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 Y6i6tLP#~c|LV<(=2?Y`g{9jVwzbF_gIRF3v literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.dll b/build-support/tools/nant/bin/lib/ICSharpCode.SharpCvsLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..fcd2d1add82c134cde7aee678eb637e133941bef GIT binary patch literal 155648 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�J!;U!!r2HZ?ldSXpCZjgM=57k4!-Dn2nj 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/ICSharpCode.SharpZipLib.dll b/build-support/tools/nant/bin/lib/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..77bafe8ba867a1618b8735200289f6fad68b825e GIT binary patch literal 143360 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 z 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

8BqwhQRwC>?#V$;}58d)BWg3KBPm&z(H!9 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/1.0/NDoc.ExtendedUI.dll b/build-support/tools/nant/bin/lib/mono/1.0/NDoc.ExtendedUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..d075d5d7949b00a5dc60532008c6d7f3cb6aebb8 GIT binary patch literal 16896 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 U&mLamH)bji?EioKKj(q}0naQVx&QzG literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/1.0/nunit.core.dll b/build-support/tools/nant/bin/lib/mono/1.0/nunit.core.dll new file mode 100644 index 0000000000000000000000000000000000000000..df7f9051c360741869fac7ea8fb983c67c009090 GIT binary patch literal 86016 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 F{}06(PwxN# literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/1.0/nunit.util.dll b/build-support/tools/nant/bin/lib/mono/1.0/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..e9e479ebc692bcf98d021d646b03f0369e2cc390 GIT binary patch literal 86016 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

8BqwhQRwC>?#V$;}58d)BWg3KBPm&z(H!9 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/2.0/NDoc.ExtendedUI.dll b/build-support/tools/nant/bin/lib/mono/2.0/NDoc.ExtendedUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..d075d5d7949b00a5dc60532008c6d7f3cb6aebb8 GIT binary patch literal 16896 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 U&mLamH)bji?EioKKj(q}0naQVx&QzG literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/2.0/nunit.core.dll b/build-support/tools/nant/bin/lib/mono/2.0/nunit.core.dll new file mode 100644 index 0000000000000000000000000000000000000000..a11e62341e9129a55679ae30e6583bb0d88bbf43 GIT binary patch literal 86016 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 z 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 VK%WQtJkaNXJ`ePH;6LYq{|n`G4Zr{Z literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/mono/2.0/nunit.util.dll b/build-support/tools/nant/bin/lib/mono/2.0/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..8fff811dfd850a534f231e120f862b07fafe8d20 GIT binary patch literal 86016 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.0/NDoc.Core.dll b/build-support/tools/nant/bin/lib/net/1.0/NDoc.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..be20f12459c0ad1664c69851e3c4e3dd53a43f61 GIT binary patch literal 208896 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.0/NDoc.Documenter.Msdn.dll b/build-support/tools/nant/bin/lib/net/1.0/NDoc.Documenter.Msdn.dll new file mode 100644 index 0000000000000000000000000000000000000000..dc5b2fc58d93169e1a67722581a5ffb4a1a951f4 GIT binary patch literal 331776 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 TfpZc#CxLSkI46NWSOWhSr!;Iz literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.0/NDoc.ExtendedUI.dll b/build-support/tools/nant/bin/lib/net/1.0/NDoc.ExtendedUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..ea29c6da7cacff43d6306a70daf06a688f280086 GIT binary patch literal 28672 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 Hqrm?KOgTk> literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.0/nunit.framework.dll b/build-support/tools/nant/bin/lib/net/1.0/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..6038b272f16d5382bcb85c2d2eacbb721552ccbe GIT binary patch literal 45056 zcmeHw3z$^ZmG0X6oO<=6pqr)vZKRM^3;O}hLqJi%Ze9wAJQNb67TpDuR(Ca3-3S2; zMv{wBGddb2j+w#7WQ=hpI+A z=F2yC?svO@Rr_CS?X}lld+o=0bhGR;SCT_SF8=-Je-hn|Z~n{^TAu8JI6mRtIPH)9 zWa8aw=}#uE-jpdMdh@xB`BZnJGu6|R>r1RpC-VJ0iA+zT+oB9nc@>GRhWnyNEq&8S9|4sjOQ8tNaHti*nj!F3=01BW0dqu0C4eJ zO3aW?AMBpRrF}$utq~C!az9a30Dj_Pf+!kLjsh>aIM-jM#udDIlYg3JX?oy)OMMN=X20kki<`Ol)8nU?H z?@w`F`P%#2qkA(qef=8`&$#Y;uf6_b_m|K0H63}x)E|8Hk3W5D^ve40EjjJA-|guB z>vK20{>`b=roVc1^OyGBy!7yWe>Y{t1<$;C`Tb*l(z$Hql>FCDxG?ni<0rho@bJm2 zF8=YO_e{9H?jLt0{`yOQcy#ym>f6_*zmgn(?@!;j``PPm{)_wWI{mHXm)>#n-ceIE zjrKg#$!eks?d(+Omv(oef9|o6jhgBbe}i44x8v@I+cHM$?V`1vl?t#B-pK+Zu4tk# zDvX+{2zMnoPBmjJPs^n?lxuVnHxR31USp&F@Z2QJFFJ<$hw=^m zW8Wgiw~)Q}p&gfdPyuW3IYdYJ{cGRCH)3ZhmmExqoj!7k#O5S}NR@ z$e60xKjRKGI{@`nvmay7&qn54%!*QM-sWs$*6B&y$Eau??FJE>*vqv%W(`zY8hpeR zTH+-YDjYXg3wBjgm#5{4*Cj`Rt+%tYA360Osj8+^oLn7vuF%$FwUfknhMOm9*A&J& zIb=r#6!@z$9Ld$=yQ-bfO1Yi1;z=RJE2%PA{?+QH9hu;*46fl;r6WHj(Jp#om7x}!y=@*x{-0S(n z-B`sBYJ5Li> zu4u{|UUSsvpTyjSi~6A==@G(*O)6XB~?YZ zenN}5nL|4j&f0Nn3&`e*o5D$CAFqR9N_q7hQE`Q~w&{z|mOIwBVuY6`VDqN%7^CDN zvD7qCUxa1Lwau1PFpZ%dj?Xdp<`0Gou7sOMYo`yrP_EEW5bHde<1>k=O=RQPMd3$k$UH*hO3CU^d_5%ig9Dft7dXp6V%Nb++6SAq-0#FbmY74BgdYUcnxfY zZUy_^Jke<$?R+&;-!=mKIi`9=p#`L(sYZK+XaUOR)Mn<{9jJ@76?LOprbJ6semp!J z6`Fl5M9xJp?0%#xoQt64t~ELzxs~A-r@kp-#OtaeEfq!*UDp)zRHN&vqp`IfX!8w# zD=v(3!_Cz-ZeGS@3Vb@c#?{eSZYqj7!I44oTpNU=LQRPD)Xj`jA%gTWfDZn&yxBvyAm-y~Nfok!a}(xH<%2oj&;bbbN? zlb-~Vn-1NPr1O)R(-P!NXU?nu$KR_IWnhax6DIBAsN#!bnm-ZByLgkxpTVVSE~UA| zyGQ;)F7Yax|By?(eCB6slz5fM-_0eS{`t4K#4A_6*+GeCJhBn%%%FW9ZS$J02^|jX z^Je2s&Opz+LpYzEXF*5$Z;squu+1kH?+9)-b#Ke&g?Qkl0ovCD|Ky`(Kh~08JF(IF z=VtUXD0hmo;J(ilim}8xAE?87YVa(OJPy4;A02yr$E!Q~!rM1=OZl@cf2gy=C*=)& z4TKo;bp}GlXA?aCMf=5g>fG@N8XxOyKv|PdQG-J%eMA(bzFCyEv-!ZvG30ooduF_0 z)f;baL`&t|9CW_^Be!_gGS`*tWBx&mwo&`UZ4`4V&;~kL%&CC=_x?=wPdJ4AX7^M2 z?-0&WUW{bqwsSAWBEo=hxFgMCvxa6p2O$dBTP&lbKNJ$ z^*Og#&3+t56s{9lLCTe3xju;qZ4Fqz26c?A^h!mNxgt`$QmLx1ZaP|rV{)d5m@jjs zQl(?b(~PrCi(_NfR>z{#o(a}(t~ zI#n;@W7YweCJmuC@FKtgHkPqhl$F|hv5dX*%h(%I=EzYY z*<{5jfbg5?$J+iv8QWGCCY+XSe#G6v;?h`zWX)v-tf8U0Mghyb=MBiMua>cGWkK5|xmDiwRb^~jS+scBrIoGtmj+M9l ztunT)ENGiELHqeo-uCTfY+G5-HfON*^SHe2@077^WyRcZa5JwEusCR~_{TE#tSsm& zuRu08-bL+0?{VKPW82Dtwo7uOyzRTo*tW8u?ULLmZ~J>?Y+G5-c1doOw|!q3+g28| zU6LE+Z9h=Pwv`RYjex~LxpAP3Ju55P<9)Y)OIbf72HAV4j6EyUga;7v(Je7K1B@g* zR%jj}H(F!fjaJ+Y^sdy*HDA=PQ%TjA?KjJSNfgM{UOQv3B-_&yH{CHK1Ol0P|w zealBS$S1iRnmVUI@lY>^OU$tG`B=7DycRWAu;#fLHc0tk+WL?6acOOyv+?9!A$+v-~+``)g&v zG4}J~&|{1h(i>wQpun>hEE(QyWsGTv7D5ken)i-Xel5l{@Vq5|C9rvVjt8lpl}7aB zrbuoqz6L#hfz6Ehlx?I%7dzj`Kk+bt~gh}>|;4>g* z`uogK{Tjkf!%%jZ>DviDH`*!M95deA9NF8(A4-=6Si6F{i0{yLSs=QYi1Ha~KfqDq zI3A$V`?jCtxz*6mo^Vp*XHN;!wnKB#vh+!w<>}nv7{roQf;G*<0?dvISt0UiklAyNKR3mOyK|DMZha|fhwCHxiaKVVAa`(HWCKIa zKNbv_Q*3BRUGcDV{&8zV>WUkutUC1+uIsD`K#W{w>NOZUkRPd?rybt3&=J`0k z+$Qu<`WKWFia95{&2E_TE|+f)?+b@%K_nRo(^*3QJ;Kshl%*-5R|@@$ik%fe`{ zLSGd6JE8GPmQEJhA@p-Xw+Owp@@ti0db*NrzAe=q#Zp3GEPi zs?alpri5N6^gBX-T*ZC7xOzTf@Iv*0>I!-XG)$fG`4Sn95l2_ijrcx7p3gG67|}c( zD1@?ue_ksCQ_xZm9Vh4<56u$Kx`C=t zZ??3z1E>SOognB651k}vpNHlPy3<1)f_@A%7Jn8AdLAeSv{cZ0Kp~)Ig8m3pg(nIB zDrkgGQWw_nrv){5=%<2?_0ThdW_jpYL5n=}oS;=6dR|bA zT+m+v?E!jQ&|d-70lh2eR!{SNLErUcuHupYArRY)2>OL5iz*(KH$7RUAmy-T162ze zCFlqmrFg`WKs9(Dt6p)2%m%6g8Yeav0PV+n?G1v?_Rs`DTRe26pesCdl(g`7Krz%y zsz&;mQ%{ZbnllbP_>D6jbdrngpat$sWGRYj`)34_$jTAr|%nC z^h!5QmGVOv=eXBy2nU+^zWfdXfn+ew40*gJ@^Tc+dWw# z{8hXk{IVyT9{w6lp(~T7-qP?5ShITh@_@cfUE#l_nbd$ilIU968vY0Ttj6tvuA#pO z-$lpMa~`@kd=Ji@b$Gf!bPYWget=G*Cj?zZuY@0>c{HQh$leP-M(wmq&{bojk*Bc2 zeIUq0zJo^c#_2_VG0iYY#(gnu6=dSMnD$zfrNy-0plE$0PD|)fE87h8vPD^-cP)CB zPNk|=Zf`fn=;v4?8wHsbmecGKw6p}BXVI@{Iqeqop!m6x4hT9B+XP=$((3`um4tBH z{+&rlK?kC&c_u9t#I64ds4JlP8QK%j{0!Y5(EJP?2xy)|uLm^Gp{l9ep0RljH3~9$ zy`GjDBwnwlT~@Q5*3({#PNxmDKTz)i`b`_#yqFT<&2$0P$t{YDX=(TppbkMMf>~NC z=-TMzkvDPj+A8QO+KX||(lvrO@|%HfHJbGIk-LEI_t5^xJJdtZdFVjo_tZ=8TBKBg zs_>R3=jVY)L}8!z(2t?Hg*q%!Y8#zxQABO0tsZ(RQl)m#H5S#WFVO849ftkjVGq3o z%`ehHi|W*u=tGMRQ~!g;&M>|lj7(5_Xof|{sLN=nMJ?(I+T@`(BGc4YX}3kktE=b+ zi{`1T>28Y_sB7qHiYH@HqV?)ldeNfu)wk&b4^4pPcc>26xI8KoqU+V2)NIlD zYCkRZ&~#|tOg&Q}l8>mFJg?Ng7?$XTZK zwb7mGG2&N3*_XA^-Reo|u;?oaS!mJK>RH-t(e>&D+Go)|^&&lN(YMvh^s+_!)vNTO zMc-Gyq=wmkdk?BNXof|Pso&BHi+-x!re2GFq28lC7QLqaK(|=*TlGh}-=g<%ws_8> zcgR)mdMFe9tqQA=xPIZ@W}@$_3YE0z9h`eQEb3DuRMw)MYLwb-(QZ|*_$tU)`HC8= z9=7Oe)u3Ls=z29leQ41>HBmJl@7MdbI!ev8XunFTwHAG(j#axXis)9g*P^&?Q~NEd z)6><97LC`l)Vmfn>f_Z&+|gt|`_cEgs@bCV)jZW<(L2Pm~gt-92$7VTFX)d7p@bVmKgqVc+0xhMMVHR@iKu;?R|SBou*=q>6zi{g5l+F{YL z_{q?{7R}UOPlU1zM`&BD=fNNU8Ocz zbiKMp?Y3y2x>nt8(YMw0>VQT2)i>137S-v$QPGqA_Qva*Rl=f1{Y^F3qL0+As>`B? zzFqCGD6YSw_F8nTzEkbDXr}(Ideowm^xf)p58W7DsP9$oJk$D((G~hW)nL(D{eYV7 zq1&S8>K~}AMf21T)h>&k!Z~-ZhrR>N2i2n%%~KDnmo0jVexyF|(Ep5X&_7a%`Gk)- zAw8mI2;x1ppdV2y1erbjCu&nb_7k-$fSyn{ShQU~rS1-(XVlXcU80{?Z&`Gieo>7) zgaqqdMWyt`n7t( zqSw@K)o(0%hu&7vc5eMzdI@>7$U%UDa4}AbxSU+sh{W_vw^pF#Khhq8zi|)~tdL-Wjf@ilypQ5;Kv}m4+>)C?L zxo3o4D(HZU$2QXleYS_{1Z7J!cUknH9-;RNGGjYRKOxARvqtHW3ry=bMxWH9bhAY- z=rOv(qT|(J`aBPfk3Fdy^bU(&&k)S?&kWPQ-0<5jbkhZg92 z8#G&W!$RXrTkHirP0z6Ccr{b65M&}TOLtk+PP6n5L8gBv=vxeu^XCcr1FN~2PS910 zxCOTIpguu23NrOh)@KVcaXDGvU^TOJvcB7(=xMPy&C^d<*=C@F7G;5O(ZDT4Gtiu` z$9kwgmIZ3|(8Z9QqB}fv1!Sk_wI1TD!FJv2A-)=H*SigpGi`_7Yf+Xu^z9ZsOAGV? zLFT$+k$%z2eyNveT%_P*t|pf0#e&S$#4_C_h~x50y-e>gnsS|bhQ7sU%GJaf`r&}) z8T#db<{DjfDz{*+JJ#r_f{e{Ida)oA>vcLC&|Igl3}~*?w+1vnr=JLDeont@HQ&^q z(+#I_d)z{n&e5|i`kg*kpKZ||O6gq&MPG@1s5|vu54{t66Xs6_P=}cBmheygllW(#mMhjmgRCh!ysFqP z+xLAK+}8b~8T9r+;rt5J_up^~<-RD~r75+k=xwR>A5tq+T`I+sbm0`GKF37Hcy*NM zG=ciDVvb8~!XMnDpwEk?)<7Q|N=eR7+XIkZl#*bmw%aujjd(9*UB>l{AF zPLYF57CVy$=@dE0ZP95Oq*LT5;Q9tSu*imU=jluc*igmWOK%MlAlhpHtkgeax-YE22LhlrM zkI)A|E1e&KZpQlpOvlmdm2o`5y)k+&JxK>6KXjg?4=R7?#PD?NTza0ORga)tRrR5c ziRLTdKkl^A+Nu|vHpQN_Q32)W>7uHiga5^DUrNuT2Gpk>4Cez8)2OZWq&V3TC&vkz@*YI*LbY!s}={ zBDs#Pi^uW4&U9)Bx8kju6G7YQ7odj=XO+;;((l0;MMr{G3gBiuoqbeD5LsH1*O z?>QZcIh`nf-n~RPKM;CA_^%4z(Z8l^+%Cc7nbUY7aC2mWbGiGNlUKPjwqBxO|Jy#!4v* zZLE^A(2i;@cf^^xBbXi#x_hMXYlL4be4)EX3BOJ_qnRG8XX=h++BlBsEkX|*Cep)& zKb~pgh*5fVC~?GX>Mm#A5nmBHN?#Vbsvp&h3%=YY_I?Ob*jFl}7Ov}2J-h3;M=(o>o4 z7V4fRWubRF|KvR2Jnj5%XOf$Ar@Hgq#v5L7yd5$EYY5&(gGLjiEs(b2y_YF?+hr;=+OW<{li!8% zlv9hlb9HVDs3{wIhs%6Zo){^Xw@P_1HJbk%&1%2a>KNDhy3iYi25kVhE z+zPhP4T_ukUjIWVh0$}3^)d!pi=Hd#zeX>s!I_G_Ypg&upvOa^=|sdu(>(NDW7dxY zU5I(F@h04O(6E{STBRm}j!=_eZ6v6s8g&%PwV)briXDS;9jKtLVscH^5ZJ_Qh-c!uG=?cB9alS8mBGEzIx8sk( zyMX39$diXP%$~a}*VUg*pF}6w>*=be@*4Vd+9& zO5KIdTt1swPph^S`qJHW`ug+JoqaTaeW5R(>g==imSzfl?YW-5bWdNwGTU?Ay{UYr zkn6Fm1)KX**-YOy%UGW46P{(v@539m>-+oCv^rhrDyp#Syn=gHKEn>1dYN3$ z!c->PpHDAK7YeD3XU~6Z(w-08D28*m!>Ap3+ zLEYYLrZW@ttslM=6^w(nb&g9a(^HJgs=idduW(kTZmbY-}6wz<{${-VK!scgXf^8Rer>S1(Baca4hE$HqYFpeb* z37Y3wF*K$&$C(}He$i5lm^B&<9ijD-VGQ(jz>qA;r&GuVYo;A&V=lj~*zk&Ms&7Ls z-(BPctQDCiQ;I{sdRuQXP%xj_*pphHO)t#nx@}`{^AM6HJ%zqhPiOk{4JCF^;SiDq zTYE9R(p}bpqG#+bZA|x_>u0$C-H)m3ms5GXn!cfQCbV|;Qn!3X+nvq_DidJDtyTa%X9NKA+lVs3-4A7drD9 zGt0Om9RXYzfP=CX`E+|W)4Md?v$1azt;iv7iqQ8ON*gj;J?}i=%jWlV%@?m1cK1!(mS%bope_uv z8EzjNF9mgE3ccCXHech+RJK1&9@D6muzWq+RbLn3lBvHemA?SXi{k3>Fvixk@tdL@N;f8 z|Lhmet8cNWTo((y6HJ$3_6`J=x_|AE4 z#==wymOJ4vZ&|FgW;GEu$#g2v$~5wc$HK!)3cPG%n#qFA)6J~TGVyp9 zFDy?j2bG1HmK5i&Q8jFtn@f1X4J>6wVGyr$kupjHco;%6`8(2`nQp8LV8AWIw9bfKa)33k|;Po`Xk#>DOf93b=n?sBYGPiE`5#f~Rh?No@;TRpWEcv#L zRw=L4vPELUBz?NeukTN)^agK3k+JArpWSv^dK=d$?s7a{o?u}nJA|Mkja6|Ka(8f@ zGt>D3A9Cyg(l^%LpXKw>V8QBqsw>@%m2t4BJ=eP}pV_!6aLV(|t;pjjjkE9Ib~vYd z0*4O229kS2W@CR|(zRI6i%Ul)h4X2lFVl%dH@&`p<3^qqMYRDZcIx(yxGOM!x@8qE z>aNb2l@e2@pXb(+0@kSv&h*=8Sqi%+4(_xl-6!ebY3A0SPp53dd3%+iNOrE+(>Hw@ ztubGq$IW0?+i}A3zQE&jS()m&0P|%dHvgVJn+YQF_UvVu9&Xj_SX>1QkU1XsFV2j-`8e zYuthhjoi}Qg;RC>MXUPxLI@F~j4UFi z%BEDlKnOhcIKuv#<&DSg9VJ7X>FJSnv6WzHlkUm!;q(ny@_2zvQ(rEd&hsJC-y>O& z>p`e-MF&S0;Ao%ApOVjASSU@K0Rs4kF;3xqeX|jydc147l$RT0{-?>AHFYy?*&|;Cx|+iftLk0gKPLM&~8do52P9VykrkFQk2J^6z;Mna33xQ zd9Uy?&@mcZNVvH=Qk5~k$vL_+{E@X}u4=;Q#)>&xE$(&PprFc!9NME`Bo5*PM)>grO00 z=}52LBNX0ofExI zG()%4fx&w00>X2`$N9iRoECdLgqu(@!AIRM%!kY${{IWU&nnk`8NUbgnG-Y^X-;dN z2s|oX==;`Sp95`vs(Pu@F(T)~8mEb|T|g;?Hafv&TLnZnC+XY;v|ggl5$EU^pvjXj zII?~Z&E%pfrMbk@u}50qe)t(yOnRDGs&BmEY3b`;h>{ucK&`gYTAZ&OJI-2OI)55+PMxT@4UQXx)HnN;gDMtQ}W74nW1xgwo+CmstljxftbQJRVLsU}*k| z$8{86TrbKk#A`=Kqb{j<18$$gGH##Oj^}nr$K%m3IZ=GEJkIaPir2L@Xj#=xtT{>y z#GwsY6gALDgdC+!eSD*$(#+z1h=Q<0OL~Jk)xxS~EjGnkabd-yVAW0rFAN?EAy})O zETBb9)V4IlWB6Go{zkx1ibh4<;R0KVMwuInd0Z5j8;ezdThmt4Ce<8MMAxMdBR|*? zXmQvP2L5J2RaF)0uz*V}z&E!cL&X>c#-eBB(x%apF*N3ci~lAby0tTFXL_DUkv-u8 z_st}O#1Lu0od<`%P(cC`b)pp2VI4`B$n!UcgTFb({LO)tVdrQ{gmsv}jz+mBar8~T z(G_7g7@dZSM8G%bu^CZ7HiThmdQvEu0;-_K8# zj>^bD4!dz_tQw<%S%_5vUX6zd%uLk9sKp{-4Htl+>=-9_u49DYL&wlQK(cFS35-NJ zm*I+zMM7qA&@Oz6nx5T>U)#yy!HE;AgfxOt8>*w@6^&g}NGJGmINz7(%;IVyk-@$3 zbgB!r(et=IPSI4{$xa0B$|q9()uFGP$ZbGz6K=}MZFRKfS6ju8XojxPBRA+0xW3wg ziza^bKzO-DYWx=Ug7G$sTFvLz&u zJWSE(*48QZuetIs;PRSw?ZZf2Z|_PZlI@cd)22?H)&ep;aVl=26cT5(CYGl!ydaam zpgFND)43^?&L-Mh6RR)GH7Dk0(_7P-#QfI8nYlbJH4C{d&53qgsb(|j#EKlQ+*+$E z2AQ8~%&*v#!5!B`dp?!f2sNZ}VkO@jDI`{=F{E44T{w1EC<-m-$A|de4;00u*qY04 z#LPzL@b`wR5fkroAD0t8D*g8VZ_ZLKZkgsgve{*Ll4hPtrqlB5lC}QxC`!yLRUbyf z5g3lZa0G@UFdTv52n>Yj1crwTtOF$Q*%%6X9-~5Q}@H?ISzvBAe z@{2{lF_(|5S^RXMs9=?Ey)MMY!tWpSdVMBz^UyB# zZ5r(IzuEZ5zAnZa%u1qTZb9>{`FwEs5l|X>2|R#cD`$%L=J5(Y=iDNi?P4Vl z{S34dv;vZx)NYmESUR{z1HGSG;{6KPV!t?c91CNO{bGMt3XkK%z2t`<=26QQ zl)9kHA2a^N*qY4cM_b*n$&ujfBGe~%&Et8x7k9q(&g1Fl10$1ZpLATC@m9EkRes3O zgh8Na3$gAUx}WW{%5v3Y;HIL!x0#cz;FbHBQP9+;Rp;zU^oK95g3lZ Pa0G@UFdTvZHWBzgCc^{0 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.0/nunit.util.dll b/build-support/tools/nant/bin/lib/net/1.0/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..a778921c7a46c4993280558581b90ceb8c7bba77 GIT binary patch literal 86016 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

ET_N@=6nrKAoUu{7r}O?4e*uU-eFx7ctg=^u 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%0D-C7=}w`U4*bwm*k)fDw? zp&zgz*#^y9JPO4`Wick2&{xo3*O<)?q?z7!;T^OfjgA4kelY=Mg4MwPR41yIwGcFe zhdWb;yOJ2l5y*^Y3xb7?Egli4;4r%A2=toW37V$VMF@yxTY6f$9=)bghtC$ck(k38 zZlY`sZxzgiuz_gq;a*hPO~8~o8=5H&2)>y=&8AD5JE9mRY$XPuR2C)bKs#FBi@buR zNq}xaiw}$BmNv56W;yENx+}QT46*f?8~`~lLlR!In1S_<>gws)?EkM{JgAj!P-^i` zM=jp&zX6dxw|`?AcOPxr#0!wpSMua?`s$uEjx^p-sNQg18W#)AWW8d#zbB0|qUWXi zirzu5knZbA?yUj7tVT~Tt3Ux|2SKvFV|$N@c)7Y9Jvn|p8{QMER0^F!nVvxJn62$ z-`>j|wI#xs{ zUZ&a5MU@m2m7f7X2VD6m&_0ymHZ?c6`0p&qH6fcmxC;=QW!%m&Tb@Gkk;tuF+@nt1 z8q(X4D>)T~MsG$DUVx2f$N+cS^9ve$Xv=LvyXmP!4wYVkR!Dc?r3rkM6nh(P$wP|b}Vyn`B zKo;QAcx=~?2Xkq2JYX9(7wtiTw7Sxi&JE$KQCb@H;YRfh;K`#-d{i)mFt;Xg0uD7w zgB$54WILPbeIhF!k0?ltse5F*jvIS8(2wxEaOxK>xWx*Td>p}t5PW#RhXV=p*2)$w zul<&W+K+-CrNk{x){9$%r z9DH$3sXK8BV)fsu1Xd-mDuGoAtV&>20;>{OmB6Y5Rwb}1fmI2tN?=t2|9?v0KLJP* B8m9mN literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.1/NDoc.Core.dll b/build-support/tools/nant/bin/lib/net/1.1/NDoc.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..84931f641215e7a5bcbda294eb3ea3f8317a1be2 GIT binary patch literal 208896 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 WfCz|y2#A0Ph=2%)fCz{{Ch!I6;S@*! literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.1/NDoc.Documenter.Msdn.dll b/build-support/tools/nant/bin/lib/net/1.1/NDoc.Documenter.Msdn.dll new file mode 100644 index 0000000000000000000000000000000000000000..bcda527436115dc1a66c8fac618a5fbc24d2a01a GIT binary patch literal 331776 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.1/NDoc.ExtendedUI.dll b/build-support/tools/nant/bin/lib/net/1.1/NDoc.ExtendedUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..2132a5c4a4264d8c9adf78cf523d4800d3cb28b7 GIT binary patch literal 28672 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 J@c(86{sYifK0*Kh literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.1/nunit.core.dll b/build-support/tools/nant/bin/lib/net/1.1/nunit.core.dll new file mode 100644 index 0000000000000000000000000000000000000000..df7f9051c360741869fac7ea8fb983c67c009090 GIT binary patch literal 86016 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 F{}06(PwxN# literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/1.1/nunit.util.dll b/build-support/tools/nant/bin/lib/net/1.1/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..e9e479ebc692bcf98d021d646b03f0369e2cc390 GIT binary patch literal 86016 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 WfCz|y2#A0Ph=2%)fCz{{Ch!I6;S@*! literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/2.0/NDoc.Documenter.Msdn.dll b/build-support/tools/nant/bin/lib/net/2.0/NDoc.Documenter.Msdn.dll new file mode 100644 index 0000000000000000000000000000000000000000..bcda527436115dc1a66c8fac618a5fbc24d2a01a GIT binary patch literal 331776 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/2.0/NDoc.ExtendedUI.dll b/build-support/tools/nant/bin/lib/net/2.0/NDoc.ExtendedUI.dll new file mode 100644 index 0000000000000000000000000000000000000000..2132a5c4a4264d8c9adf78cf523d4800d3cb28b7 GIT binary patch literal 28672 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 J@c(86{sYifK0*Kh literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/2.0/nunit.core.dll b/build-support/tools/nant/bin/lib/net/2.0/nunit.core.dll new file mode 100644 index 0000000000000000000000000000000000000000..a11e62341e9129a55679ae30e6583bb0d88bbf43 GIT binary patch literal 86016 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 z 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 VK%WQtJkaNXJ`ePH;6LYq{|n`G4Zr{Z literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/lib/net/2.0/nunit.util.dll b/build-support/tools/nant/bin/lib/net/2.0/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..8fff811dfd850a534f231e120f862b07fafe8d20 GIT binary patch literal 86016 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 literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/bin/log4net.dll b/build-support/tools/nant/bin/log4net.dll new file mode 100644 index 0000000000000000000000000000000000000000..f377286443bab27a6dd01ba90cb0119da005faa8 GIT binary patch literal 241664 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 CP4(XZ literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.DataTypeBase.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.DataTypeBase.html new file mode 100644 index 00000000..cd0aa52c --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.DataTypeBase.html @@ -0,0 +1,56 @@ + + + + + + + + DataTypeBase Element + + + + + + + + +

DataTypeBase

+

Provides the abstract base class for types.

+

Parameters

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

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..4508f639 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.ChainableReader.html @@ -0,0 +1,29 @@ + + + + + + + + ChainableReader Element + + + + + + + + +

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) +
+ \ 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 new file mode 100644 index 00000000..4ab6e927 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.Filter.html @@ -0,0 +1,56 @@ + + + + + + + + Filter Element + + + + + + + + +

Filter

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.0) +
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.PhysicalTextReader.html b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.PhysicalTextReader.html new file mode 100644 index 00000000..4ca8a40e --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Filters.PhysicalTextReader.html @@ -0,0 +1,29 @@ + + + + + + + + PhysicalTextReader Element + + + + + + + + +

PhysicalTextReader

+

Represents a physical TextReader. That is a reader based on a stream.

Used by ChainableReader to represent a Filter based on a TextReader in the chain.

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

Requirements

Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..6b379718 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Target.html @@ -0,0 +1,81 @@ + + + + + + + + Target Element + + + + + + + + +

Target

+

+

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
namestring The name of the target.

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

True
dependsstring Space separated list of targets that this target depends on. False
descriptionstring The description of the target. False
ifstring If true then the target will be executed; otherwise, skipped. The default is true.

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

False
unlessstring 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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..f364b044 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Task.html @@ -0,0 +1,29 @@ + + + + + + + + Task Element + + + + + + + + +

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) +
+ \ 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 new file mode 100644 index 00000000..3fe0d804 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.TaskContainer.html @@ -0,0 +1,68 @@ + + + + + + + + TaskContainer Element + + + + + + + + +

TaskContainer

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..22771896 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.ExternalProgramBase.html @@ -0,0 +1,121 @@ + + + + + + + + ExternalProgramBase Element + + + + + + + + +

ExternalProgramBase

+

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

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..6896ab51 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Tasks.InElement.html @@ -0,0 +1,49 @@ + + + + + + + + InElement Element + + + + + + + + +

InElement

+

+

+

Nested Elements:

+ +

+ + + <items> +

+
+

+

+

+ + + </items> +

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..4fda4873 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Argument.html @@ -0,0 +1,120 @@ + + + + + + + + <arg> Element + + + + + + + + +

<arg>

+

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> +

+

Examples

+
    +
  • +

    A single command-line argument containing a space character.

    +
    +<arg value="-l -a" />
    +    
    +
  • +
  • +

    Two separate command-line arguments.

    +
    +<arg line="-l -a" />
    +    
    +
  • +
  • +

    A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +
    +<arg path="/dir;/dir2:\dir3" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..c26ea3c2 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentSet.html @@ -0,0 +1,65 @@ + + + + + + + + <environment> Element + + + + + + + + +

<environment>

+

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> +

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..82345085 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.EnvironmentVariable.html @@ -0,0 +1,99 @@ + + + + + + + + <env> Element + + + + + + + + +

<env>

+

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> +

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..78e8a058 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Exclude.html @@ -0,0 +1,63 @@ + + + + + + + + FileSet.Exclude Element + + + + + + + + +

FileSet.Exclude

+

+

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..e59bda1e --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.ExcludesFile.html @@ -0,0 +1,63 @@ + + + + + + + + FileSet.ExcludesFile Element + + + + + + + + +

FileSet.ExcludesFile

+

+

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..cf0be6e7 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.Include.html @@ -0,0 +1,75 @@ + + + + + + + + FileSet.Include Element + + + + + + + + +

FileSet.Include

+

+

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..8643831e --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.FileSet.IncludesFile.html @@ -0,0 +1,75 @@ + + + + + + + + FileSet.IncludesFile Element + + + + + + + + +

FileSet.IncludesFile

+

+

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..9953cbc9 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Formatter.html @@ -0,0 +1,69 @@ + + + + + + + + <formatter> Element + + + + + + + + +

<formatter>

+

+

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
patternstring The string pattern to use to format the property. True
propertystring The name of the NAnt property to set. True
ifbool Indicates if the formatter should be used to format the timestamp. If true then the formatter will be used; otherwise, skipped. The default is true. False
unlessbool Indicates if the formatter should be not used to format the timestamp. If false then the formatter will be used; otherwise, skipped. The default is false. False
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..8a93425b --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Option.html @@ -0,0 +1,68 @@ + + + + + + + + <option> Element + + + + + + + + +

<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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..92392760 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.PathElement.html @@ -0,0 +1,74 @@ + + + + + + + + <pathelement> Element + + + + + + + + +

<pathelement>

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..719dbb0c --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.RawXml.html @@ -0,0 +1,33 @@ + + + + + + + + RawXml Element + + + + + + + + +

RawXml

+

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

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..6d1c2975 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.Token.html @@ -0,0 +1,68 @@ + + + + + + + + <token> Element + + + + + + + + +

<token>

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..e1968a6e --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XmlNamespace.html @@ -0,0 +1,68 @@ + + + + + + + + <namespace> Element + + + + + + + + +

<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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..27ac2a21 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltExtensionObject.html @@ -0,0 +1,74 @@ + + + + + + + + <xsltextensionobject> Element + + + + + + + + +

<xsltextensionobject>

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ef7725ae --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.Core.Types.XsltParameter.html @@ -0,0 +1,74 @@ + + + + + + + + <xsltparameter> Element + + + + + + + + +

<xsltparameter>

+

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
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..fd68e9db --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Tasks.CompilerBase.html @@ -0,0 +1,308 @@ + + + + + + + + CompilerBase Element + + + + + + + + +

CompilerBase

+

Provides the abstract base class for compiler tasks.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile The output file created by the compiler. True
targetstring Output type. Possible values are exe, winexe, library or module. True
debugbool Generate debug output. The default is false. False
definestring Define conditional compilation symbol(s). False
keycontainerstring Specifies the key pair container used to strongname the assembly. False
keyfilefile Specifies a strong name key file. False
mainstring Specifies which type contains the Main method that you want to use as the entry point into the program. False
nowarnstring + Deprecated. Specifies a comma-separated list of warnings that should be suppressed by the compiler. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
warnaserrorbool Instructs the compiler to treat all warnings as errors. The default is false. False
win32iconfile Icon to associate with the application. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportskeycontainerbool Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is false. False
supportskeyfilebool Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is false. False
supportsnowarnlistbool 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 false. False
supportspackagereferencesbool Indicates whether package references are supported by compiler for a given target framework. The default is false. False
supportswarnaserrorlistbool Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <warnaserror> +

+
Controls which warnings should be reported as errors.

+

+ + + </warnaserror> +

+ +

+ + + <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> +

+
+ Deprecated. Additional directories to search in for assembly references.

+

+ + + </lib> +

+ +

+ + + <references> +

+
Reference metadata from the specified assembly files.

+

+ + + </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>

+ + +

+ + + <resources> +

+
Resources to embed.
+

+ + + </resources> +

+ +

+ + + <modules> +

+
Link the specified modules into this assembly.

+

+ + + </modules> +

+ +

+ + + <sources> +

+
The set of source files for compilation.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..881881d0 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.AssemblyAttribute.html @@ -0,0 +1,74 @@ + + + + + + + + <attribute> Element + + + + + + + + +

<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
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..9b6b9556 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.CompilerWarning.html @@ -0,0 +1,62 @@ + + + + + + + + CompilerWarning Element + + + + + + + + +

CompilerWarning

+

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
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..824464d5 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.DataTypeCollectionBase.html @@ -0,0 +1,56 @@ + + + + + + + + DataTypeCollectionBase Element + + + + + + + + +

DataTypeCollectionBase

+

Base class for collections that needs to be globally referencable.

+

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) +
+ + \ 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 new file mode 100644 index 00000000..6cba8a76 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.EmbeddedResourceCollection.html @@ -0,0 +1,29 @@ + + + + + + + + EmbeddedResourceCollection Element + + + + + + + + +

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) +
+ \ 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 new file mode 100644 index 00000000..25741f9f --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.LibDirectorySet.html @@ -0,0 +1,57 @@ + + + + + + + + LibDirectorySet Element + + + + + + + + +

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) +

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 new file mode 100644 index 00000000..7d7f6f40 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.NamespaceImport.html @@ -0,0 +1,69 @@ + + + + + + + + <import> Element + + + + + + + + +

<import>

+

Represents a namespace to import.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
ifbool Indicates if the import should be generated. False
namestring + Deprecated. 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
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..0212a53d --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.DotNet.Types.Package.html @@ -0,0 +1,62 @@ + + + + + + + + Package Element + + + + + + + + +

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
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..6496cc53 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit.Types.FormatterElement.html @@ -0,0 +1,70 @@ + + + + + + + + <formatter> Element + + + + + + + + +

<formatter>

+

Represents the FormatterElement of the NUnit task.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
type + FormatterType + 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
+
+

Requirements

+
+ Assembly: NAnt.NUnit (0.85.2478.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 new file mode 100644 index 00000000..3ad5700c --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit1.Types.NUnitTest.html @@ -0,0 +1,92 @@ + + + + + + + + <test> Element + + + + + + + + +

<test>

+

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
+
+

Requirements

+
+ Assembly: NAnt.NUnit1Tasks (0.85.2478.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 new file mode 100644 index 00000000..31b12587 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.Category.html @@ -0,0 +1,62 @@ + + + + + + + + Category Element + + + + + + + + +

Category

+

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
+
+

Requirements

+
+ Assembly: NAnt.NUnit2Tasks (0.85.2478.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 new file mode 100644 index 00000000..f74db1ec --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.NUnit2.Types.NUnit2Test.html @@ -0,0 +1,99 @@ + + + + + + + + <test> Element + + + + + + + + +

<test>

+

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> +

+

Requirements

+
+ Assembly: NAnt.NUnit2Tasks (0.85.2478.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 new file mode 100644 index 00000000..02705cc0 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractCvsTask.html @@ -0,0 +1,230 @@ + + + + + + + + AbstractCvsTask Element + + + + + + + + +

AbstractCvsTask

+

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

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
modulestring The module to perform an operation on. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
commandlinestring 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. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..677127f5 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.SourceControl.Tasks.AbstractSourceControlTask.html @@ -0,0 +1,158 @@ + + + + + + + + AbstractSourceControlTask Element + + + + + + + + +

AbstractSourceControlTask

+

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

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
commandlinestring 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. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
sshfile The executable to use for ssh communication. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..a32e9f61 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.VSNet.Types.WebMap.html @@ -0,0 +1,74 @@ + + + + + + + + WebMap Element + + + + + + + + +

WebMap

+

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
+
+

Requirements

+
+ Assembly: NAnt.VSNetTasks (0.85.2478.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 new file mode 100644 index 00000000..7dd2bfb3 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Library.html @@ -0,0 +1,62 @@ + + + + + + + + Library Element + + + + + + + + +

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
+
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..84f4da29 --- /dev/null +++ b/build-support/tools/nant/doc/help/elements/NAnt.VisualCpp.Types.Symbol.html @@ -0,0 +1,62 @@ + + + + + + + + Symbol Element + + + + + + + + +

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
+
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.0) +
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/enums/NAnt.Compression.Tasks.TarCompressionMethod.html b/build-support/tools/nant/doc/help/enums/NAnt.Compression.Tasks.TarCompressionMethod.html new file mode 100644 index 00000000..4cb832c6 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Compression.Tasks.TarCompressionMethod.html @@ -0,0 +1,54 @@ + + + + + + + + TarCompressionMethod enum + + + + + + + + +

TarCompressionMethod

+

Specifies the compression methods supported by <tar> task.

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
BZip2 BZIP2 compression.
GZip GZIP compression.
None No compression.
+
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..dddef0ee --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Compression.Types.DuplicateHandling.html @@ -0,0 +1,54 @@ + + + + + + + + DuplicateHandling enum + + + + + + + + +

DuplicateHandling

+

Specifies how entries with the same name should be processed.

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
Add Overwrite existing entry with same name.
Fail Report failure when two entries have the same name.
Preserve Preserve existing entry with the same name.
+
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..91f86d39 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Level.html @@ -0,0 +1,66 @@ + + + + + + + + Level enum + + + + + + + + +

Level

+

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

+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Debug Designates fine-grained informational events that are most useful to debug a build process.
Error Designates error events.
Info Designates informational events that are useful for getting a high-level view of the build process.
None Can be used to suppress all messages.
Verbose Designates events that offer a more detailed view of the build process.
Warning Designates potentionally harmful events.
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..db8a5dea --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.AvailableTask.ResourceType.html @@ -0,0 +1,58 @@ + + + + + + + + AvailableTask.ResourceType enum + + + + + + + + +

AvailableTask.ResourceType

+

Defines the possible resource checks.

+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Directory Determines whether a given directory exists.
File Determines whether a given file exists.
Framework Determines whether a given framework is available.
FrameworkSDK Determines whether a given SDK is available.
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..48f4d3c0 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopItem.html @@ -0,0 +1,63 @@ + + + + + + + + LoopTask.LoopItem enum + + + + + + + + +

LoopTask.LoopItem

+

+

+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
File +
Folder +
Line +
String +
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..4d856a1f --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html @@ -0,0 +1,59 @@ + + + + + + + + LoopTask.LoopTrim enum + + + + + + + + +

LoopTask.LoopTrim

+

+

+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Both Remove all white space characters from the beginning and end of the current item.
End Remove all white space characters from the end of the current item.
None Do not remove any white space characters.
Start Remove all white space characters from the beginning of the current item.
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..064f4a6c --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.AssemblyInfoTask.CodeLanguage.html @@ -0,0 +1,54 @@ + + + + + + + + AssemblyInfoTask.CodeLanguage enum + + + + + + + + +

AssemblyInfoTask.CodeLanguage

+

Defines the supported code languages for generating an AssemblyInfo file.

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
CSharp A value for generating C# code.
JScript A value for generating JScript code.
VB A value for generating Visual Basic code.
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..b8924a88 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Tasks.RegsvcsTask.ActionType.html @@ -0,0 +1,54 @@ + + + + + + + + RegsvcsTask.ActionType enum + + + + + + + + +

RegsvcsTask.ActionType

+

Defines the possible actions for a .NET Service.

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
Create Creates the target application.
FindOrCreate Finds or creates the target application.
Uninstall Uninstalls the target application.
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..05673c42 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.DotNet.Types.DebugOutput.html @@ -0,0 +1,84 @@ + + + + + + + + DebugOutput enum + + + + + + + + +

DebugOutput

+

Specifies the type of debugging information generated by the compiler.

+

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

+
+ + + + + + + + + + + + + +
ValueCorresponding field
"true" + Enable +
"false" + None +
+
+

When set to Enabled then the following conditional compilation symbols will also be defined:

+
    +
  • DEBUG
  • +
  • TRACE
  • +
+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Enable Enable attaching a debugger to the running program.
Full Enable attaching a debugger to the running program.
None Create no debug information.
PdbOnly Only display assembler when the running program is attached to the debugger.
+
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..bb1e76a9 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.MSNet.Tasks.ServiceControllerTask.ActionType.html @@ -0,0 +1,62 @@ + + + + + + + + ServiceControllerTask.ActionType enum + + + + + + + + +

ServiceControllerTask.ActionType

+

Defines the actions that can be performed on a service.

+

Fields

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
Continue Continues a paused service.
Pause Pauses a running service.
Restart Restarts a service.
Start Starts a service.
Stop Stops a service.
+
+

Requirements

+
+ Assembly: NAnt.MSNetTasks (0.85.2478.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 new file mode 100644 index 00000000..0ad67614 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.NUnit.Types.FormatterType.html @@ -0,0 +1,50 @@ + + + + + + + + FormatterType enum + + + + + + + + +

FormatterType

+

The built-in formatter types.

+

Fields

+
+ + + + + + + + + + + + + +
FieldDescription
Plain A plaintext formatter.
Xml An XML formatter.
+
+

Requirements

+
+ Assembly: NAnt.NUnit (0.85.2478.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 new file mode 100644 index 00000000..3b03bad1 --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Tasks.ClTask.PrecompiledHeaderMode.html @@ -0,0 +1,54 @@ + + + + + + + + ClTask.PrecompiledHeaderMode enum + + + + + + + + +

ClTask.PrecompiledHeaderMode

+

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

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
AutoCreate Automatically create a precompiled header file if necessary.
Create Create a precompiled header file.
Use Use a (previously generated) precompiled header file.
+
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..dd69c40b --- /dev/null +++ b/build-support/tools/nant/doc/help/enums/NAnt.VisualCpp.Types.CharacterSet.html @@ -0,0 +1,54 @@ + + + + + + + + CharacterSet enum + + + + + + + + +

CharacterSet

+

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

+

Fields

+
+ + + + + + + + + + + + + + + + + +
FieldDescription
MultiByte Multi-byte character set.
NotSet Have the compiler determine the character set.
Unicode Unicode character set.
+
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..3782b25b --- /dev/null +++ b/build-support/tools/nant/doc/help/filters/expandproperties.html @@ -0,0 +1,33 @@ + + + + + + + + <expandproperties> Filter + + + + + + + + +

<expandproperties>

+

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) +
+ \ 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 new file mode 100644 index 00000000..7b1dd183 --- /dev/null +++ b/build-support/tools/nant/doc/help/filters/index.html @@ -0,0 +1,60 @@ + + + + + + + + Filter Reference + + + + + + + + +

Filter Reference

+
+ + + + + + + + + + + + + + + + + + + + + +
FilterSummary
+ expandproperties + Parses NAnt properties and expressions
+ replacestring + Replaces all occurrences of a given string in the original input with user-supplied replacement string.
+ replacetokens + Replaces tokens in the original input with user-supplied values.
+ tabstospaces + Converts tabs to spaces.
+
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/filters/replacestring.html b/build-support/tools/nant/doc/help/filters/replacestring.html new file mode 100644 index 00000000..3ef08906 --- /dev/null +++ b/build-support/tools/nant/doc/help/filters/replacestring.html @@ -0,0 +1,92 @@ + + + + + + + + <replacestring> Filter + + + + + + + + +

<replacestring>

+

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.

+

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

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
fromstring The string to be replaced. True
ignorecasebool Determines if case will be ignored. The default is false. False
tostring The new value for the replaced string. Am empty string is permissible. False
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 occurrences of "3.14" with "PI".

    +
    +<replacestring from="3.14" to="PI" />
    +    
    +
  • +
  • +

    Replace all occurrences of "string", "String", etc. with "System.String".

    +
    +<replacestring from="String" to="System.String" ignorecase="true" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..615145c4 --- /dev/null +++ b/build-support/tools/nant/doc/help/filters/replacetokens.html @@ -0,0 +1,110 @@ + + + + + + + + <replacetokens> Filter + + + + + + + + +

<replacetokens>

+

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.

+

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

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
begintokenchar Marks the beginning of a token. The default is "@". False
endtokenchar Marks the end of a token. The default is "@". False
ignorecasebool Determines if case will be ignored. The default is false. False
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
+
+

Nested Elements:

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Replace all occurrences of the string @DATE@ with the value of property "TODAY".

    +
    +<replacetokens>
    +    <token key="DATE" value="${TODAY}" />
    +</replacetokens>
    +    
    +
  • +
  • +

    Replace all occurrences of the string <DATE> with the value of property "TODAY".

    +
    +<replacetokens begintoken="&lt;" endtoken="&gt;">
    +    <token key="DATE" value="${TODAY}" />
    +</replacetokens>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ebf1bacb --- /dev/null +++ b/build-support/tools/nant/doc/help/filters/tabstospaces.html @@ -0,0 +1,73 @@ + + + + + + + + <tabstospaces> Filter + + + + + + + + +

<tabstospaces>

+

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>.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
tablengthint The number of spaces used when converting a tab. The default is "8". False
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 tabs with four spaces.

    +
    +<tabtospaces tablength="4" />
    +   
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.0) +
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assembly.get-full-name.html b/build-support/tools/nant/doc/help/functions/assembly.get-full-name.html new file mode 100644 index 00000000..36a7b7f5 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assembly.get-full-name.html @@ -0,0 +1,51 @@ + + + + + + + + assembly::get-full-name Function + + + + + + + + +

assembly::get-full-name

+

Gets the full name of the assembly, also known as the display name.

+

Usage

+ string assembly::get-full-name(assembly) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assembly + Assembly + The assembly to get the full name for.
+
+

Return Value

The full name of the assembly, also known as the display name.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assembly.get-location.html b/build-support/tools/nant/doc/help/functions/assembly.get-location.html new file mode 100644 index 00000000..bc91f92a --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assembly.get-location.html @@ -0,0 +1,51 @@ + + + + + + + + assembly::get-location Function + + + + + + + + +

assembly::get-location

+

Gets the physical location, in codebase format, of the loaded file that contains the manifest.

+

Usage

+ string assembly::get-location(assembly) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assembly + Assembly + The assembly to get the location for.
+
+

Return Value

The location of the specified assembly.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assembly.get-name.html b/build-support/tools/nant/doc/help/functions/assembly.get-name.html new file mode 100644 index 00000000..3650271c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assembly.get-name.html @@ -0,0 +1,52 @@ + + + + + + + + assembly::get-name Function + + + + + + + + +

assembly::get-name

+

Gets an AssemblyName for the specified assembly.

+

Usage

+ + AssemblyName assembly::get-name(assembly) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assembly + Assembly + The assembly to get an AssemblyName for.
+
+

Return Value

An AssemblyName for the specified assembly.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

Assembly Functions + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assembly.load-from-file.html b/build-support/tools/nant/doc/help/functions/assembly.load-from-file.html new file mode 100644 index 00000000..a5738dbb --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assembly.load-from-file.html @@ -0,0 +1,52 @@ + + + + + + + + assembly::load-from-file Function + + + + + + + + +

assembly::load-from-file

+

Loads an assembly given its file name or path.

+

Usage

+ + Assembly assembly::load-from-file(assemblyFile) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyFilestringThe name or path of the file that contains the manifest of the assembly.
+
+

Return Value

The loaded assembly.

Exceptions

+ The function will fail in any of the following circumstances: +
  • assemblyFile is an empty String.
  • assemblyFile is not found, or the module you are trying to load does not specify a filename extension.
  • assemblyFile is not a valid assembly.
  • An assembly or module was loaded twice with two different evidences, or the assembly name is longer than MAX_PATH characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assembly.load.html b/build-support/tools/nant/doc/help/functions/assembly.load.html new file mode 100644 index 00000000..06722763 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assembly.load.html @@ -0,0 +1,55 @@ + + + + + + + + assembly::load Function + + + + + + + + +

assembly::load

+

Loads an assembly given the long form of its name.

+

Usage

+ + Assembly assembly::load(assemblyString) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyStringstringThe long form of the assembly name.
+
+

Return Value

The loaded assembly.

Exceptions

+ The function will fail in any of the following circumstances: +
  • assemblyString is a a null reference (Nothing in Visual Basic).
  • assemblyString is not found.

Examples

  • Determine the location of the Microsoft Access 11 Primary Interop Assembly by loading it using its fully qualified name, and copy it to the build directory.

    +<property name="access.pia.path" value="${assembly::get-location(assembly::load('Microsoft.Office.Interop.Access, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'))}" />
    +<copy file="${access.pia.path}" todir="${build.dir}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-assembly-name.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-assembly-name.html new file mode 100644 index 00000000..c854bd2e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-assembly-name.html @@ -0,0 +1,54 @@ + + + + + + + + assemblyname::get-assembly-name Function + + + + + + + + +

assemblyname::get-assembly-name

+

Gets the AssemblyName for a given file.

+

Usage

+ + AssemblyName assemblyname::get-assembly-name(assemblyFile) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyFilestringThe assembly file for which to get the AssemblyName.
+
+

Return Value

An AssemblyName object representing the given file.

Exceptions

+ The function will fail in any of the following circumstances: +
  • assemblyFile is an empty String.
  • assemblyFile does not exist.
  • assemblyFile is not a valid assembly.

Remarks

The assembly is not added to this domain.

Examples

  • Output the full name of the nunit.framework assembly to the build log.

    +<echo message="${assemblyname::get-full-name(assemblyname::get-assembly-name('nunit.framework.dll'))}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-codebase.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-codebase.html new file mode 100644 index 00000000..5d10363e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-codebase.html @@ -0,0 +1,51 @@ + + + + + + + + assemblyname::get-codebase Function + + + + + + + + +

assemblyname::get-codebase

+

Gets the location of the assembly as a URL.

+

Usage

+ string assemblyname::get-codebase(assemblyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyName + AssemblyName + The AssemblyName of the assembly.
+
+

Return Value

The location of the assembly as a URL.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assembly::get-name() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-escaped-codebase.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-escaped-codebase.html new file mode 100644 index 00000000..517e5861 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-escaped-codebase.html @@ -0,0 +1,51 @@ + + + + + + + + assemblyname::get-escaped-codebase Function + + + + + + + + +

assemblyname::get-escaped-codebase

+

Gets the URI, including escape characters, that represents the codebase.

+

Usage

+ string assemblyname::get-escaped-codebase(assemblyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyName + AssemblyName + The AssemblyName of the assembly.
+
+

Return Value

The URI, including escape characters, that represents the codebase.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assembly::get-name() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-full-name.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-full-name.html new file mode 100644 index 00000000..14111c07 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-full-name.html @@ -0,0 +1,53 @@ + + + + + + + + assemblyname::get-full-name Function + + + + + + + + +

assemblyname::get-full-name

+

Gets the full name of the assembly, also known as the display name.

+

Usage

+ string assemblyname::get-full-name(assemblyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyName + AssemblyName + The AssemblyName of the assembly.
+
+

Return Value

The full name of the assembly, also known as the display name.

Examples

  • Output the full name of the nunit.framework assembly to the build log.

    +<echo message="${assemblyname::get-full-name(assemblyname::get-assembly-name('nunit.framework.dll'))}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assembly::get-name() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-name.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-name.html new file mode 100644 index 00000000..76c098a0 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-name.html @@ -0,0 +1,53 @@ + + + + + + + + assemblyname::get-name Function + + + + + + + + +

assemblyname::get-name

+

Gets the simple, unencrypted name of the assembly.

+

Usage

+ string assemblyname::get-name(assemblyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyName + AssemblyName + The AssemblyName of the assembly.
+
+

Return Value

The simple, unencrypted name of the assembly.

Examples

  • Output the simple name of the nunit.framework assembly to the build log.

    +<echo message="${assemblyname::get-name(assemblyname::get-assembly-name('nunit.framework.dll'))}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assembly::get-name() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/assemblyname.get-version.html b/build-support/tools/nant/doc/help/functions/assemblyname.get-version.html new file mode 100644 index 00000000..98a60215 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/assemblyname.get-version.html @@ -0,0 +1,54 @@ + + + + + + + + assemblyname::get-version Function + + + + + + + + +

assemblyname::get-version

+

Gets the version of the assembly.

+

Usage

+ + Version assemblyname::get-version(assemblyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyName + AssemblyName + The AssemblyName of the assembly.
+
+

Return Value

The version of the assembly.

Examples

  • Output the major version of the nunit.framework assembly to the build log.

    +<echo message="${version::get-major-version(assemblyname::get-version(assemblyname::get-assembly-name('nunit.framework.dll')))}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assembly::get-name() | Version Functions + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/bool.parse.html b/build-support/tools/nant/doc/help/functions/bool.parse.html new file mode 100644 index 00000000..d54ef469 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/bool.parse.html @@ -0,0 +1,52 @@ + + + + + + + + bool::parse Function + + + + + + + + +

bool::parse

+

Converts the specified string representation of a logical value to its Boolean equivalent.

+

Usage

+ bool bool::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string containing the value to convert.
+
+

Return Value

+ true if value is equivalent to "True"; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s is not equivalent to TrueString or FalseString.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/bool.to-string.html b/build-support/tools/nant/doc/help/functions/bool.to-string.html new file mode 100644 index 00000000..ca62c399 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/bool.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + bool::to-string Function + + + + + + + + +

bool::to-string

+

Converts the specified Boolean to its equivalent string representation.

+

Usage

+ string bool::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valueboolA Boolean to convert.
+
+

Return Value

"True" if value is true, or "False" if value is false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/convert.to-boolean.html b/build-support/tools/nant/doc/help/functions/convert.to-boolean.html new file mode 100644 index 00000000..2454f822 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/convert.to-boolean.html @@ -0,0 +1,53 @@ + + + + + + + + convert::to-boolean Function + + + + + + + + +

convert::to-boolean

+

+ (Deprecated) +

+

Converts the argument to a boolean

+

Usage

+ bool convert::to-boolean(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valueboolThe string value to be converted to boolean. Must be 'true' or 'false'.
+
+

Return Value

+ value converted to boolean. The function fails with an exception when the conversion is not possible.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/convert.to-datetime.html b/build-support/tools/nant/doc/help/functions/convert.to-datetime.html new file mode 100644 index 00000000..dcc779ae --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/convert.to-datetime.html @@ -0,0 +1,53 @@ + + + + + + + + convert::to-datetime Function + + + + + + + + +

convert::to-datetime

+

+ (Deprecated) +

+

Converts the argument to a datetime.

+

Usage

+ datetime convert::to-datetime(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedatetimevalue to be converted
+
+

Return Value

+ value converted to datetime. The function fails with an exception when the conversion is not possible.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/convert.to-double.html b/build-support/tools/nant/doc/help/functions/convert.to-double.html new file mode 100644 index 00000000..ab95a050 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/convert.to-double.html @@ -0,0 +1,53 @@ + + + + + + + + convert::to-double Function + + + + + + + + +

convert::to-double

+

+ (Deprecated) +

+

Converts the argument to double

+

Usage

+ double convert::to-double(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleThe value to be converted.
+
+

Return Value

+ value converted to double. The function fails with an exception when the conversion is not possible.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/convert.to-int.html b/build-support/tools/nant/doc/help/functions/convert.to-int.html new file mode 100644 index 00000000..82e4b418 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/convert.to-int.html @@ -0,0 +1,53 @@ + + + + + + + + convert::to-int Function + + + + + + + + +

convert::to-int

+

+ (Deprecated) +

+

Converts the argument to an integer.

+

Usage

+ int convert::to-int(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valueintvalue to be converted
+
+

Return Value

+ value converted to integer. The function fails with an exception when the conversion is not possible.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/convert.to-string.html b/build-support/tools/nant/doc/help/functions/convert.to-string.html new file mode 100644 index 00000000..d87e85ca --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/convert.to-string.html @@ -0,0 +1,53 @@ + + + + + + + + convert::to-string Function + + + + + + + + +

convert::to-string

+

+ (Deprecated) +

+

Converts the argument to a string.

+

Usage

+ string convert::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuestringThe value to be converted.
+
+

Return Value

+ value converted to string. The function fails with an exception when the conversion is not possible.

Remarks

Named method ConvertToString as a static ToString method would break CLS compliance.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/cygpath.get-dos-path.html b/build-support/tools/nant/doc/help/functions/cygpath.get-dos-path.html new file mode 100644 index 00000000..ff8100dd --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/cygpath.get-dos-path.html @@ -0,0 +1,51 @@ + + + + + + + + cygpath::get-dos-path Function + + + + + + + + +

cygpath::get-dos-path

+

Gets the DOS (short) form of the specified path.

+

Usage

+ string cygpath::get-dos-path(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to convert.
+
+

Return Value

The DOS (short) form of the specified path.

Exceptions

+ The function will fail in any of the following circumstances: +
  • cygpath could not be started.
  • path could not be converted to a short form.

Requirements

Assembly: NAnt.Win32Tasks (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/cygpath.get-unix-path.html b/build-support/tools/nant/doc/help/functions/cygpath.get-unix-path.html new file mode 100644 index 00000000..fc12a4f8 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/cygpath.get-unix-path.html @@ -0,0 +1,51 @@ + + + + + + + + cygpath::get-unix-path Function + + + + + + + + +

cygpath::get-unix-path

+

Gets the Unix form of the specified path.

+

Usage

+ string cygpath::get-unix-path(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to convert.
+
+

Return Value

The Unix form of the specified path.

Exceptions

+ The function will fail in any of the following circumstances: +
  • cygpath could not be started.
  • path could not be converted to a Unix form.

Requirements

Assembly: NAnt.Win32Tasks (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/cygpath.get-windows-path.html b/build-support/tools/nant/doc/help/functions/cygpath.get-windows-path.html new file mode 100644 index 00000000..7c7c9cb3 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/cygpath.get-windows-path.html @@ -0,0 +1,51 @@ + + + + + + + + cygpath::get-windows-path Function + + + + + + + + +

cygpath::get-windows-path

+

Gets the Windows form of the specified path.

+

Usage

+ string cygpath::get-windows-path(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to convert.
+
+

Return Value

The Windows form of the specified path.

Exceptions

+ The function will fail in any of the following circumstances: +
  • cygpath could not be started.
  • path could not be converted to a Windows form.

Requirements

Assembly: NAnt.Win32Tasks (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-day-of-week.html b/build-support/tools/nant/doc/help/functions/datetime.get-day-of-week.html new file mode 100644 index 00000000..38ade02a --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-day-of-week.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-day-of-week Function + + + + + + + + +

datetime::get-day-of-week

+

Gets the day of the week represented by the specified date.

+

Usage

+ int datetime::get-day-of-week(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the day of the week.
+
+

Return Value

The day of the week, ranging from zero, indicating Sunday, to six, indicating Saturday.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-day-of-year.html b/build-support/tools/nant/doc/help/functions/datetime.get-day-of-year.html new file mode 100644 index 00000000..26ad8c71 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-day-of-year.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-day-of-year Function + + + + + + + + +

datetime::get-day-of-year

+

Gets the day of the year represented by the specified date.

+

Usage

+ int datetime::get-day-of-year(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the day of the year.
+
+

Return Value

The day of the year, between 1 and 366.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-day.html b/build-support/tools/nant/doc/help/functions/datetime.get-day.html new file mode 100644 index 00000000..10130535 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-day.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-day Function + + + + + + + + +

datetime::get-day

+

Gets the day of the month represented by the specified date.

+

Usage

+ int datetime::get-day(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the day of the month.
+
+

Return Value

The day value, between 1 and 31.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-days-in-month.html b/build-support/tools/nant/doc/help/functions/datetime.get-days-in-month.html new file mode 100644 index 00000000..bc1446a2 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-days-in-month.html @@ -0,0 +1,56 @@ + + + + + + + + datetime::get-days-in-month Function + + + + + + + + +

datetime::get-days-in-month

+

Returns the number of days in the specified month of the specified year.

+

Usage

+ int datetime::get-days-in-month(year, month) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
yearintThe year.
monthintThe month (a number ranging from 1 to 12).
+
+

Return Value

The number of days in month for the specified year.

Exceptions

+ The function will fail in any of the following circumstances: +
  • month is less than 1 or greater than 12.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-hour.html b/build-support/tools/nant/doc/help/functions/datetime.get-hour.html new file mode 100644 index 00000000..d0dfa9d4 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-hour.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-hour Function + + + + + + + + +

datetime::get-hour

+

Gets the hour component of the specified date.

+

Usage

+ int datetime::get-hour(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the hour component.
+
+

Return Value

The hour, between 0 and 23.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-millisecond.html b/build-support/tools/nant/doc/help/functions/datetime.get-millisecond.html new file mode 100644 index 00000000..19576dea --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-millisecond.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-millisecond Function + + + + + + + + +

datetime::get-millisecond

+

Gets the milliseconds component of the specified date.

+

Usage

+ int datetime::get-millisecond(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the milliseconds component.
+
+

Return Value

The millisecond, between 0 and 999.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-minute.html b/build-support/tools/nant/doc/help/functions/datetime.get-minute.html new file mode 100644 index 00000000..969b52f7 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-minute.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-minute Function + + + + + + + + +

datetime::get-minute

+

Gets the minute component of the specified date.

+

Usage

+ int datetime::get-minute(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the minute component.
+
+

Return Value

The minute, between 0 and 59.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-month.html b/build-support/tools/nant/doc/help/functions/datetime.get-month.html new file mode 100644 index 00000000..58fac3ba --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-month.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-month Function + + + + + + + + +

datetime::get-month

+

Gets the month component of the specified date.

+

Usage

+ int datetime::get-month(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the month component.
+
+

Return Value

The month, between 1 and 12.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-second.html b/build-support/tools/nant/doc/help/functions/datetime.get-second.html new file mode 100644 index 00000000..fd769976 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-second.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-second Function + + + + + + + + +

datetime::get-second

+

Gets the seconds component of the specified date.

+

Usage

+ int datetime::get-second(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the seconds component.
+
+

Return Value

The seconds, between 0 and 59.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-ticks.html b/build-support/tools/nant/doc/help/functions/datetime.get-ticks.html new file mode 100644 index 00000000..8fccd21c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-ticks.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-ticks Function + + + + + + + + +

datetime::get-ticks

+

Gets the number of ticks that represent the specified date.

+

Usage

+ long datetime::get-ticks(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the number of ticks.
+
+

Return Value

The number of ticks that represent the date and time of the specified date.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.get-year.html b/build-support/tools/nant/doc/help/functions/datetime.get-year.html new file mode 100644 index 00000000..70240baa --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.get-year.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::get-year Function + + + + + + + + +

datetime::get-year

+

Gets the year component of the specified date.

+

Usage

+ int datetime::get-year(date) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
datedatetimeThe date of which to get the year component.
+
+

Return Value

The year, between 1 and 9999.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.is-leap-year.html b/build-support/tools/nant/doc/help/functions/datetime.is-leap-year.html new file mode 100644 index 00000000..99a6a627 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.is-leap-year.html @@ -0,0 +1,50 @@ + + + + + + + + datetime::is-leap-year Function + + + + + + + + +

datetime::is-leap-year

+

Returns an indication whether the specified year is a leap year.

+

Usage

+ bool datetime::is-leap-year(year) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
yearintA 4-digit year.
+
+

Return Value

+ true if year is a leap year; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.now.html b/build-support/tools/nant/doc/help/functions/datetime.now.html new file mode 100644 index 00000000..bba59e80 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.now.html @@ -0,0 +1,34 @@ + + + + + + + + datetime::now Function + + + + + + + + +

datetime::now

+

Gets a DateTime that is the current local date and time on this computer.

+

Usage

+ datetime datetime::now() + +

+

Return Value

A DateTime whose value is the current date and time.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.parse.html b/build-support/tools/nant/doc/help/functions/datetime.parse.html new file mode 100644 index 00000000..04bc73c6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.parse.html @@ -0,0 +1,51 @@ + + + + + + + + datetime::parse Function + + + + + + + + +

datetime::parse

+

Converts the specified string representation of a date and time to its DateTime equivalent.

+

Usage

+ datetime datetime::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string containing a date and time to convert.
+
+

Return Value

A DateTime equivalent to the date and time contained in s.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s does not contain a valid string representation of a date and time.

Remarks

The DateTimeFormatInfo for the invariant culture is used to supply formatting information about s.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/datetime.to-string.html b/build-support/tools/nant/doc/help/functions/datetime.to-string.html new file mode 100644 index 00000000..221655db --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/datetime.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + datetime::to-string Function + + + + + + + + +

datetime::to-string

+

Converts the specified DateTime to its equivalent string representation.

+

Usage

+ string datetime::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedatetimeA DateTime to convert.
+
+

Return Value

A string representation of value formatted using the general format specifier ("G").

Remarks

value is formatted with the DateTimeFormatInfo for the invariant culture.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.exists.html b/build-support/tools/nant/doc/help/functions/directory.exists.html new file mode 100644 index 00000000..7d538586 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.exists.html @@ -0,0 +1,52 @@ + + + + + + + + directory::exists Function + + + + + + + + +

directory::exists

+

Determines whether the given path refers to an existing directory on disk.

+

Usage

+ bool directory::exists(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to test.
+
+

Return Value

+ true if path refers to an existing directory; otherwise, false.

Examples

  • Remove directory "test", if it exists.

    +<delete dir="test" if="${directory::exists('test')}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-creation-time.html b/build-support/tools/nant/doc/help/functions/directory.get-creation-time.html new file mode 100644 index 00000000..b4c708ae --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-creation-time.html @@ -0,0 +1,51 @@ + + + + + + + + directory::get-creation-time Function + + + + + + + + +

directory::get-creation-time

+

Returns the creation date and time of the specified directory.

+

Usage

+ datetime directory::get-creation-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe directory for which to obtain creation date and time information.
+
+

Return Value

The creation date and time of the specified directory.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified directory does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-current-directory.html b/build-support/tools/nant/doc/help/functions/directory.get-current-directory.html new file mode 100644 index 00000000..6fddf12f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-current-directory.html @@ -0,0 +1,34 @@ + + + + + + + + directory::get-current-directory Function + + + + + + + + +

directory::get-current-directory

+

Gets the current working directory.

+

Usage

+ string directory::get-current-directory() + +

+

Return Value

A String containing the path of the current working directory.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-directory-root.html b/build-support/tools/nant/doc/help/functions/directory.get-directory-root.html new file mode 100644 index 00000000..aa35bc95 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-directory-root.html @@ -0,0 +1,51 @@ + + + + + + + + directory::get-directory-root Function + + + + + + + + +

directory::get-directory-root

+

Returns the volume information, root information, or both for the specified path.

+

Usage

+ string directory::get-directory-root(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path for which to retrieve the parent directory.
+
+

Return Value

A string containing the volume information, root information, or both for the specified path.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-last-access-time.html b/build-support/tools/nant/doc/help/functions/directory.get-last-access-time.html new file mode 100644 index 00000000..b1fb6a2d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-last-access-time.html @@ -0,0 +1,51 @@ + + + + + + + + directory::get-last-access-time Function + + + + + + + + +

directory::get-last-access-time

+

Returns the date and time the specified directory was last accessed.

+

Usage

+ datetime directory::get-last-access-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe directory for which to obtain access date and time information.
+
+

Return Value

The date and time the specified directory was last accessed.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified directory does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.
  • The path parameter is in an invalid format.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-last-write-time.html b/build-support/tools/nant/doc/help/functions/directory.get-last-write-time.html new file mode 100644 index 00000000..7c2205eb --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-last-write-time.html @@ -0,0 +1,51 @@ + + + + + + + + directory::get-last-write-time Function + + + + + + + + +

directory::get-last-write-time

+

Returns the date and time the specified directory was last written to.

+

Usage

+ datetime directory::get-last-write-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe directory for which to obtain write date and time information.
+
+

Return Value

The date and time the specified directory was last written to.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified directory does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/directory.get-parent-directory.html b/build-support/tools/nant/doc/help/functions/directory.get-parent-directory.html new file mode 100644 index 00000000..006e5a7e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/directory.get-parent-directory.html @@ -0,0 +1,55 @@ + + + + + + + + directory::get-parent-directory Function + + + + + + + + +

directory::get-parent-directory

+

Retrieves the parent directory of the specified path.

+

Usage

+ string directory::get-parent-directory(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path for which to retrieve the parent directory.
+
+

Return Value

The parent directory, or an empty String if path is the root directory, including the root of a UNC server or share name.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The directory specified by path is read-only.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.
  • The specified path was not found.

Examples

  • Copy "readme.txt" from the current working directory to its parent directory.

    +<property name="current.dir" value="${directory::get-current-directory()}" />
    +<property name="current.dir.parent" value="${directory::get-parent-directory(current.dir)}" />
    +<copy file="${path::combine(current.dir, 'readme.txt')} todir="${current.dir.parent}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/double.parse.html b/build-support/tools/nant/doc/help/functions/double.parse.html new file mode 100644 index 00000000..e29a53fd --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/double.parse.html @@ -0,0 +1,51 @@ + + + + + + + + double::parse Function + + + + + + + + +

double::parse

+

Converts the specified string representation of a number to its double-precision floating point number equivalent.

+

Usage

+ double double::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string containing a number to convert.
+
+

Return Value

A double-precision floating point number equivalent to the numeric value or symbol specified in s.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s is not a number in a valid format.
  • s represents a number less than MinValue or greater than MaxValue.

Remarks

The NumberFormatInfo for the invariant culture is used to supply formatting information about s.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/double.to-string.html b/build-support/tools/nant/doc/help/functions/double.to-string.html new file mode 100644 index 00000000..02ddeef6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/double.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + double::to-string Function + + + + + + + + +

double::to-string

+

Converts the specified Double to its equivalent string representation.

+

Usage

+ string double::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA Double to convert.
+
+

Return Value

The string representation of value formatted using the general format specifier ("G").

Remarks

value is formatted with the NumberFormatInfo for the invariant culture.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-folder-path.html b/build-support/tools/nant/doc/help/functions/environment.get-folder-path.html new file mode 100644 index 00000000..f41345ac --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-folder-path.html @@ -0,0 +1,55 @@ + + + + + + + + environment::get-folder-path Function + + + + + + + + +

environment::get-folder-path

+

Gets the path to the system special folder identified by the specified enumeration.

+

Usage

+ string environment::get-folder-path(folder) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
folder + SpecialFolder + An enumerated constant that identifies a system special folder.
+
+

Return Value

The path to the specified system special folder, if that folder physically exists on your computer; otherwise, the empty string ("").

Exceptions

+ The function will fail in any of the following circumstances: +

Examples

  • Copy "out.log" from the project base directory to the program files directory.

    +<copy file="out.log" todir="${environment::get-folder-path('ProgramFiles')}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-machine-name.html b/build-support/tools/nant/doc/help/functions/environment.get-machine-name.html new file mode 100644 index 00000000..dfb84b52 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-machine-name.html @@ -0,0 +1,36 @@ + + + + + + + + environment::get-machine-name Function + + + + + + + + +

environment::get-machine-name

+

Gets the NetBIOS name of this local computer.

+

Usage

+ string environment::get-machine-name() + +

+

Return Value

The NetBIOS name of this local computer.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The name of this computer cannot be obtained.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-operating-system.html b/build-support/tools/nant/doc/help/functions/environment.get-operating-system.html new file mode 100644 index 00000000..ab7e2e43 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-operating-system.html @@ -0,0 +1,38 @@ + + + + + + + + environment::get-operating-system Function + + + + + + + + +

environment::get-operating-system

+

Gets an OperatingSystem object that represents the current operating system.

+

Usage

+ + OperatingSystem environment::get-operating-system() + +

+

Return Value

An OperatingSystem object that contains the current platform identifier and version number.

Examples

  • Output string representation of the current operating system.

    +<echo message="OS=${operating-system::to-string(environment::get-operating-system())}" />
    +    

    If the operating system is Windows 2000, the output is:

    Microsoft Windows NT 5.0.2195.0
    +  

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

Operating System Functions + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-user-name.html b/build-support/tools/nant/doc/help/functions/environment.get-user-name.html new file mode 100644 index 00000000..798baccd --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-user-name.html @@ -0,0 +1,40 @@ + + + + + + + + environment::get-user-name Function + + + + + + + + +

environment::get-user-name

+

Gets the user name of the person who started the current thread.

+

Usage

+ string environment::get-user-name() + +

+

Return Value

The name of the person logged on to the system who started the current thread.

Examples

  • Modify the home directory of the current user on unix-based systems.

    +<exec program="usermod">
    +    <arg value="-d" />
    +    <arg value="/home/temp" />
    +    <arg value="${environment::get-user-name()}" />
    +</exec>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-variable.html b/build-support/tools/nant/doc/help/functions/environment.get-variable.html new file mode 100644 index 00000000..89ea7d35 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-variable.html @@ -0,0 +1,51 @@ + + + + + + + + environment::get-variable Function + + + + + + + + +

environment::get-variable

+

Returns the value of the specified environment variable.

+

Usage

+ string environment::get-variable(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe environment variable of which the value should be returned.
+
+

Return Value

The value of the specified environment variable.

Exceptions

+ The function will fail in any of the following circumstances: +
  • Environment variable name does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.get-version.html b/build-support/tools/nant/doc/help/functions/environment.get-version.html new file mode 100644 index 00000000..ea53a425 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.get-version.html @@ -0,0 +1,37 @@ + + + + + + + + environment::get-version Function + + + + + + + + +

environment::get-version

+

Gets a Version object that describes the major, minor, build, and revision numbers of the Common Language Runtime.

+

Usage

+ + Version environment::get-version() + +

+

Return Value

A Version object.

Examples

  • Output the major version of the CLR.

    +<echo message="Major version=${version::get-major(environment::get-version())}" />
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/environment.variable-exists.html b/build-support/tools/nant/doc/help/functions/environment.variable-exists.html new file mode 100644 index 00000000..40ccae56 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/environment.variable-exists.html @@ -0,0 +1,54 @@ + + + + + + + + environment::variable-exists Function + + + + + + + + +

environment::variable-exists

+

Gets a value indicating whether the specified environment variable exists.

+

Usage

+ bool environment::variable-exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe environment variable that should be checked.
+
+

Return Value

+ true if the environment variable exists; otherwise, false.

Examples

  • Execute a set of tasks only if the "BUILD_DEBUG" environment variable is set.

    +<if test="${environment::variable-exists('BUILD_DEBUG')}">
    +    ...
    +</if>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.exists.html b/build-support/tools/nant/doc/help/functions/file.exists.html new file mode 100644 index 00000000..499fd5e4 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.exists.html @@ -0,0 +1,54 @@ + + + + + + + + file::exists Function + + + + + + + + +

file::exists

+

Determines whether the specified file exists.

+

Usage

+ bool file::exists(file) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
filestringThe file to check.
+
+

Return Value

+ true if file refers to an existing file; otherwise, false.

Examples

  • Execute a set of tasks, if file "output.xml" does not exist.

    +<if test="${not file::exists('output.xml')}">
    +    ...
    +</if>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.get-creation-time.html b/build-support/tools/nant/doc/help/functions/file.get-creation-time.html new file mode 100644 index 00000000..026a3ea6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.get-creation-time.html @@ -0,0 +1,51 @@ + + + + + + + + file::get-creation-time Function + + + + + + + + +

file::get-creation-time

+

Returns the creation date and time of the specified file.

+

Usage

+ datetime file::get-creation-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe file for which to obtain creation date and time information.
+
+

Return Value

The creation date and time of the specified file.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified file does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.
  • The path parameter is in an invalid format.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.get-last-access-time.html b/build-support/tools/nant/doc/help/functions/file.get-last-access-time.html new file mode 100644 index 00000000..c1f8aa38 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.get-last-access-time.html @@ -0,0 +1,51 @@ + + + + + + + + file::get-last-access-time Function + + + + + + + + +

file::get-last-access-time

+

Returns the date and time the specified file was last accessed.

+

Usage

+ datetime file::get-last-access-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe file for which to obtain access date and time information.
+
+

Return Value

The date and time the specified file was last accessed.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified file does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.
  • The path parameter is in an invalid format.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.get-last-write-time.html b/build-support/tools/nant/doc/help/functions/file.get-last-write-time.html new file mode 100644 index 00000000..a0a43908 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.get-last-write-time.html @@ -0,0 +1,51 @@ + + + + + + + + file::get-last-write-time Function + + + + + + + + +

file::get-last-write-time

+

Returns the date and time the specified file was last written to.

+

Usage

+ datetime file::get-last-write-time(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe file for which to obtain write date and time information.
+
+

Return Value

The date and time the specified file was last written to.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The specified file does not exist.
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.get-length.html b/build-support/tools/nant/doc/help/functions/file.get-length.html new file mode 100644 index 00000000..6d032fe6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.get-length.html @@ -0,0 +1,51 @@ + + + + + + + + file::get-length Function + + + + + + + + +

file::get-length

+

Gets the length of the file.

+

Usage

+ long file::get-length(file) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
filestringfilename
+
+

Return Value

Length in bytes, of the file named file.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The file specified cannot be found.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.is-assembly.html b/build-support/tools/nant/doc/help/functions/file.is-assembly.html new file mode 100644 index 00000000..b37fcac1 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.is-assembly.html @@ -0,0 +1,51 @@ + + + + + + + + file::is-assembly Function + + + + + + + + +

file::is-assembly

+

Checks if a given file is an assembly.

+

Usage

+ bool file::is-assembly(assemblyFile) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
assemblyFilestringThe name or path of the file to be checked.
+
+

Return Value

True if the file is a valid assembly, false if it's not or if the assembly seems corrupted (invalid headers or metadata).

Exceptions

+ The function will fail in any of the following circumstances: +
  • assemblyFile is a null String.
  • assemblyFile is an empty String.
  • assemblyFile is not found, or the file you are trying to check does not specify a filename extension.
  • The caller does not have path discovery permission.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/file.up-to-date.html b/build-support/tools/nant/doc/help/functions/file.up-to-date.html new file mode 100644 index 00000000..55aa4b77 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/file.up-to-date.html @@ -0,0 +1,57 @@ + + + + + + + + file::up-to-date Function + + + + + + + + +

file::up-to-date

+

Determines whether targetFile is more or equal up-to-date than srcFile.

+

Usage

+ bool file::up-to-date(srcFile, targetFile) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
srcFilestringThe file to check against the target file.
targetFilestringThe file for which we want to determine the status.
+
+

Return Value

+ true if targetFile is more or equal up-to-date than srcFile; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • srcFile or targetFile is a zero-length string, contains only white space, or contains one or more invalid characters.
  • The specified path, file name, or both of either srcFile or targetFile exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/fileversioninfo.get-company-name.html b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-company-name.html new file mode 100644 index 00000000..5ea6e74b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-company-name.html @@ -0,0 +1,51 @@ + + + + + + + + fileversioninfo::get-company-name Function + + + + + + + + +

fileversioninfo::get-company-name

+

Gets the name of the company that produced the file.

+

Usage

+ string fileversioninfo::get-company-name(fileVersionInfo) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
fileVersionInfo + FileVersionInfo + A FileVersionInfo instance containing version information about a file.
+
+

Return Value

The name of the company that produced the file.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/fileversioninfo.get-file-version.html b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-file-version.html new file mode 100644 index 00000000..a4580d75 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-file-version.html @@ -0,0 +1,52 @@ + + + + + + + + fileversioninfo::get-file-version Function + + + + + + + + +

fileversioninfo::get-file-version

+

Gets the file version of a file.

+

Usage

+ + Version fileversioninfo::get-file-version(fileVersionInfo) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
fileVersionInfo + FileVersionInfo + A FileVersionInfo instance containing version information about a file.
+
+

Return Value

The file version of a file.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-name.html b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-name.html new file mode 100644 index 00000000..ebe4d3f8 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-name.html @@ -0,0 +1,51 @@ + + + + + + + + fileversioninfo::get-product-name Function + + + + + + + + +

fileversioninfo::get-product-name

+

Gets the name of the product the file is distributed with.

+

Usage

+ string fileversioninfo::get-product-name(fileVersionInfo) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
fileVersionInfo + FileVersionInfo + A FileVersionInfo instance containing version information about a file.
+
+

Return Value

The name of the product the file is distributed with.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-version.html b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-version.html new file mode 100644 index 00000000..0f00d2e8 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-product-version.html @@ -0,0 +1,52 @@ + + + + + + + + fileversioninfo::get-product-version Function + + + + + + + + +

fileversioninfo::get-product-version

+

Gets the product version of a file.

+

Usage

+ + Version fileversioninfo::get-product-version(fileVersionInfo) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
fileVersionInfo + FileVersionInfo + A FileVersionInfo instance containing version information about a file.
+
+

Return Value

The product version of a file.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/fileversioninfo.get-version-info.html b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-version-info.html new file mode 100644 index 00000000..d275e6f2 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/fileversioninfo.get-version-info.html @@ -0,0 +1,52 @@ + + + + + + + + fileversioninfo::get-version-info Function + + + + + + + + +

fileversioninfo::get-version-info

+

Returns a FileVersionInfo representing the version information associated with the specified file.

+

Usage

+ + FileVersionInfo fileversioninfo::get-version-info(fileName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
fileNamestringThe file to retrieve the version information for.
+
+

Return Value

A FileVersionInfo containing information about the file.

Exceptions

+ The function will fail in any of the following circumstances: +
  • The file specified cannot be found.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.exists.html b/build-support/tools/nant/doc/help/functions/framework.exists.html new file mode 100644 index 00000000..604c757d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.exists.html @@ -0,0 +1,50 @@ + + + + + + + + framework::exists Function + + + + + + + + +

framework::exists

+

Checks whether the specified framework exists.

+

Usage

+ bool framework::exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe framework to test.
+
+

Return Value

+ true if the specified framework exists; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-assembly-directory.html b/build-support/tools/nant/doc/help/functions/framework.get-assembly-directory.html new file mode 100644 index 00000000..e87d749c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-assembly-directory.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-assembly-directory Function + + + + + + + + +

framework::get-assembly-directory

+

Gets the assembly directory of the specified framework.

+

Usage

+ string framework::get-assembly-directory(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the assembly directory should be returned.
+
+

Return Value

The assembly directory of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-clr-version.html b/build-support/tools/nant/doc/help/functions/framework.get-clr-version.html new file mode 100644 index 00000000..eb623015 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-clr-version.html @@ -0,0 +1,52 @@ + + + + + + + + framework::get-clr-version Function + + + + + + + + +

framework::get-clr-version

+

Gets the Common Language Runtime version of the specified framework.

+

Usage

+ + Version framework::get-clr-version(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the Common Language Runtime version should be returned.
+
+

Return Value

The Common Language Runtime version of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-description.html b/build-support/tools/nant/doc/help/functions/framework.get-description.html new file mode 100644 index 00000000..caf5e9b8 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-description.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-description Function + + + + + + + + +

framework::get-description

+

Gets the description of the specified framework.

+

Usage

+ string framework::get-description(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the description should be returned.
+
+

Return Value

The description of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-family.html b/build-support/tools/nant/doc/help/functions/framework.get-family.html new file mode 100644 index 00000000..c5d4550e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-family.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-family Function + + + + + + + + +

framework::get-family

+

Gets the family of the specified framework.

+

Usage

+ string framework::get-family(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the family should be returned.
+
+

Return Value

The family of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-framework-directory.html b/build-support/tools/nant/doc/help/functions/framework.get-framework-directory.html new file mode 100644 index 00000000..c1b7aa45 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-framework-directory.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-framework-directory Function + + + + + + + + +

framework::get-framework-directory

+

Gets the framework directory of the specified framework.

+

Usage

+ string framework::get-framework-directory(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the framework directory should be returned.
+
+

Return Value

The framework directory of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-runtime-engine.html b/build-support/tools/nant/doc/help/functions/framework.get-runtime-engine.html new file mode 100644 index 00000000..a561e722 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-runtime-engine.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-runtime-engine Function + + + + + + + + +

framework::get-runtime-engine

+

Gets the runtime engine of the specified framework.

+

Usage

+ string framework::get-runtime-engine(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the runtime engine should be returned.
+
+

Return Value

The full path to the runtime engine of the specified framework, or an empty String if no runtime engine is defined for the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-runtime-framework.html b/build-support/tools/nant/doc/help/functions/framework.get-runtime-framework.html new file mode 100644 index 00000000..6e0bf3fe --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-runtime-framework.html @@ -0,0 +1,34 @@ + + + + + + + + framework::get-runtime-framework Function + + + + + + + + +

framework::get-runtime-framework

+

Gets the identifier of the runtime framework.

+

Usage

+ string framework::get-runtime-framework() + +

+

Return Value

The identifier of the runtime framework.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-sdk-directory.html b/build-support/tools/nant/doc/help/functions/framework.get-sdk-directory.html new file mode 100644 index 00000000..416ad15a --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-sdk-directory.html @@ -0,0 +1,51 @@ + + + + + + + + framework::get-sdk-directory Function + + + + + + + + +

framework::get-sdk-directory

+

Gets the SDK directory of the specified framework.

+

Usage

+ string framework::get-sdk-directory(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the SDK directory should be returned.
+
+

Return Value

The SDK directory of the specified framework, or an empty String if the SDK of the specified framework is not installed.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-target-framework.html b/build-support/tools/nant/doc/help/functions/framework.get-target-framework.html new file mode 100644 index 00000000..55f6f41a --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-target-framework.html @@ -0,0 +1,34 @@ + + + + + + + + framework::get-target-framework Function + + + + + + + + +

framework::get-target-framework

+

Gets the identifier of the current target framework.

+

Usage

+ string framework::get-target-framework() + +

+

Return Value

The identifier of the current target framework.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.get-version.html b/build-support/tools/nant/doc/help/functions/framework.get-version.html new file mode 100644 index 00000000..a499d4fe --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.get-version.html @@ -0,0 +1,52 @@ + + + + + + + + framework::get-version Function + + + + + + + + +

framework::get-version

+

Gets the version of the specified framework.

+

Usage

+ + Version framework::get-version(framework) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
frameworkstringThe framework of which the version should be returned.
+
+

Return Value

The version of the specified framework.

Exceptions

+ The function will fail in any of the following circumstances: +
  • framework is not a valid framework identifier.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/framework.sdk-exists.html b/build-support/tools/nant/doc/help/functions/framework.sdk-exists.html new file mode 100644 index 00000000..0465f830 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/framework.sdk-exists.html @@ -0,0 +1,50 @@ + + + + + + + + framework::sdk-exists Function + + + + + + + + +

framework::sdk-exists

+

Checks whether the SDK for the specified framework is installed.

+

Usage

+ bool framework::sdk-exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe framework to test.
+
+

Return Value

+ true if the SDK for specified framework is installed; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

framework::get-runtime-framework() | framework::get-target-framework() + \ 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 new file mode 100644 index 00000000..c7b96f2c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/index.html @@ -0,0 +1,1261 @@ + + + + + + + + Function Reference + + + + + + + + +

Function Reference

+ Assembly Functions +
+ Conversion Functions +
+ Date/Time Functions +
+ Directory Functions +
+ Environment Functions +
+ File Functions +
+ Math Functions +
+ NAnt Functions +
+ Operating System Functions +
+ Path Functions +
+ String Functions +
+ Unix/Cygwin Functions +
+ Version Functions +
+ + +

Assembly Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ assembly::get-full-name + Gets the full name of the assembly, also known as the display name.
+ assembly::get-location + Gets the physical location, in codebase format, of the loaded file that contains the manifest.
+ assembly::get-name + Gets an AssemblyName for the specified assembly.
+ assembly::load + Loads an assembly given the long form of its name.
+ assembly::load-from-file + Loads an assembly given its file name or path.
+ assemblyname::get-assembly-name + Gets the AssemblyName for a given file.
+ assemblyname::get-codebase + Gets the location of the assembly as a URL.
+ assemblyname::get-escaped-codebase + Gets the URI, including escape characters, that represents the codebase.
+ assemblyname::get-full-name + Gets the full name of the assembly, also known as the display name.
+ assemblyname::get-name + Gets the simple, unencrypted name of the assembly.
+ assemblyname::get-version + Gets the version of the assembly.
+
+ + +

Conversion Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ bool::parse + Converts the specified string representation of a logical value to its Boolean equivalent.
+ bool::to-string + Converts the specified Boolean to its equivalent string representation.
+ + convert::to-boolean + + Converts the argument to a boolean
+ + convert::to-datetime + + Converts the argument to a datetime.
+ + convert::to-double + + Converts the argument to double
+ + convert::to-int + + Converts the argument to an integer.
+ + convert::to-string + + Converts the argument to a string.
+ datetime::parse + Converts the specified string representation of a date and time to its DateTime equivalent.
+ datetime::to-string + Converts the specified DateTime to its equivalent string representation.
+ double::parse + Converts the specified string representation of a number to its double-precision floating point number equivalent.
+ double::to-string + Converts the specified Double to its equivalent string representation.
+ int::parse + Converts the specified string representation of a number to its 32-bit signed integer equivalent.
+ int::to-string + Converts the specified Int32 to its equivalent string representation.
+ long::parse + Converts the specified string representation of a number to its 64-bit signed integer equivalent.
+ long::to-string + Converts the specified Int64 to its equivalent string representation.
+ timespan::parse + Constructs a TimeSpan from a time indicated by a specified string.
+ timespan::to-string + Converts the specified TimeSpan to its equivalent string representation.
+ version::parse + Converts the specified string representation of a version to its Version equivalent.
+ version::to-string + Converts the specified Version to its equivalent string representation.
+
+ + +

Date/Time Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ datetime::get-day + Gets the day of the month represented by the specified date.
+ datetime::get-day-of-week + Gets the day of the week represented by the specified date.
+ datetime::get-day-of-year + Gets the day of the year represented by the specified date.
+ datetime::get-days-in-month + Returns the number of days in the specified month of the specified year.
+ datetime::get-hour + Gets the hour component of the specified date.
+ datetime::get-millisecond + Gets the milliseconds component of the specified date.
+ datetime::get-minute + Gets the minute component of the specified date.
+ datetime::get-month + Gets the month component of the specified date.
+ datetime::get-second + Gets the seconds component of the specified date.
+ datetime::get-ticks + Gets the number of ticks that represent the specified date.
+ datetime::get-year + Gets the year component of the specified date.
+ datetime::is-leap-year + Returns an indication whether the specified year is a leap year.
+ datetime::now + Gets a DateTime that is the current local date and time on this computer.
+ 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 + Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.
+ timespan::from-milliseconds + Returns a TimeSpan that represents a specified number of milliseconds.
+ 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 + Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.
+ timespan::from-ticks + Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.
+ timespan::get-days + Returns the number of whole days represented by the specified TimeSpan.
+ timespan::get-hours + Returns the number of whole hours represented by the specified TimeSpan.
+ timespan::get-milliseconds + Returns the number of whole milliseconds represented by the specified TimeSpan.
+ timespan::get-minutes + Returns the number of whole minutes represented by the specified TimeSpan.
+ timespan::get-seconds + Returns the number of whole seconds represented by the specified TimeSpan.
+ timespan::get-ticks + Returns the number of ticks contained in the specified TimeSpan.
+ 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 + Returns the total number of hours represented by the specified TimeSpan, expressed in whole and fractional hours.
+ 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 + Returns the total number of minutes represented by the specified TimeSpan, expressed in whole and fractional minutes.
+ timespan::get-total-seconds + Returns the total number of seconds represented by the specified TimeSpan, expressed in whole and fractional seconds.
+
+ + +

Directory Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ directory::exists + Determines whether the given path refers to an existing directory on disk.
+ directory::get-creation-time + Returns the creation date and time of the specified directory.
+ directory::get-current-directory + Gets the current working directory.
+ directory::get-directory-root + Returns the volume information, root information, or both for the specified path.
+ directory::get-last-access-time + Returns the date and time the specified directory was last accessed.
+ directory::get-last-write-time + Returns the date and time the specified directory was last written to.
+ directory::get-parent-directory + Retrieves the parent directory of the specified path.
+
+ + +

Environment Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ environment::get-folder-path + Gets the path to the system special folder identified by the specified enumeration.
+ environment::get-machine-name + Gets the NetBIOS name of this local computer.
+ environment::get-operating-system + Gets an OperatingSystem object that represents the current operating system.
+ environment::get-user-name + Gets the user name of the person who started the current thread.
+ environment::get-variable + Returns the value of the specified environment variable.
+ environment::get-version + Gets a Version object that describes the major, minor, build, and revision numbers of the Common Language Runtime.
+ environment::variable-exists + Gets a value indicating whether the specified environment variable exists.
+
+ + +

File Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ file::exists + Determines whether the specified file exists.
+ file::get-creation-time + Returns the creation date and time of the specified file.
+ file::get-last-access-time + Returns the date and time the specified file was last accessed.
+ file::get-last-write-time + Returns the date and time the specified file was last written to.
+ file::get-length + Gets the length of the file.
+ file::is-assembly + Checks if a given file is an assembly.
+ file::up-to-date + Determines whether targetFile is more or equal up-to-date than srcFile.
+
+ + +

Math Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ math::abs + Returns the absolute value of the specified number
+ math::ceiling + Returns the smallest whole number greater than or equal to the specified number
+ math::floor + Returns the largest whole number less than or equal to the specified number.
+ math::round + Rounds the value to the nearest whole number
+
+ + +

NAnt Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ framework::exists + Checks whether the specified framework exists.
+ framework::get-assembly-directory + Gets the assembly directory of the specified framework.
+ framework::get-clr-version + Gets the Common Language Runtime version of the specified framework.
+ framework::get-description + Gets the description of the specified framework.
+ framework::get-family + Gets the family of the specified framework.
+ framework::get-framework-directory + Gets the framework directory of the specified framework.
+ framework::get-runtime-engine + Gets the runtime engine of the specified framework.
+ framework::get-runtime-framework + Gets the identifier of the runtime framework.
+ framework::get-sdk-directory + Gets the SDK directory of the specified framework.
+ framework::get-target-framework + Gets the identifier of the current target framework.
+ framework::get-version + Gets the version of the specified framework.
+ framework::sdk-exists + Checks whether the SDK for the specified framework is installed.
+ nant::get-assembly + Gets the NAnt assembly.
+ nant::get-base-directory + Gets the base directory of the appdomain in which NAnt is running.
+ platform::get-name + Gets the name of the platform on which NAnt is running.
+ platform::is-unix + Checks whether NAnt is running on unix.
+ platform::is-win32 + Checks whether NAnt is running on the win32 platform.
+ project::get-base-directory + Gets the base directory of the current project.
+ project::get-buildfile-path + Gets the local path to the build file.
+ project::get-buildfile-uri + Gets the Uri form of the build file.
+ project::get-default-target + Gets the name of the target that will be executed when no other build targets are specified.
+ project::get-name + Gets the name of the current project.
+ property::exists + Checks whether the specified property exists.
+ property::get-value + Gets the value of the specified property.
+ property::is-dynamic + Checks whether the specified property is a dynamic property.
+ property::is-readonly + Checks whether the specified property is read-only.
+ target::exists + Checks whether the specified target exists.
+ target::get-current-target + Gets the name of the target being executed.
+ target::has-executed + Checks whether the specified target has already been executed.
+ task::exists + Checks whether the specified task exists.
+ task::get-assembly + Returns the Assembly from which the specified task was loaded.
+
+ + +

Operating System Functions

+
+ + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ operating-system::get-platform + Gets a PlatformID value that identifies the operating system platform.
+ operating-system::get-version + Gets a Version object that identifies this operating system.
+ operating-system::to-string + Converts the value of the specified operating system to its equivalent String representation.
+
+ + +

Path Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ path::change-extension + Changes the extension of the path string.
+ path::combine + Combines two paths.
+ path::get-directory-name + Returns the directory information for the specified path string.
+ path::get-extension + Returns the extension for the specified path string.
+ path::get-file-name + Returns the filename for the specified path string.
+ path::get-file-name-without-extension + Returns the filename without extension for the specified path string.
+ path::get-full-path + Returns the fully qualified path.
+ path::get-path-root + Gets the root directory of the specified path.
+ 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 + Gets the path to the temporary directory.
+ path::has-extension + Determines whether a path string includes an extension.
+ path::is-path-rooted + Determines whether a path string is absolute.
+
+ + +

String Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ string::contains + Tests whether the specified string contains the given search string.
+ string::ends-with + Tests whether the specified string ends with the specified suffix string.
+ string::get-length + Returns the length of the specified string.
+ string::index-of + Returns the position of the first occurrence in the specified string of the given search string.
+ string::last-index-of + Returns the position of the last occurrence in the specified string of the given search string.
+ string::pad-left + Returns the given string left-padded to the given length.
+ string::pad-right + Returns the given string right-padded to the given length.
+ string::replace + Returns a string corresponding to the replacement of a given string with another in the specified string.
+ string::starts-with + Tests whether the specified string starts with the specified prefix string.
+ string::substring + Returns a substring of the specified string.
+ string::to-lower + Returns the specified string converted to lowercase.
+ string::to-upper + Returns the specified string converted to uppercase.
+ string::trim + Returns the given string trimmed of whitespace.
+ string::trim-end + Returns the given string trimmed of trailing whitespace.
+ string::trim-start + Returns the given string trimmed of leading whitespace.
+
+ + +

Unix/Cygwin Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ cygpath::get-dos-path + Gets the DOS (short) form of the specified path.
+ cygpath::get-unix-path + Gets the Unix form of the specified path.
+ cygpath::get-windows-path + Gets the Windows form of the specified path.
+ pkg-config::exists + Determines whether the given package exists.
+ pkg-config::get-compile-flags + Gets the compile flags required to compile the package, including all its dependencies.
+ pkg-config::get-link-flags + Gets the link flags required to compile the package, including all its dependencies.
+ pkg-config::get-mod-version + Determines the version of the given package.
+ pkg-config::get-variable + Gets the value of a variable for the specified package.
+ pkg-config::is-atleast-version + Determines whether the given package is at least version version.
+ pkg-config::is-between-version + Determines whether the given package is between two versions.
+ pkg-config::is-exact-version + Determines whether the given package is exactly version version.
+ pkg-config::is-max-version + Determines whether the given package is at no newer than version version.
+
+ + +

Version Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSummary
+ fileversioninfo::get-company-name + Gets the name of the company that produced the file.
+ fileversioninfo::get-file-version + Gets the file version of a file.
+ fileversioninfo::get-product-name + Gets the name of the product the file is distributed with.
+ fileversioninfo::get-product-version + Gets the product version of a file.
+ fileversioninfo::get-version-info + Returns a FileVersionInfo representing the version information associated with the specified file.
+ version::get-build + Gets the value of the build component of a given version.
+ version::get-major + Gets the value of the major component of a given version.
+ version::get-minor + Gets the value of the minor component of a given version.
+ version::get-revision + Gets the value of the revision component of a given version.
+
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/int.parse.html b/build-support/tools/nant/doc/help/functions/int.parse.html new file mode 100644 index 00000000..c0494b95 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/int.parse.html @@ -0,0 +1,51 @@ + + + + + + + + int::parse Function + + + + + + + + +

int::parse

+

Converts the specified string representation of a number to its 32-bit signed integer equivalent.

+

Usage

+ int int::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string containing a number to convert.
+
+

Return Value

A 32-bit signed integer equivalent to the number contained in s.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s is not of the correct format.
  • s represents a number less than MinValue or greater than MaxValue.

Remarks

The NumberFormatInfo for the invariant culture is used to supply formatting information about s.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/int.to-string.html b/build-support/tools/nant/doc/help/functions/int.to-string.html new file mode 100644 index 00000000..b1f990d1 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/int.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + int::to-string Function + + + + + + + + +

int::to-string

+

Converts the specified Int32 to its equivalent string representation.

+

Usage

+ string int::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valueintA Int32 to convert.
+
+

Return Value

The string representation of value, consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.

Remarks

value is formatted with the NumberFormatInfo for the invariant culture.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/long.parse.html b/build-support/tools/nant/doc/help/functions/long.parse.html new file mode 100644 index 00000000..20f5d797 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/long.parse.html @@ -0,0 +1,51 @@ + + + + + + + + long::parse Function + + + + + + + + +

long::parse

+

Converts the specified string representation of a number to its 64-bit signed integer equivalent.

+

Usage

+ long long::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string containing a number to convert.
+
+

Return Value

A 64-bit signed integer equivalent to the number contained in s.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s is not of the correct format.
  • s represents a number less than MinValue or greater than MaxValue.

Remarks

The NumberFormatInfo for the invariant culture is used to supply formatting information about s.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/long.to-string.html b/build-support/tools/nant/doc/help/functions/long.to-string.html new file mode 100644 index 00000000..acf86f2d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/long.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + long::to-string Function + + + + + + + + +

long::to-string

+

Converts the specified Int64 to its equivalent string representation.

+

Usage

+ string long::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuelongA Int64 to convert.
+
+

Return Value

The string representation of value, consisting of a negative sign if the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.

Remarks

value is formatted with the NumberFormatInfo for the invariant culture.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/math.abs.html b/build-support/tools/nant/doc/help/functions/math.abs.html new file mode 100644 index 00000000..efd52b7f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/math.abs.html @@ -0,0 +1,50 @@ + + + + + + + + math::abs Function + + + + + + + + +

math::abs

+

Returns the absolute value of the specified number

+

Usage

+ double math::abs(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoublevalue to take the absolute value from
+
+

Return Value

+ value when value is greater than or equal to zero; otherwise, -value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/math.ceiling.html b/build-support/tools/nant/doc/help/functions/math.ceiling.html new file mode 100644 index 00000000..f04c6600 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/math.ceiling.html @@ -0,0 +1,49 @@ + + + + + + + + math::ceiling Function + + + + + + + + +

math::ceiling

+

Returns the smallest whole number greater than or equal to the specified number

+

Usage

+ double math::ceiling(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoublevalue
+
+

Return Value

The smallest whole number greater than or equal to the specified number.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/math.floor.html b/build-support/tools/nant/doc/help/functions/math.floor.html new file mode 100644 index 00000000..6b3555be --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/math.floor.html @@ -0,0 +1,49 @@ + + + + + + + + math::floor Function + + + + + + + + +

math::floor

+

Returns the largest whole number less than or equal to the specified number.

+

Usage

+ double math::floor(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoublevalue to be , can be anything convertible to a double
+
+

Return Value

The largest whole number less than or equal to the specified number.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/math.round.html b/build-support/tools/nant/doc/help/functions/math.round.html new file mode 100644 index 00000000..93946931 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/math.round.html @@ -0,0 +1,49 @@ + + + + + + + + math::round Function + + + + + + + + +

math::round

+

Rounds the value to the nearest whole number

+

Usage

+ double math::round(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleNumber to be rounded, can be anything convertible to a double.
+
+

Return Value

Rounded value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/nant.get-assembly.html b/build-support/tools/nant/doc/help/functions/nant.get-assembly.html new file mode 100644 index 00000000..92fc7224 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/nant.get-assembly.html @@ -0,0 +1,35 @@ + + + + + + + + nant::get-assembly Function + + + + + + + + +

nant::get-assembly

+

Gets the NAnt assembly.

+

Usage

+ + Assembly nant::get-assembly() + +

+

Return Value

The NAnt assembly.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/nant.get-base-directory.html b/build-support/tools/nant/doc/help/functions/nant.get-base-directory.html new file mode 100644 index 00000000..520d680f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/nant.get-base-directory.html @@ -0,0 +1,34 @@ + + + + + + + + nant::get-base-directory Function + + + + + + + + +

nant::get-base-directory

+

Gets the base directory of the appdomain in which NAnt is running.

+

Usage

+ string nant::get-base-directory() + +

+

Return Value

The base directory of the appdomain in which NAnt is running.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/operating-system.get-platform.html b/build-support/tools/nant/doc/help/functions/operating-system.get-platform.html new file mode 100644 index 00000000..f92c8d70 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/operating-system.get-platform.html @@ -0,0 +1,53 @@ + + + + + + + + operating-system::get-platform Function + + + + + + + + +

operating-system::get-platform

+

Gets a PlatformID value that identifies the operating system platform.

+

Usage

+ + PlatformID operating-system::get-platform(operatingSystem) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
operatingSystem + OperatingSystem + The operating system.
+
+

Return Value

+ PlatformID value that identifies the operating system platform.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

environment::get-operating-system() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/operating-system.get-version.html b/build-support/tools/nant/doc/help/functions/operating-system.get-version.html new file mode 100644 index 00000000..be51ebaa --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/operating-system.get-version.html @@ -0,0 +1,52 @@ + + + + + + + + operating-system::get-version Function + + + + + + + + +

operating-system::get-version

+

Gets a Version object that identifies this operating system.

+

Usage

+ + Version operating-system::get-version(operatingSystem) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
operatingSystem + OperatingSystem + The operating system.
+
+

Return Value

A Version object that describes the major version, minor version, build, and revision of the operating system.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

environment::get-operating-system() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/operating-system.to-string.html b/build-support/tools/nant/doc/help/functions/operating-system.to-string.html new file mode 100644 index 00000000..41653bc5 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/operating-system.to-string.html @@ -0,0 +1,54 @@ + + + + + + + + operating-system::to-string Function + + + + + + + + +

operating-system::to-string

+

Converts the value of the specified operating system to its equivalent String representation.

+

Usage

+ string operating-system::to-string(operatingSystem) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
operatingSystem + OperatingSystem + The operating system.
+
+

Return Value

The String representation of operatingSystem.

Examples

  • Output string representation of the current operating system.

    +<echo message="OS=${operating-system::to-string(environment::get-operating-system())}" />
    +    

    If the operating system is Windows 2000, the output is:

    Microsoft Windows NT 5.0.2195.0
    +  

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

environment::get-operating-system() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.change-extension.html b/build-support/tools/nant/doc/help/functions/path.change-extension.html new file mode 100644 index 00000000..e51d425b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.change-extension.html @@ -0,0 +1,59 @@ + + + + + + + + path::change-extension Function + + + + + + + + +

path::change-extension

+

Changes the extension of the path string.

+

Usage

+ string path::change-extension(path, extension) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
pathstringThe path information to modify. The path cannot contain any of the characters defined in InvalidPathCharsInvalidPathChars.
extensionstringThe new extension (with a leading period). Specify a null reference to remove an existing extension from path.
+
+

Return Value

+

A string containing the modified path information.

+

On Windows-based desktop platforms, if path is an empty String, the path information is returned unmodified. If path has no extension, the returned path String contains extension appended to the end of path.

+

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Remarks

For more information see the Path documentation.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.combine.html b/build-support/tools/nant/doc/help/functions/path.combine.html new file mode 100644 index 00000000..e4c840f2 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.combine.html @@ -0,0 +1,56 @@ + + + + + + + + path::combine Function + + + + + + + + +

path::combine

+

Combines two paths.

+

Usage

+ string path::combine(path1, path2) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
path1stringfirst path
path2stringsecond path
+
+

Return Value

A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. If path2 contains an absolute path, this method returns path2.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path1 or path2 contain one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-directory-name.html b/build-support/tools/nant/doc/help/functions/path.get-directory-name.html new file mode 100644 index 00000000..327e148b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-directory-name.html @@ -0,0 +1,51 @@ + + + + + + + + path::get-directory-name Function + + + + + + + + +

path::get-directory-name

+

Returns the directory information for the specified path string.

+

Usage

+ string path::get-directory-name(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path of a file or directory.
+
+

Return Value

A String containing directory information for path, or an empty String if path denotes a root directory, or does not contain directory information.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains invalid characters, is empty, or contains only white spaces.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-extension.html b/build-support/tools/nant/doc/help/functions/path.get-extension.html new file mode 100644 index 00000000..d65028f1 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-extension.html @@ -0,0 +1,51 @@ + + + + + + + + path::get-extension Function + + + + + + + + +

path::get-extension

+

Returns the extension for the specified path string.

+

Usage

+ string path::get-extension(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path string from which to get the extension.
+
+

Return Value

A String containing the extension of the specified path (including the "."), or an empty String if path does not have extension information.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-file-name-without-extension.html b/build-support/tools/nant/doc/help/functions/path.get-file-name-without-extension.html new file mode 100644 index 00000000..af06fb27 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-file-name-without-extension.html @@ -0,0 +1,51 @@ + + + + + + + + path::get-file-name-without-extension Function + + + + + + + + +

path::get-file-name-without-extension

+

Returns the filename without extension for the specified path string.

+

Usage

+ string path::get-file-name-without-extension(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path of the file.
+
+

Return Value

A String containing the String returned by path::get-file-name(), minus the last period (.) and all characters following it.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-file-name.html b/build-support/tools/nant/doc/help/functions/path.get-file-name.html new file mode 100644 index 00000000..1fb5e3ed --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-file-name.html @@ -0,0 +1,54 @@ + + + + + + + + path::get-file-name Function + + + + + + + + +

path::get-file-name

+

Returns the filename for the specified path string.

+

Usage

+ string path::get-file-name(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path string from which to obtain the file name and extension.
+
+

Return Value

+

A String consisting of the characters after the last directory character in path.

+

If the last character of path is a directory or volume separator character, an empty String is returned.

+

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-full-path.html b/build-support/tools/nant/doc/help/functions/path.get-full-path.html new file mode 100644 index 00000000..51ab0cca --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-full-path.html @@ -0,0 +1,51 @@ + + + + + + + + path::get-full-path Function + + + + + + + + +

path::get-full-path

+

Returns the fully qualified path.

+

Usage

+ string path::get-full-path(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe file or directory for which to obtain absolute path information.
+
+

Return Value

A string containing the fully qualified location of path, such as "C:\MyFile.txt".

Exceptions

+ The function will fail in any of the following circumstances: +
  • path is a zero-length string, contains only white space, or contains one or more invalid characters.
  • path contains a colon (":").
  • The specified path, file name, or both exceed the system-defined maximum length.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-path-root.html b/build-support/tools/nant/doc/help/functions/path.get-path-root.html new file mode 100644 index 00000000..d4b3b2ad --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-path-root.html @@ -0,0 +1,51 @@ + + + + + + + + path::get-path-root Function + + + + + + + + +

path::get-path-root

+

Gets the root directory of the specified path.

+

Usage

+ string path::get-path-root(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path from which to obtain root directory information.
+
+

Return Value

A String containing the root directory of path, such as "C:\", or an empty String if path does not contain root directory information.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains invalid characters, or is empty.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-temp-file-name.html b/build-support/tools/nant/doc/help/functions/path.get-temp-file-name.html new file mode 100644 index 00000000..ebb1d7e4 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-temp-file-name.html @@ -0,0 +1,34 @@ + + + + + + + + path::get-temp-file-name Function + + + + + + + + +

path::get-temp-file-name

+

Returns a uniquely named zero-byte temporary file on disk and returns the full path to that file.

+

Usage

+ string path::get-temp-file-name() + +

+

Return Value

A String containing the name of the temporary file.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.get-temp-path.html b/build-support/tools/nant/doc/help/functions/path.get-temp-path.html new file mode 100644 index 00000000..0ca675bf --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.get-temp-path.html @@ -0,0 +1,34 @@ + + + + + + + + path::get-temp-path Function + + + + + + + + +

path::get-temp-path

+

Gets the path to the temporary directory.

+

Usage

+ string path::get-temp-path() + +

+

Return Value

A String containing the path information of a temporary directory.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.has-extension.html b/build-support/tools/nant/doc/help/functions/path.has-extension.html new file mode 100644 index 00000000..f207729b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.has-extension.html @@ -0,0 +1,52 @@ + + + + + + + + path::has-extension Function + + + + + + + + +

path::has-extension

+

Determines whether a path string includes an extension.

+

Usage

+ bool path::has-extension(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to search for an extension.
+
+

Return Value

+ true. if the characters that follow the last directory separator or volume separator in the path include a period (.) followed by one or more characters; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/path.is-path-rooted.html b/build-support/tools/nant/doc/help/functions/path.is-path-rooted.html new file mode 100644 index 00000000..f1c9312d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/path.is-path-rooted.html @@ -0,0 +1,52 @@ + + + + + + + + path::is-path-rooted Function + + + + + + + + +

path::is-path-rooted

+

Determines whether a path string is absolute.

+

Usage

+ bool path::is-path-rooted(path) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
pathstringThe path to test.
+
+

Return Value

+ true if path contains an absolute path; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • path contains one or more invalid characters.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.exists.html b/build-support/tools/nant/doc/help/functions/pkg-config.exists.html new file mode 100644 index 00000000..03a53baf --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.exists.html @@ -0,0 +1,52 @@ + + + + + + + + pkg-config::exists Function + + + + + + + + +

pkg-config::exists

+

Determines whether the given package exists.

+

Usage

+ bool pkg-config::exists(package) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
packagestringThe package to check.
+
+

Return Value

+ true if the package exists; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.get-compile-flags.html b/build-support/tools/nant/doc/help/functions/pkg-config.get-compile-flags.html new file mode 100644 index 00000000..b539d606 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.get-compile-flags.html @@ -0,0 +1,51 @@ + + + + + + + + pkg-config::get-compile-flags Function + + + + + + + + +

pkg-config::get-compile-flags

+

Gets the compile flags required to compile the package, including all its dependencies.

+

Usage

+ string pkg-config::get-compile-flags(package) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
packagestringThe package for which the compile flags should be retrieved.
+
+

Return Value

The pre-processor and compile flags required to compile the package.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.
  • package does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.get-link-flags.html b/build-support/tools/nant/doc/help/functions/pkg-config.get-link-flags.html new file mode 100644 index 00000000..55f3cc69 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.get-link-flags.html @@ -0,0 +1,51 @@ + + + + + + + + pkg-config::get-link-flags Function + + + + + + + + +

pkg-config::get-link-flags

+

Gets the link flags required to compile the package, including all its dependencies.

+

Usage

+ string pkg-config::get-link-flags(package) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
packagestringThe package for which the link flags should be retrieved.
+
+

Return Value

The link flags required to compile the package.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.
  • package does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.get-mod-version.html b/build-support/tools/nant/doc/help/functions/pkg-config.get-mod-version.html new file mode 100644 index 00000000..6806d6fa --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.get-mod-version.html @@ -0,0 +1,51 @@ + + + + + + + + pkg-config::get-mod-version Function + + + + + + + + +

pkg-config::get-mod-version

+

Determines the version of the given package.

+

Usage

+ string pkg-config::get-mod-version(package) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
packagestringThe package to get the version of.
+
+

Return Value

The version of the given package.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.
  • package does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.get-variable.html b/build-support/tools/nant/doc/help/functions/pkg-config.get-variable.html new file mode 100644 index 00000000..c2cfb7cc --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.get-variable.html @@ -0,0 +1,56 @@ + + + + + + + + pkg-config::get-variable Function + + + + + + + + +

pkg-config::get-variable

+

Gets the value of a variable for the specified package.

+

Usage

+ string pkg-config::get-variable(package, name) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
packagestringThe package for which the variable should be retrieved.
namestringThe name of the variable.
+
+

Return Value

The value of variable name for the specified package.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.
  • package does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.is-atleast-version.html b/build-support/tools/nant/doc/help/functions/pkg-config.is-atleast-version.html new file mode 100644 index 00000000..a9fc1ab6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.is-atleast-version.html @@ -0,0 +1,57 @@ + + + + + + + + pkg-config::is-atleast-version Function + + + + + + + + +

pkg-config::is-atleast-version

+

Determines whether the given package is at least version version.

+

Usage

+ bool pkg-config::is-atleast-version(package, version) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
packagestringThe package to check.
versionstringThe version the package should at least have.
+
+

Return Value

+ true if the given package is at least version version; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.is-between-version.html b/build-support/tools/nant/doc/help/functions/pkg-config.is-between-version.html new file mode 100644 index 00000000..4930a847 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.is-between-version.html @@ -0,0 +1,62 @@ + + + + + + + + pkg-config::is-between-version Function + + + + + + + + +

pkg-config::is-between-version

+

Determines whether the given package is between two versions.

+

Usage

+ bool pkg-config::is-between-version(package, minVersion, maxVersion) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
packagestringThe package to check.
minVersionstringThe version the package should at least have.
maxVersionstringThe version the package should maximum have.
+
+

Return Value

+ true if the given package is between minVersion and maxVersion; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.is-exact-version.html b/build-support/tools/nant/doc/help/functions/pkg-config.is-exact-version.html new file mode 100644 index 00000000..3e6338d4 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.is-exact-version.html @@ -0,0 +1,57 @@ + + + + + + + + pkg-config::is-exact-version Function + + + + + + + + +

pkg-config::is-exact-version

+

Determines whether the given package is exactly version version.

+

Usage

+ bool pkg-config::is-exact-version(package, version) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
packagestringThe package to check.
versionstringThe version the package should have.
+
+

Return Value

+ true if the given package is exactly version version; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/pkg-config.is-max-version.html b/build-support/tools/nant/doc/help/functions/pkg-config.is-max-version.html new file mode 100644 index 00000000..bec6436f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/pkg-config.is-max-version.html @@ -0,0 +1,57 @@ + + + + + + + + pkg-config::is-max-version Function + + + + + + + + +

pkg-config::is-max-version

+

Determines whether the given package is at no newer than version version.

+

Usage

+ bool pkg-config::is-max-version(package, version) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
packagestringThe package to check.
versionstringThe version the package should maximum have.
+
+

Return Value

+ true if the given package is at no newer than version version; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • pkg-config could not be started.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/platform.get-name.html b/build-support/tools/nant/doc/help/functions/platform.get-name.html new file mode 100644 index 00000000..c4eeda4d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/platform.get-name.html @@ -0,0 +1,34 @@ + + + + + + + + platform::get-name Function + + + + + + + + +

platform::get-name

+

Gets the name of the platform on which NAnt is running.

+

Usage

+ string platform::get-name() + +

+

Return Value

The name of the platform on which NAnt is running.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/platform.is-unix.html b/build-support/tools/nant/doc/help/functions/platform.is-unix.html new file mode 100644 index 00000000..542da0cc --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/platform.is-unix.html @@ -0,0 +1,35 @@ + + + + + + + + platform::is-unix Function + + + + + + + + +

platform::is-unix

+

Checks whether NAnt is running on unix.

+

Usage

+ bool platform::is-unix() + +

+

Return Value

+ true if NAnt is running on unix; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/platform.is-win32.html b/build-support/tools/nant/doc/help/functions/platform.is-win32.html new file mode 100644 index 00000000..91789c86 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/platform.is-win32.html @@ -0,0 +1,35 @@ + + + + + + + + platform::is-win32 Function + + + + + + + + +

platform::is-win32

+

Checks whether NAnt is running on the win32 platform.

+

Usage

+ bool platform::is-win32() + +

+

Return Value

+ true if NAnt is running on the win32 platform; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/project.get-base-directory.html b/build-support/tools/nant/doc/help/functions/project.get-base-directory.html new file mode 100644 index 00000000..77177bf6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/project.get-base-directory.html @@ -0,0 +1,34 @@ + + + + + + + + project::get-base-directory Function + + + + + + + + +

project::get-base-directory

+

Gets the base directory of the current project.

+

Usage

+ string project::get-base-directory() + +

+

Return Value

The base directory of the current project.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/project.get-buildfile-path.html b/build-support/tools/nant/doc/help/functions/project.get-buildfile-path.html new file mode 100644 index 00000000..84d0f83e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/project.get-buildfile-path.html @@ -0,0 +1,34 @@ + + + + + + + + project::get-buildfile-path Function + + + + + + + + +

project::get-buildfile-path

+

Gets the local path to the build file.

+

Usage

+ string project::get-buildfile-path() + +

+

Return Value

The local path of the build file, or an empty String if the project is not file backed.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/project.get-buildfile-uri.html b/build-support/tools/nant/doc/help/functions/project.get-buildfile-uri.html new file mode 100644 index 00000000..a953865b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/project.get-buildfile-uri.html @@ -0,0 +1,34 @@ + + + + + + + + project::get-buildfile-uri Function + + + + + + + + +

project::get-buildfile-uri

+

Gets the Uri form of the build file.

+

Usage

+ string project::get-buildfile-uri() + +

+

Return Value

The Uri form of the build file, or an empty String if the project is not file backed.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/project.get-default-target.html b/build-support/tools/nant/doc/help/functions/project.get-default-target.html new file mode 100644 index 00000000..4af7179f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/project.get-default-target.html @@ -0,0 +1,34 @@ + + + + + + + + project::get-default-target Function + + + + + + + + +

project::get-default-target

+

Gets the name of the target that will be executed when no other build targets are specified.

+

Usage

+ string project::get-default-target() + +

+

Return Value

The name of the target that will be executed when no other build targets are specified, or an empty String if no default target is defined for the project.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/project.get-name.html b/build-support/tools/nant/doc/help/functions/project.get-name.html new file mode 100644 index 00000000..00ae504f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/project.get-name.html @@ -0,0 +1,34 @@ + + + + + + + + project::get-name Function + + + + + + + + +

project::get-name

+

Gets the name of the current project.

+

Usage

+ string project::get-name() + +

+

Return Value

The name of the current project, or an empty String if no name is specified in the build file.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/property.exists.html b/build-support/tools/nant/doc/help/functions/property.exists.html new file mode 100644 index 00000000..5ab82418 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/property.exists.html @@ -0,0 +1,56 @@ + + + + + + + + property::exists Function + + + + + + + + +

property::exists

+

Checks whether the specified property exists.

+

Usage

+ bool property::exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe property to test.
+
+

Return Value

+ true if the specified property exists; otherwise, false.

Examples

  • Execute a set of tasks if the "build.debug" property exists.

    +<if test="${property::exists('build.debug')}">
    +    <echo message="Starting debug build" />
    +    <call target="init-debug" />
    +    <call target="build" />
    +</if>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/property.get-value.html b/build-support/tools/nant/doc/help/functions/property.get-value.html new file mode 100644 index 00000000..2cd59e44 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/property.get-value.html @@ -0,0 +1,49 @@ + + + + + + + + property::get-value Function + + + + + + + + +

property::get-value

+

Gets the value of the specified property.

+

Usage

+ string property::get-value(propertyName) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
propertyNamestringThe name of the property to get the value of.
+
+

Return Value

The value of the specified property.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/property.is-dynamic.html b/build-support/tools/nant/doc/help/functions/property.is-dynamic.html new file mode 100644 index 00000000..d086ecf4 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/property.is-dynamic.html @@ -0,0 +1,52 @@ + + + + + + + + property::is-dynamic Function + + + + + + + + +

property::is-dynamic

+

Checks whether the specified property is a dynamic property.

+

Usage

+ bool property::is-dynamic(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe property to test.
+
+

Return Value

+ true if the specified property is a dynamic property; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • Property name has not been set.

Examples

  • Check whether the "debug" property is a dynamic property.

    property::is-dynamic('debug')

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/property.is-readonly.html b/build-support/tools/nant/doc/help/functions/property.is-readonly.html new file mode 100644 index 00000000..7921f387 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/property.is-readonly.html @@ -0,0 +1,52 @@ + + + + + + + + property::is-readonly Function + + + + + + + + +

property::is-readonly

+

Checks whether the specified property is read-only.

+

Usage

+ bool property::is-readonly(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe property to test.
+
+

Return Value

+ true if the specified property is read-only; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • Property name has not been set.

Examples

  • Check whether the "debug" property is read-only.

    property::is-readonly('debug')

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.contains.html b/build-support/tools/nant/doc/help/functions/string.contains.html new file mode 100644 index 00000000..8b2919ee --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.contains.html @@ -0,0 +1,55 @@ + + + + + + + + string::contains Function + + + + + + + + +

string::contains

+

Tests whether the specified string contains the given search string.

+

Usage

+ bool string::contains(source, value) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
sourcestringThe string to search.
valuestringThe string to locate within source.
+
+

Return Value

+ true if value is found in source; otherwise, false.

Remarks

This function performs a case-sensitive word search using the invariant culture.

Examples

  • string::contains('testing string', 'test') ==> true
  • string::contains('testing string', '') ==> true
  • string::contains('testing string', 'Test') ==> false
  • string::contains('testing string', 'foo') ==> false

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.ends-with.html b/build-support/tools/nant/doc/help/functions/string.ends-with.html new file mode 100644 index 00000000..c83004b1 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.ends-with.html @@ -0,0 +1,55 @@ + + + + + + + + string::ends-with Function + + + + + + + + +

string::ends-with

+

Tests whether the specified string ends with the specified suffix string.

+

Usage

+ bool string::ends-with(s1, s2) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
s1stringtest string
s2stringsuffix string
+
+

Return Value

+ true when s2 is a suffix for the string s1. Meaning, the characters at the end of s1 are identical to s2; otherwise, false.

Remarks

This function performs a case-sensitive word search using the invariant culture.

Examples

  • 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

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.get-length.html b/build-support/tools/nant/doc/help/functions/string.get-length.html new file mode 100644 index 00000000..d3207e2c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.get-length.html @@ -0,0 +1,49 @@ + + + + + + + + string::get-length Function + + + + + + + + +

string::get-length

+

Returns the length of the specified string.

+

Usage

+ int string::get-length(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string's length.

Examples

  • string::get-length('foo') ==> 3
  • string::get-length('') ==> 0

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.index-of.html b/build-support/tools/nant/doc/help/functions/string.index-of.html new file mode 100644 index 00000000..a9ead66a --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.index-of.html @@ -0,0 +1,57 @@ + + + + + + + + string::index-of Function + + + + + + + + +

string::index-of

+

Returns the position of the first occurrence in the specified string of the given search string.

+

Usage

+ int string::index-of(source, value) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
sourcestringThe string to search.
valuestringThe string to locate within source.
+
+

Return Value

+

The lowest-index position of value in source if it is found, or -1 if source does not contain value.

+

If value is an empty string, the return value will always be 0.

+

Remarks

This function performs a case-sensitive word search using the invariant culture.

Examples

  • 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

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.last-index-of.html b/build-support/tools/nant/doc/help/functions/string.last-index-of.html new file mode 100644 index 00000000..0c2129cd --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.last-index-of.html @@ -0,0 +1,57 @@ + + + + + + + + string::last-index-of Function + + + + + + + + +

string::last-index-of

+

Returns the position of the last occurrence in the specified string of the given search string.

+

Usage

+ int string::last-index-of(source, value) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
sourcestringThe string to search.
valuestringThe string to locate within source.
+
+

Return Value

+

The highest-index position of value in source if it is found, or -1 if source does not contain value.

+

If value is an empty string, the return value is the last index position in source.

+

Remarks

This function performs a case-sensitive word search using the invariant culture.

Examples

  • 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

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.pad-left.html b/build-support/tools/nant/doc/help/functions/string.pad-left.html new file mode 100644 index 00000000..87c6d884 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.pad-left.html @@ -0,0 +1,61 @@ + + + + + + + + string::pad-left Function + + + + + + + + +

string::pad-left

+

Returns the given string left-padded to the given length.

+

Usage

+ string string::pad-left(s, totalWidth, paddingChar) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
sstringThe String that needs to be left-padded.
totalWidthintThe number of characters in the resulting string, equal to the number of original characters plus any additional padding characters.
paddingCharstringA Unicode padding character.
+
+

Return Value

If the length of s is at least totalWidth, then a new String identical to s is returned. Otherwise, s will be padded on the left with as many paddingChar characters as needed to create a length of totalWidth.

Exceptions

+ The function will fail in any of the following circumstances: +
  • totalWidth is less than zero.

Remarks

Note that only the first character of paddingChar will be used when padding the result.

Examples

  • string::pad-left('test', 10, ' ') ==> '      test'
  • string::pad-left('test', 10, 'test') ==> 'tttttttest'
  • string::pad-left('test', 3, ' ') ==> 'test'
  • string::pad-left('test', -4, ' ') ==> ERROR

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.pad-right.html b/build-support/tools/nant/doc/help/functions/string.pad-right.html new file mode 100644 index 00000000..89569411 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.pad-right.html @@ -0,0 +1,61 @@ + + + + + + + + string::pad-right Function + + + + + + + + +

string::pad-right

+

Returns the given string right-padded to the given length.

+

Usage

+ string string::pad-right(s, totalWidth, paddingChar) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
sstringThe String that needs to be right-padded.
totalWidthintThe number of characters in the resulting string, equal to the number of original characters plus any additional padding characters.
paddingCharstringA Unicode padding character.
+
+

Return Value

If the length of s is at least totalWidth, then a new String identical to s is returned. Otherwise, s will be padded on the right with as many paddingChar characters as needed to create a length of totalWidth.

Exceptions

+ The function will fail in any of the following circumstances: +
  • totalWidth is less than zero.

Remarks

Note that only the first character of paddingChar will be used when padding the result.

Examples

  • string::pad-right('test', 10, ' ') ==> 'test      '
  • string::pad-right('test', 10, 'abcd') ==> 'testaaaaaa'
  • string::pad-right('test', 3, ' ') ==> 'test'
  • string::pad-right('test', -3, ' ') ==> ERROR

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.replace.html b/build-support/tools/nant/doc/help/functions/string.replace.html new file mode 100644 index 00000000..cce0cc9b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.replace.html @@ -0,0 +1,61 @@ + + + + + + + + string::replace Function + + + + + + + + +

string::replace

+

Returns a string corresponding to the replacement of a given string with another in the specified string.

+

Usage

+ string string::replace(str, oldValue, newValue) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
strstringinput string
oldValuestringA String to be replaced.
newValuestringA String to replace all occurrences of oldValue.
+
+

Return Value

A String equivalent to str but with all instances of oldValue replaced with newValue.

Exceptions

+ The function will fail in any of the following circumstances: +
  • oldValue is an empty string.

Remarks

This function performs a word (case-sensitive and culture-sensitive) search to find oldValue.

Examples

  • string::replace('testing string', 'test', 'winn') ==> 'winning string'
  • string::replace('testing string', 'foo', 'winn') ==> 'testing string'
  • string::replace('testing string', 'ing', '') ==> 'test str'
  • string::replace('banana', 'ana', 'ana') ==> 'banana'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.starts-with.html b/build-support/tools/nant/doc/help/functions/string.starts-with.html new file mode 100644 index 00000000..093b9e55 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.starts-with.html @@ -0,0 +1,55 @@ + + + + + + + + string::starts-with Function + + + + + + + + +

string::starts-with

+

Tests whether the specified string starts with the specified prefix string.

+

Usage

+ bool string::starts-with(s1, s2) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + +
NameTypeDescription
s1stringtest string
s2stringprefix string
+
+

Return Value

+ true when s2 is a prefix for the string s1. Meaning, the characters at the beginning of s1 are identical to s2; otherwise, false.

Remarks

This function performs a case-sensitive word search using the invariant culture.

Examples

  • 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

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.substring.html b/build-support/tools/nant/doc/help/functions/string.substring.html new file mode 100644 index 00000000..3d427942 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.substring.html @@ -0,0 +1,64 @@ + + + + + + + + string::substring Function + + + + + + + + +

string::substring

+

Returns a substring of the specified string.

+

Usage

+ string string::substring(str, startIndex, length) + +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
strstringinput string
startIndexintposition of the start of the substring
lengthintthe length of the substring
+
+

Return Value

+

If the length is greater than zero, the function returns a substring starting at character position startIndex with a length of length characters.

+

If the length is equal to zero, the function returns an empty string.

+

Exceptions

+ The function will fail in any of the following circumstances: +
  • startIndex or length is less than zero.
  • startIndex is greater than the length of str.
  • startIndex plus length indicates a position not within str.

Examples

  • string::substring('testing string', 0, 4) ==> 'test'
  • string::substring('testing string', 8, 3) ==> 'str'
  • string::substring('testing string', 8, 0) ==> ''
  • string::substring('testing string', -1, 5) ==> ERROR
  • string::substring('testing string', 8, -1) ==> ERROR
  • string::substring('testing string', 5, 17) ==> ERROR

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.to-lower.html b/build-support/tools/nant/doc/help/functions/string.to-lower.html new file mode 100644 index 00000000..435ac99e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.to-lower.html @@ -0,0 +1,49 @@ + + + + + + + + string::to-lower Function + + + + + + + + +

string::to-lower

+

Returns the specified string converted to lowercase.

+

Usage

+ string string::to-lower(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string s in lowercase.

Remarks

The casing rules of the invariant culture are used to convert the s to lowercase.

Examples

  • string::to-lower('testing string') ==> 'testing string'
  • string::to-lower('Testing String') ==> 'testing string'
  • string::to-lower('Test 123') ==> 'test 123'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.to-upper.html b/build-support/tools/nant/doc/help/functions/string.to-upper.html new file mode 100644 index 00000000..f7f0e86c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.to-upper.html @@ -0,0 +1,49 @@ + + + + + + + + string::to-upper Function + + + + + + + + +

string::to-upper

+

Returns the specified string converted to uppercase.

+

Usage

+ string string::to-upper(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string s in uppercase.

Remarks

The casing rules of the invariant culture are used to convert the s to uppercase.

Examples

  • string::to-upper('testing string') ==> 'TESTING STRING'
  • string::to-upper('Testing String') ==> 'TESTING STRING'
  • string::to-upper('Test 123') ==> 'TEST 123'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.trim-end.html b/build-support/tools/nant/doc/help/functions/string.trim-end.html new file mode 100644 index 00000000..bf0866fc --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.trim-end.html @@ -0,0 +1,49 @@ + + + + + + + + string::trim-end Function + + + + + + + + +

string::trim-end

+

Returns the given string trimmed of trailing whitespace.

+

Usage

+ string string::trim-end(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string s with any trailing white space characters removed.

Examples

  • string::trim-end('  test  ') ==> '  test'
  • string::trim-end('\t\tfoo  \r\n') ==> '\t\tfoo'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.trim-start.html b/build-support/tools/nant/doc/help/functions/string.trim-start.html new file mode 100644 index 00000000..eb4a78d6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.trim-start.html @@ -0,0 +1,49 @@ + + + + + + + + string::trim-start Function + + + + + + + + +

string::trim-start

+

Returns the given string trimmed of leading whitespace.

+

Usage

+ string string::trim-start(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string s with any leading whites pace characters removed.

Examples

  • string::trim-start('  test  ') ==> 'test  '
  • string::trim-start('\t\tfoo  \r\n') ==> 'foo  \r\n'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/string.trim.html b/build-support/tools/nant/doc/help/functions/string.trim.html new file mode 100644 index 00000000..65aea7ed --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/string.trim.html @@ -0,0 +1,49 @@ + + + + + + + + string::trim Function + + + + + + + + +

string::trim

+

Returns the given string trimmed of whitespace.

+

Usage

+ string string::trim(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringinput string
+
+

Return Value

The string s with any leading or trailing white space characters removed.

Examples

  • string::trim('  test  ') ==> 'test'
  • string::trim('\t\tfoo  \r\n') ==> 'foo'

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/target.exists.html b/build-support/tools/nant/doc/help/functions/target.exists.html new file mode 100644 index 00000000..b28b852c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/target.exists.html @@ -0,0 +1,54 @@ + + + + + + + + target::exists Function + + + + + + + + +

target::exists

+

Checks whether the specified target exists.

+

Usage

+ bool target::exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe target to test.
+
+

Return Value

+ true if the specified target exists; otherwise, false.

Examples

  • Execute target "clean", if it exists.

    +<if test="${target::exists('clean')}">
    +    <call target="clean" />
    +</if>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/target.get-current-target.html b/build-support/tools/nant/doc/help/functions/target.get-current-target.html new file mode 100644 index 00000000..f91f42a5 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/target.get-current-target.html @@ -0,0 +1,36 @@ + + + + + + + + target::get-current-target Function + + + + + + + + +

target::get-current-target

+

Gets the name of the target being executed.

+

Usage

+ string target::get-current-target() + +

+

Return Value

A String that contains the name of the target being executed.

Exceptions

+ The function will fail in any of the following circumstances: +
  • No target is being executed.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/target.has-executed.html b/build-support/tools/nant/doc/help/functions/target.has-executed.html new file mode 100644 index 00000000..0063ab3b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/target.has-executed.html @@ -0,0 +1,52 @@ + + + + + + + + target::has-executed Function + + + + + + + + +

target::has-executed

+

Checks whether the specified target has already been executed.

+

Usage

+ bool target::has-executed(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe target to test.
+
+

Return Value

+ true if the specified target has already been executed; otherwise, false.

Exceptions

+ The function will fail in any of the following circumstances: +
  • Target name does not exist.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/task.exists.html b/build-support/tools/nant/doc/help/functions/task.exists.html new file mode 100644 index 00000000..0240a17f --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/task.exists.html @@ -0,0 +1,50 @@ + + + + + + + + task::exists Function + + + + + + + + +

task::exists

+

Checks whether the specified task exists.

+

Usage

+ bool task::exists(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe task to test.
+
+

Return Value

+ true if the specified task exists; otherwise, false.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/task.get-assembly.html b/build-support/tools/nant/doc/help/functions/task.get-assembly.html new file mode 100644 index 00000000..c1c1aa30 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/task.get-assembly.html @@ -0,0 +1,52 @@ + + + + + + + + task::get-assembly Function + + + + + + + + +

task::get-assembly

+

Returns the Assembly from which the specified task was loaded.

+

Usage

+ + Assembly task::get-assembly(name) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
namestringThe name of the task to get the Assembly of.
+
+

Return Value

The Assembly from which the specified task was loaded.

Exceptions

+ The function will fail in any of the following circumstances: +
  • Task name is not available.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-days.html b/build-support/tools/nant/doc/help/functions/timespan.from-days.html new file mode 100644 index 00000000..21688df2 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-days.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-days Function + + + + + + + + +

timespan::from-days

+

Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

+

Usage

+ timespan timespan::from-days(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA number of days, accurate to the nearest millisecond.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-hours.html b/build-support/tools/nant/doc/help/functions/timespan.from-hours.html new file mode 100644 index 00000000..fbad6cff --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-hours.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-hours Function + + + + + + + + +

timespan::from-hours

+

Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

+

Usage

+ timespan timespan::from-hours(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA number of hours, accurate to the nearest millisecond.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-milliseconds.html b/build-support/tools/nant/doc/help/functions/timespan.from-milliseconds.html new file mode 100644 index 00000000..f29f6b8d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-milliseconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-milliseconds Function + + + + + + + + +

timespan::from-milliseconds

+

Returns a TimeSpan that represents a specified number of milliseconds.

+

Usage

+ timespan timespan::from-milliseconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA number of milliseconds.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-minutes.html b/build-support/tools/nant/doc/help/functions/timespan.from-minutes.html new file mode 100644 index 00000000..c0892478 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-minutes.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-minutes Function + + + + + + + + +

timespan::from-minutes

+

Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

+

Usage

+ timespan timespan::from-minutes(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA number of minutes, accurate to the nearest millisecond.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-seconds.html b/build-support/tools/nant/doc/help/functions/timespan.from-seconds.html new file mode 100644 index 00000000..c59d4ed3 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-seconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-seconds Function + + + + + + + + +

timespan::from-seconds

+

Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

+

Usage

+ timespan timespan::from-seconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuedoubleA number of seconds, accurate to the nearest millisecond.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.from-ticks.html b/build-support/tools/nant/doc/help/functions/timespan.from-ticks.html new file mode 100644 index 00000000..f16fb7e7 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.from-ticks.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::from-ticks Function + + + + + + + + +

timespan::from-ticks

+

Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

+

Usage

+ timespan timespan::from-ticks(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuelongA number of ticks that represent a time.
+
+

Return Value

A TimeSpan that represents value.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-days.html b/build-support/tools/nant/doc/help/functions/timespan.get-days.html new file mode 100644 index 00000000..87500156 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-days.html @@ -0,0 +1,55 @@ + + + + + + + + timespan::get-days Function + + + + + + + + +

timespan::get-days

+

Returns the number of whole days represented by the specified TimeSpan.

+

Usage

+ int timespan::get-days(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of whole days represented by the given TimeSpan.

Examples

  • Remove all files that have not been modified in the last 7 days from directory "binaries".

    +<foreach item="File" in="binaries" property="filename">
    +    <if test="${timespan::get-days(datetime::now() - file::get-last-write-time(filename)) >= 7}">
    +        <delete file="${filename}" />
    +    </if>
    +</foreach>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-hours.html b/build-support/tools/nant/doc/help/functions/timespan.get-hours.html new file mode 100644 index 00000000..bd7c6dec --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-hours.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-hours Function + + + + + + + + +

timespan::get-hours

+

Returns the number of whole hours represented by the specified TimeSpan.

+

Usage

+ int timespan::get-hours(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of whole hours represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-milliseconds.html b/build-support/tools/nant/doc/help/functions/timespan.get-milliseconds.html new file mode 100644 index 00000000..8df51f07 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-milliseconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-milliseconds Function + + + + + + + + +

timespan::get-milliseconds

+

Returns the number of whole milliseconds represented by the specified TimeSpan.

+

Usage

+ int timespan::get-milliseconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of whole milliseconds represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-minutes.html b/build-support/tools/nant/doc/help/functions/timespan.get-minutes.html new file mode 100644 index 00000000..84bdeb7e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-minutes.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-minutes Function + + + + + + + + +

timespan::get-minutes

+

Returns the number of whole minutes represented by the specified TimeSpan.

+

Usage

+ int timespan::get-minutes(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of whole minutes represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-seconds.html b/build-support/tools/nant/doc/help/functions/timespan.get-seconds.html new file mode 100644 index 00000000..d33fda4e --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-seconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-seconds Function + + + + + + + + +

timespan::get-seconds

+

Returns the number of whole seconds represented by the specified TimeSpan.

+

Usage

+ int timespan::get-seconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of whole seconds represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-ticks.html b/build-support/tools/nant/doc/help/functions/timespan.get-ticks.html new file mode 100644 index 00000000..ac9017a6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-ticks.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-ticks Function + + + + + + + + +

timespan::get-ticks

+

Returns the number of ticks contained in the specified TimeSpan.

+

Usage

+ long timespan::get-ticks(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The number of ticks contained in the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-total-days.html b/build-support/tools/nant/doc/help/functions/timespan.get-total-days.html new file mode 100644 index 00000000..df2415ae --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-total-days.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-total-days Function + + + + + + + + +

timespan::get-total-days

+

Returns the total number of days represented by the specified TimeSpan, expressed in whole and fractional days.

+

Usage

+ double timespan::get-total-days(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The total number of days represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-total-hours.html b/build-support/tools/nant/doc/help/functions/timespan.get-total-hours.html new file mode 100644 index 00000000..9e5e6e27 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-total-hours.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-total-hours Function + + + + + + + + +

timespan::get-total-hours

+

Returns the total number of hours represented by the specified TimeSpan, expressed in whole and fractional hours.

+

Usage

+ double timespan::get-total-hours(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The total number of hours represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-total-milliseconds.html b/build-support/tools/nant/doc/help/functions/timespan.get-total-milliseconds.html new file mode 100644 index 00000000..575efbf6 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-total-milliseconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-total-milliseconds Function + + + + + + + + +

timespan::get-total-milliseconds

+

Returns the total number of milliseconds represented by the specified TimeSpan, expressed in whole and fractional milliseconds.

+

Usage

+ double timespan::get-total-milliseconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The total number of milliseconds represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-total-minutes.html b/build-support/tools/nant/doc/help/functions/timespan.get-total-minutes.html new file mode 100644 index 00000000..a540afcc --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-total-minutes.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-total-minutes Function + + + + + + + + +

timespan::get-total-minutes

+

Returns the total number of minutes represented by the specified TimeSpan, expressed in whole and fractional minutes.

+

Usage

+ double timespan::get-total-minutes(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The total number of minutes represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.get-total-seconds.html b/build-support/tools/nant/doc/help/functions/timespan.get-total-seconds.html new file mode 100644 index 00000000..030c5978 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.get-total-seconds.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::get-total-seconds Function + + + + + + + + +

timespan::get-total-seconds

+

Returns the total number of seconds represented by the specified TimeSpan, expressed in whole and fractional seconds.

+

Usage

+ double timespan::get-total-seconds(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan.
+
+

Return Value

The total number of seconds represented by the given TimeSpan.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.parse.html b/build-support/tools/nant/doc/help/functions/timespan.parse.html new file mode 100644 index 00000000..9e45a90b --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.parse.html @@ -0,0 +1,51 @@ + + + + + + + + timespan::parse Function + + + + + + + + +

timespan::parse

+

Constructs a TimeSpan from a time indicated by a specified string.

+

Usage

+ timespan timespan::parse(s) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
sstringA string.
+
+

Return Value

A TimeSpan that corresponds to s.

Exceptions

+ The function will fail in any of the following circumstances: +
  • s has an invalid format.
  • At least one of the hours, minutes, or seconds components is outside its valid range.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/timespan.to-string.html b/build-support/tools/nant/doc/help/functions/timespan.to-string.html new file mode 100644 index 00000000..508cbf3c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/timespan.to-string.html @@ -0,0 +1,49 @@ + + + + + + + + timespan::to-string Function + + + + + + + + +

timespan::to-string

+

Converts the specified TimeSpan to its equivalent string representation.

+

Usage

+ string timespan::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
valuetimespanA TimeSpan to convert.
+
+

Return Value

The string representation of value. The format of the return value is of the form: [-][d.]hh:mm:ss[.ff].

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.get-build.html b/build-support/tools/nant/doc/help/functions/version.get-build.html new file mode 100644 index 00000000..9f4b50b2 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.get-build.html @@ -0,0 +1,51 @@ + + + + + + + + version::get-build Function + + + + + + + + +

version::get-build

+

Gets the value of the build component of a given version.

+

Usage

+ int version::get-build(version) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
version + Version + A version.
+
+

Return Value

The build number, or -1 if the build number is undefined.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assemblyname::get-version() | environment::get-version() | operating-system::get-version() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.get-major.html b/build-support/tools/nant/doc/help/functions/version.get-major.html new file mode 100644 index 00000000..8d49535c --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.get-major.html @@ -0,0 +1,51 @@ + + + + + + + + version::get-major Function + + + + + + + + +

version::get-major

+

Gets the value of the major component of a given version.

+

Usage

+ int version::get-major(version) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
version + Version + A version.
+
+

Return Value

The major version number.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assemblyname::get-version() | environment::get-version() | operating-system::get-version() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.get-minor.html b/build-support/tools/nant/doc/help/functions/version.get-minor.html new file mode 100644 index 00000000..c4d070e0 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.get-minor.html @@ -0,0 +1,51 @@ + + + + + + + + version::get-minor Function + + + + + + + + +

version::get-minor

+

Gets the value of the minor component of a given version.

+

Usage

+ int version::get-minor(version) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
version + Version + A version.
+
+

Return Value

The minor version number.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assemblyname::get-version() | environment::get-version() | operating-system::get-version() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.get-revision.html b/build-support/tools/nant/doc/help/functions/version.get-revision.html new file mode 100644 index 00000000..de35ff3d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.get-revision.html @@ -0,0 +1,51 @@ + + + + + + + + version::get-revision Function + + + + + + + + +

version::get-revision

+

Gets the value of the revision component of a given version.

+

Usage

+ int version::get-revision(version) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
version + Version + A version.
+
+

Return Value

The revision number, or -1 if the revision number is undefined.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assemblyname::get-version() | environment::get-version() | operating-system::get-version() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.parse.html b/build-support/tools/nant/doc/help/functions/version.parse.html new file mode 100644 index 00000000..38d1c28d --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.parse.html @@ -0,0 +1,52 @@ + + + + + + + + version::parse Function + + + + + + + + +

version::parse

+

Converts the specified string representation of a version to its Version equivalent.

+

Usage

+ + Version version::parse(version) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
versionstringA string containing the major, minor, build, and revision numbers, where each number is delimited with a period character ('.').
+
+

Return Value

A Version instance representing the specified String.

Exceptions

+ The function will fail in any of the following circumstances: +
  • version has fewer than two components or more than four components.
  • A major, minor, build, or revision component is less than zero.
  • At least one component of version does not parse to a decimal integer.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +
+ \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/functions/version.to-string.html b/build-support/tools/nant/doc/help/functions/version.to-string.html new file mode 100644 index 00000000..fcd025f5 --- /dev/null +++ b/build-support/tools/nant/doc/help/functions/version.to-string.html @@ -0,0 +1,51 @@ + + + + + + + + version::to-string Function + + + + + + + + +

version::to-string

+

Converts the specified Version to its equivalent string representation.

+

Usage

+ string version::to-string(value) + +

+

Parameters

+
+ + + + + + + + + + + +
NameTypeDescription
value + Version + A Version to convert.
+
+

Return Value

The string representation of the values of the major, minor, build, and revision components of the specified Version.

Requirements

Assembly: NAnt.Core (0.85.2478.0) +

See Also

assemblyname::get-version() | environment::get-version() | operating-system::get-version() + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/fundamentals/buildfiles.html b/build-support/tools/nant/doc/help/fundamentals/buildfiles.html new file mode 100644 index 00000000..a8185bd7 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/buildfiles.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/expressions.html b/build-support/tools/nant/doc/help/fundamentals/expressions.html new file mode 100644 index 00000000..f89a3f2b --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/expressions.html @@ -0,0 +1,1898 @@ + + + + + + + + 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 +
+
+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/functions.html b/build-support/tools/nant/doc/help/fundamentals/functions.html new file mode 100644 index 00000000..079017f4 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/functions.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/index.html b/build-support/tools/nant/doc/help/fundamentals/index.html new file mode 100644 index 00000000..0effaac1 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/index.html @@ -0,0 +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

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/listeners.html b/build-support/tools/nant/doc/help/fundamentals/listeners.html new file mode 100644 index 00000000..c829157f --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/listeners.html @@ -0,0 +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>
+        
+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/projects.html b/build-support/tools/nant/doc/help/fundamentals/projects.html new file mode 100644 index 00000000..ebd56034 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/projects.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/properties.html b/build-support/tools/nant/doc/help/fundamentals/properties.html new file mode 100644 index 00000000..bde77164 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/properties.html @@ -0,0 +1,319 @@ + + + + + + + + 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

+ + + diff --git a/build-support/tools/nant/doc/help/fundamentals/running-nant.html b/build-support/tools/nant/doc/help/fundamentals/running-nant.html new file mode 100644 index 00000000..912bfd45 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/running-nant.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/targets.html b/build-support/tools/nant/doc/help/fundamentals/targets.html new file mode 100644 index 00000000..a54e9a23 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/targets.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/fundamentals/tasks.html b/build-support/tools/nant/doc/help/fundamentals/tasks.html new file mode 100644 index 00000000..13f0df28 --- /dev/null +++ b/build-support/tools/nant/doc/help/fundamentals/tasks.html @@ -0,0 +1,274 @@ + + + + + + + + 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. +

+ + diff --git a/build-support/tools/nant/doc/help/images/arrow.gif b/build-support/tools/nant/doc/help/images/arrow.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5e5f8e771dc7a54fa6087761659cf2eba98b0bc GIT binary patch literal 58 zcmZ?wbhEHbjEB<5wG8q|kKzxu41CwA+|4PQ$7v?lhyrsP|#V|jV Hfx#L8hD{FA literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/doc/help/images/bullet.gif b/build-support/tools/nant/doc/help/images/bullet.gif new file mode 100644 index 0000000000000000000000000000000000000000..f064248ff4f4e1cbfb59cd94d368c7a32b13e23c GIT binary patch literal 71 zcmZ?wbhEHbWM$xFn8*ME|Ns97(+r9~SvVOO7#VaxT#&p2hXey7i-d%Of+GWmu#(J- R2@4N4@rpXBNC+@k0|2}b3@rcv literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/doc/help/images/logo.gif b/build-support/tools/nant/doc/help/images/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..9594736fcd96f130302f91b746ac2be9d65fbf61 GIT binary patch literal 4436 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 M-xp$20KoqL0PApkKmY&$ literal 0 HcmV?d00001 diff --git a/build-support/tools/nant/doc/help/index.html b/build-support/tools/nant/doc/help/index.html new file mode 100644 index 00000000..26dae29d --- /dev/null +++ b/build-support/tools/nant/doc/help/index.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000006.html b/build-support/tools/nant/doc/help/introduction/fog0000000006.html new file mode 100644 index 00000000..c7cbf175 --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/fog0000000006.html @@ -0,0 +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

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000041.html b/build-support/tools/nant/doc/help/introduction/fog0000000041.html new file mode 100644 index 00000000..e508c479 --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/fog0000000041.html @@ -0,0 +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

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000042.html b/build-support/tools/nant/doc/help/introduction/fog0000000042.html new file mode 100644 index 00000000..e6ac498b --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/fog0000000042.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000079.html b/build-support/tools/nant/doc/help/introduction/fog0000000079.html new file mode 100644 index 00000000..292c6c2f --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/fog0000000079.html @@ -0,0 +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.

+ + diff --git a/build-support/tools/nant/doc/help/introduction/fog0000000081.html b/build-support/tools/nant/doc/help/introduction/fog0000000081.html new file mode 100644 index 00000000..b678e644 --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/fog0000000081.html @@ -0,0 +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.
  • +
+ + diff --git a/build-support/tools/nant/doc/help/introduction/getting-started.gif b/build-support/tools/nant/doc/help/introduction/getting-started.gif new file mode 100644 index 0000000000000000000000000000000000000000..93e2a5969a3518a3e8b294337f30a12938f98d32 GIT binary patch literal 13001 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%0A+5$m7inDL*j-|uMN8fxWmEvm!t>-Hqass?hWG4- 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 + + + + + + + NAnt - Introduction + + + + + + + + +

Introduction

+ +

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 new file mode 100644 index 00000000..17fad073 --- /dev/null +++ b/build-support/tools/nant/doc/help/introduction/installation.html @@ -0,0 +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. +
+ + diff --git a/build-support/tools/nant/doc/help/style.css b/build-support/tools/nant/doc/help/style.css new file mode 100644 index 00000000..c097a444 --- /dev/null +++ b/build-support/tools/nant/doc/help/style.css @@ -0,0 +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; +} diff --git a/build-support/tools/nant/doc/help/tasks/al.html b/build-support/tools/nant/doc/help/tasks/al.html new file mode 100644 index 00000000..0ec6ea12 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/al.html @@ -0,0 +1,291 @@ + + + + + + + + <al> Task + + + + + + + + +

<al>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile The name of the output file for the assembly manifest. True
targetstring The target type (one of lib, exe, or winexe). True
algidstring 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. False
companystring Specifies a string for the Company field in the assembly. False
configurationstring Specifies a string for the Configuration field in the assembly. False
copyrightstring Specifies a string for the Copyright field in the assembly. False
culturestring The culture string associated with the output assembly. The string must be in RFC 1766 format, such as "en-US". False
delaysignbool Specifies whether the assembly should be partially signed. The default is false. False
descriptionstring Specifies a string for the Description field in the assembly. False
evidencefile Security evidence file to embed. False
fileversionstring Specifies a string for the File Version field in the assembly. False
flagsstring Specifies a value (in hexadecimal) for the Flags field in the assembly. False
keycontainerstring Specifies a container that holds a key pair. False
keyfilefile Specifies a file (filename) that contains a key pair or just a public key to sign an assembly. False
mainstring Specifies the fully-qualified name (class.method) of the method to use as an entry point when converting a module to an executable file. False
productstring Specifies a string for the Product field in the assembly. False
productversionstring Specifies a string for the Product Version field in the assembly. False
templatefile Specifies an assembly from which to get all options except the culture field. False
titlestring Specifies a string for the Title field in the assembly. False
trademarkstring Specifies a string for the Trademark field in the assembly. False
versionstring Specifies version information for the assembly. The format of the version string is major.minor.build.revision. False
win32iconfile Icon to associate with the assembly. False
win32resfile Inserts a Win32 resource (.res file) in the output file. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportstemplatebool 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 true. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <sources> +

+
The set of resources to embed.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..9154dbff --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/asminfo.html @@ -0,0 +1,159 @@ + + + + + + + + <asminfo> Task + + + + + + + + +

<asminfo>

+

Generates an AssemblyInfo file using the attributes given.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
language + CodeLanguage + The code language in which the AssemblyInfo file should be generated. True
outputfile Name of the AssemblyInfo file to generate. 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:

+ +

+ + + <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> +

+
The namespaces to import.

+

+ + + </imports> +

+ +

+ + + <references> +

+
Assembly files used to locate the types of the specified attributes.

+

+ + + </references> +

+

Examples

+
    +
  • +

    Create a C# AssemblyInfo file containing the specified assembly-level attributes.

    +
    +<asminfo output="AssemblyInfo.cs" language="CSharp">
    +    <imports>
    +        <import namespace="System" />
    +        <import namespace="System.Reflection" />
    +        <import namespace="System.EnterpriseServices" />
    +        <import namespace="System.Runtime.InteropServices" />
    +    </imports>
    +    <attributes>
    +        <attribute type="ComVisibleAttribute" value="false" />
    +        <attribute type="CLSCompliantAttribute" value="true" />
    +        <attribute type="AssemblyVersionAttribute" value="1.0.0.0" />
    +        <attribute type="AssemblyTitleAttribute" value="My fun assembly" />
    +        <attribute type="AssemblyDescriptionAttribute" value="More fun than a barrel of monkeys" />
    +        <attribute type="AssemblyCopyrightAttribute" value="Copyright (c) 2002, Monkeyboy, Inc." />
    +        <attribute type="ApplicationNameAttribute" value="FunAssembly" />
    +    </attributes>
    +    <references>
    +        <include name="System.EnterpriseServices.dll" />
    +    </references>
    +</asminfo>
    +    
    +
  • +
  • +

    Create a C# AssemblyInfo file containing an attribute with multiple named properties by setting the asis attribute on the AssemblyAttribute element to true.

    +
    +<asminfo output="AssemblyInfo.cs" language="CSharp">
    +    <imports>
    +        <import namespace="log4net.Config" />
    +    </imports>
    +    <attributes>
    +        <attribute type="DOMConfiguratorAttribute" value="ConfigFile=&quot;config.log4net&quot;,Watch=true" asis="true" />
    +    </attributes>
    +    <references>
    +        <include name="log4net.dll" />
    +    </references>
    +</asminfo>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..e0137598 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/attrib.html @@ -0,0 +1,146 @@ + + + + + + + + <attrib> Task + + + + + + + + +

<attrib>

+

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.

+

Refer to the FileAttributes enumeration in the .NET SDK for more information about file attributes.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
archivebool Set the archive attribute. The default is false. False
filefile The name of the file which will have its attributes set. This is provided as an alternate to using the task's fileset. False
hiddenbool Set the hidden attribute. The default is false. False
normalbool Set the normal file attributes. This attribute is only valid if used alone. The default is false. False
readonlybool Set the read-only attribute. The default is false. False
systembool Set the system attribute. 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
+
+

Nested Elements:

+ +

+ + + <fileset> +

+
All the matching files and directories in this fileset will have their attributes set.

+

+ + + </fileset> +

+

Examples

+
    +
  • +

    Set the read-only file attribute for the specified file in the project directory.

    +
    +<attrib file="myfile.txt" readonly="true" />
    +    
    +
  • +
  • +

    Set the normal file attribute for the specified file.

    +
    +<attrib file="myfile.txt" normal="true" />
    +    
    +
  • +
  • +

    Set the normal file attribute for all executable files in the current project directory and sub-directories.

    +
    +<attrib normal="true">
    +    <fileset>
    +        <include name="**/*.exe" />
    +        <include name="bin" />
    +    </fileset>
    +</attrib>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..e371e7e3 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/available.html @@ -0,0 +1,153 @@ + + + + + + + + <available> Task + + + + + + + + +

<available>

+

+ (Deprecated) +

+

Checks if a resource is available at runtime.

+

The specified property is set to true if the requested resource is available at runtime, and false if the resource is not available.

+

+ Note: we advise you to use the following functions instead:

+
+ + + + + + + + + + + + + + + + + + + + + +
FunctionDescription
+ file::exists() + Determines whether the specified file exists.
+ directory::exists() + Determines whether the given path refers to an existing directory on disk.
+ framework::exists() + Checks whether the specified framework exists..
+ framework::sdk-exists() + Checks whether the SDK for the specified framework is installed.
+
+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
propertystring The property that must be set if the resource is available. True
resourcestring The resource which must be available. True
type + ResourceType + The type of resource which must be present. 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
+
+

Examples

+
    +
  • +

    Sets the myfile.present property to true if the file is available on the filesystem and false if the file is not available.

    +
    +<available type="File" resource="myfile.txt" property="myfile.present" />
    +    
    +
  • +
  • +

    Sets the build.dir.present property to true if the directory is available on the filesystem and false if the directory is not available.

    +
    +<available type="Directory" resource="build" property="build.dir.present" />
    +    
    +
  • +
  • +

    Sets the mono-0.21.framework.present property to true if the Mono 0.21 framework is available on the current system and false if the framework is not available.

    +
    +<available type="Framework" resource="mono-0.21" property="mono-0.21.framework.present" />
    +    
    +
  • +
  • +

    Sets the net-1.1.frameworksdk.present property to true if the .NET 1.1 Framework SDK is available on the current system and false if the SDK is not available.

    +
    +<available type="FrameworkSDK" resource="net-1.1" property="net-1.1.frameworksdk.present" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..0bedaaaf --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/aximp.html @@ -0,0 +1,183 @@ + + + + + + + + <aximp> Task + + + + + + + + +

<aximp>

+

Generates a Windows Forms Control that wraps ActiveX Controls defined in an OCX.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
ocxfile Filename of the .ocx file. True
delaysignbool Specifies to sign the resulting control using delayed signing. False
generatesourcebool Determines whether C# source code for the Windows Form wrapper should be generated. The default is false. False
keycontainerstring 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. False
keyfilefile Specifies the publisher's official public/private key pair with which the resulting assembly should be signed with a strong name. False
outputfile Filename of the generated assembly. False
publickeyfile Specifies the file containing the public key to use to sign the resulting assembly. False
rcwfile Assembly to use for Runtime Callable Wrapper rather than generating new one [.NET 1.1 or higher]. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportsrcwbool Indicates whether aximp supports using an existing Runtime Callable Wrapper for a given target framework. The default is true. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +
    +<aximp ocx="MyControl.ocx" output="MyFormsControl.dll" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Win32Tasks (0.85.2478.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 new file mode 100644 index 00000000..5558cb83 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/call.html @@ -0,0 +1,162 @@ + + + + + + + + <call> Task + + + + + + + + +

<call>

+

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:

+
    +
  • Add an "unless" attribute with value "${target::has-executed('<target name>')}" to the dependent targets.
  • +
  • Set the cascade attribute on the <call> task to false (recommended).
  • +
+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
targetstring NAnt target to call. True
cascadebool Execute the specified targets dependencies -- even if they have been previously executed. The default is true. False
forcebool + Deprecated. Force an execute even if the target has already been executed. 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

+
    +
  • +

    Call the target "build".

    +
    +<call target="build" />
    +    
    +
  • +
  • +

    This shows how a project could 'compile' a debug and release build using a common compile target.

    +
    +<project default="build">
    +    <property name="debug" value="false" />
    +    <target name="init">
    +        <echo message="initializing" />
    +    </target>
    +    <target name="compile" depends="init">
    +        <echo message="compiling with debug = ${debug}" />
    +    </target>
    +    <target name="build">
    +        <property name="debug" value="false" />
    +        <call target="compile" />
    +        <property name="debug" value="true" />
    +        <call target="compile" />
    +    </target>
    +</project>
    +    
    +

    The cascade parameter of the <call> task defaults to true, causing the "init" target to be executed for both the "debug" and "release" build.

    +

    This results in the following build log:

    +
    build:
    +  
    +init:
    +
    +    [echo] initializing
    +    
    +compile:
    +
    +    [echo] compiling with debug = false
    +    
    +init:
    +
    +    [echo] initializing
    +    
    +compile:
    +
    +    [echo] compiling with debug = true
    +    
    +BUILD SUCCEEDED
    +  
    +

    If the "init" should only be executed once, set the cascade attribute of the <call> task to false.

    +

    The build log would then look like this:

    +
    build:
    +  
    +init:
    +
    +    [echo] initializing
    +    
    +compile:
    +
    +    [echo] compiling with debug = false
    +    
    +compile:
    +
    +    [echo] compiling with debug = true
    +    
    +BUILD SUCCEEDED
    +  
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..3c8d87a5 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cl.html @@ -0,0 +1,257 @@ + + + + + + + + <cl> Task + + + + + + + + +

<cl>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputdirdirectory Directory where all output files are placed. True
characterset + CharacterSet + Tells the compiler to use the specified character set. False
managedextensionsbool Specifies whether Managed Extensions for C++ should be enabled. The default is false. False
objectfilestring A name to override the default object file name; can be either a file or directory name. The default is the output directory. False
optionsstring Options to pass to the compiler. False
pchfilestring Specifies the path and/or name of the generated precompiled header file - given either relative to outputdir or as an absolute path. False
pchmode + PrecompiledHeaderMode + The mode in which the specified pchfile (if any) is used. The default is Use. False
pchthroughfilestring The path of the boundary file when generating/using the specified pchfile. If a precompiled header file is not specified then this attribute is ignored. False
pdbfilestring A name for the compiler-generated PDB file; can be either a file or directory name. The default is the output directory. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <sources> +

+
The list of files to compile.

+

+ + + </sources> +

+ +

+ + + <includedirs> +

+
The list of directories in which to search for include files.

+

+ + + </includedirs> +

+ +

+ + + <metadataincludedirs> +

+
Directories that the compiler will search to resolve file references passed to the #using directive.

+

+ + + </metadataincludedirs> +

+ +

+ + + <forcedusingfiles> +

+
Specifies metadata files to reference in this compilation as an alternative to passing a file name to #using in source code.

+

+ + + </forcedusingfiles> +

+ +

+ + + <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> +

+
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>

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compiles helloworld.cpp for the Common Language Runtime.

    +
    +<cl outputdir="build" options="/clr">
    +    <sources>
    +        <include name="helloworld.cpp" />
    +    </sources>
    +</cl>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..ca3bdc78 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/copy.html @@ -0,0 +1,191 @@ + + + + + + + + <copy> Task + + + + + + + + +

<copy>

+

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.

+

Files that are not located under the the base directory of the <fileset> will be copied directly under to the destination directory, regardless of the value of the flatten attribute.

+

Encoding

+

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.

+

+ Note: If you employ filters in your copy operation, you should limit the copy to text files. Binary files will be corrupted by the copy operation.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filefile The file to copy. False
flattenbool Ignore directory structure of source directory, copy all files into a single directory, specified by the todir attribute. The default is false. False
includeemptydirsbool Copy any empty directories included in the <fileset>. The default is true. False
inputencoding + Encoding + The encoding to use when reading files. The default is the system's current ANSI code page. False
outputencoding + Encoding + The encoding to use when writing the files. The default is the encoding of the input file. False
overwritebool Overwrite existing files even if the destination files are newer. The default is false. False
todirdirectory The directory to copy to. False
tofilefile The file to copy to. 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
+
+

Nested Elements:

+ +

+ + + <fileset> +

+
Used to select the files to copy. To use a <fileset>, the todir attribute must be set.

+

+ + + </fileset> +

+ +

+ + + <filterchain> +

+
Chain of filters used to alter the file's content as it is copied.

+

+ + + </filterchain> +

+

Examples

+
    +
  • +

    Copy a single file while changing its encoding from "latin1" to "utf-8".

    +
    +<copy 
    +    file="myfile.txt"
    +    tofile="mycopy.txt"
    +    inputencoding="latin1"
    +    outputencoding="utf-8" />
    +    
    +
  • +
  • +

    Copy a set of files to a new directory.

    +
    +<copy todir="${build.dir}">
    +    <fileset basedir="bin">
    +        <include name="*.dll" />
    +    </fileset>
    +</copy>
    +    
    +
  • +
  • +

    Copy a set of files to a directory, replacing @TITLE@ with "Foo Bar" in all files.

    +
    +<copy todir="../backup/dir">
    +    <fileset basedir="src_dir">
    +        <include name="**/*" />
    +    </fileset>
    +    <filterchain>
    +        <replacetokens>
    +            <token key="TITLE" value="Foo Bar" />
    +        </replacetokens>
    +    </filterchain>
    +</copy>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..1ecd0ff6 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/csc.html @@ -0,0 +1,438 @@ + + + + + + + + <csc> Task + + + + + + + + +

<csc>

+

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".

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
baseaddressstring 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. False
checkedbool 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 false. False
codepagestring Specifies the code page to use for all source code files in the compilation. False
debug + DebugOutput + Specifies the type of debugging information generated by the compiler. The default is None. False
docfile The name of the XML documentation file to generate. False
filealignint Specifies the size of sections in the output file. Valid values are 512, 1024, 2048, 4096, and 8192. False
langversionstring Causes the compiler to only accept syntax that is included in a given specification. False
noconfigbool Instructs the compiler not to use implicit references to assemblies. The default is false. False
nostdlibbool Instructs the compiler not to import mscorlib.dll. The default is false. False
optimizebool Specifies whether the compiler should perform optimizations to the make output files smaller, faster, and more effecient. The default is false. False
platformstring Specifies which platform version of common language runtime (CLR) can run the output file. False
unsafebool Instructs the compiler to allow code that uses the unsafe keyword. The default is false. False
warninglevelstring Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. False
outputfile The output file created by the compiler. True
targetstring Output type. Possible values are exe, winexe, library or module. True
definestring Define conditional compilation symbol(s). 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
keycontainerstring Specifies the key pair container used to strongname the assembly. False
keyfilefile Specifies a strong name key file. False
mainstring Specifies which type contains the Main method that you want to use as the entry point into the program. False
nowarnstring + Deprecated. Specifies a comma-separated list of warnings that should be suppressed by the compiler. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
warnaserrorbool Instructs the compiler to treat all warnings as errors. The default is false. False
win32iconfile Icon to associate with the application. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
noconfigbool Instructs the compiler not to use implicit references to assemblies. The default is false. False
nostdlibbool Instructs the compiler not to import mscorlib.dll. The default is false. False
supportsdocgenerationbool Specifies whether the compiler for the active target framework supports generation of XML Documentation file. The default is true. False
supportskeycontainerbool Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is false. False
supportskeyfilebool Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is false. False
supportslangversionbool Specifies whether the compiler for the active target framework supports accepting only a specific language syntax. The default is false. False
supportsnowarnlistbool 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 false. False
supportspackagereferencesbool Indicates whether package references are supported by compiler for a given target framework. The default is false. False
supportsplatformbool Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is false. False
supportswarnaserrorlistbool Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <warnaserror> +

+
Controls which warnings should be reported as errors.

+

+ + + </warnaserror> +

+ +

+ + + <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> +

+
+ Deprecated. Additional directories to search in for assembly references.

+

+ + + </lib> +

+ +

+ + + <references> +

+
Reference metadata from the specified assembly files.

+

+ + + </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>

+ + +

+ + + <resources> +

+
Resources to embed.
+

+ + + </resources> +

+ +

+ + + <modules> +

+
Link the specified modules into this assembly.

+

+ + + </modules> +

+ +

+ + + <sources> +

+
The set of source files for compilation.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compile a "HelloWorld" application, including embedded resources.

    +
    +<csc target="exe" output="HelloWorld.exe" debug="true">
    +    <nowarn>
    +        <!-- do not report warnings for missing XML comments -->
    +        <warning number="0519" />
    +    </nowarn>
    +    <sources>
    +        <include name="**/*.cs" />
    +    </sources>
    +    <resources dynamicprefix="true" prefix="HelloWorld">
    +        <include name="**/*.resx" />
    +    </resources>
    +    <references>
    +        <include name="System.dll" />
    +        <include name="System.Data.dll" />
    +    </references>
    +</csc>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..cf21055f --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-changelog.html @@ -0,0 +1,254 @@ + + + + + + + + <cvs-changelog> Task + + + + + + + + +

<cvs-changelog>

+

Produces an XML report that represents the cvs changes from the given start day, to a given end date.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
enddatetime The latest date to use in the cvs log command. True
startdatetime The earliest change to use in the cvs log command. True
xmlfilefile Name of the xml file that will contain the cvs log information. True
cvsrootstring +

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
  • +
+

+

If the cvsroot is not specified then the directory specified by the destination attribute is searched for CVS\Root.

+
False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </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"
    +/>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..747a840b --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-checkout.html @@ -0,0 +1,295 @@ + + + + + + + + <cvs-checkout> Task + + + + + + + + +

<cvs-checkout>

+

Checks out a CVS module to the required directory.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
datedatetime 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. False
overridedirstring Specify a directory name to replace the module name. Valid names include any valid filename, excluding path information. False
override-directorystring Specify a directory name to replace the module name. Valid names include any valid filename, excluding path information. False
revisionstring Specify the revision to checkout. This corresponds to the "sticky-tag" of the file. False
sticky-tagstring Sticky tag or revision to checkout. False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Checkout 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" />
    +    
    +

    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" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..4d80dbcb --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-export.html @@ -0,0 +1,295 @@ + + + + + + + + <cvs-export> Task + + + + + + + + +

<cvs-export>

+

Exports a cvs module in preperation for a release (i.e. the CVS version folders are not exported).

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
datedatetime Specify the revision date to update to. The version of the file that existed at the date specified is retrieved. False
force-headbool Indicates whether the head revision should be used if the revison specified by revision or the date tags are not found. The default is false. False
no-shorteningbool No shortening. Do not shorten module paths if -d specified. False
overridedirstring Specify a directory name to replace the module name. Valid names include any valid filename, excluding path information. False
recursivebool If a directory is specified indicates whether sub-directories should also be processed. False
revisionstring Specify the revision to update the file to. This corresponds to the "sticky-tag" of the file. False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </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" />
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..99071bf9 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-pass.html @@ -0,0 +1,97 @@ + + + + + + + + <cvs-pass> Task + + + + + + + + +

<cvs-pass>

+

Executes the cvs login command which appends or updates an entry to the specified .cvspass file.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
passwordstring Password to append or update to the .cvspass file. True
cvsrootstring The repository root string. False
passfilefile The full path to the .cvspass file. The default is ~/.cvspass. 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

+
    +
  • +

    Update .cvspass file to include the NAnt anonymous login.

    +
    +<cvs-pass cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    +     password="anonymous"
    +     passfile="C:\.cvspass" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..3ad6b678 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-rtag.html @@ -0,0 +1,300 @@ + + + + + + + + <cvs-rtag> Task + + + + + + + + +

<cvs-rtag>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
tagstring The name of the tag to assign or remove. True
act-on-datedatetime Indicates the revision date of the file that the tag should be applied to. False
act-on-tagstring Indicates the repository tag that is acted on for the tag command. Note if move-if-exists is true then the tag specified is moved to the revision of the file on the HEAD of the branch specified. False
force-headbool Indicates whether the head revision should be used if the act-on-tag or the act-on-date tags are not found. False
move-if-existsbool Indicates whether the tag specified in tag should be moved to the current file revision. If the tag does not exist then it is created. False
recursivebool If a directory is specified indicates whether sub-directories should also be processed. False
removebool Indicates whether the tag specified in tag should be removed or not. False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Tag NAnt sources remotely.

    +
    +<cvs-rtag 
    +    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    +    destination="."
    +    module="nant"
    +    tagname="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"
    +     />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..f9a47e3f --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-tag.html @@ -0,0 +1,300 @@ + + + + + + + + <cvs-tag> Task + + + + + + + + +

<cvs-tag>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
tagstring The name of the tag to assign or remove. True
act-on-datedatetime Indicates the revision date of the file that the tag should be applied to. False
act-on-tagstring Indicates the repository tag that is acted on for the tag command. Note if move-if-exists is true then the tag specified is moved to the revision of the file on the HEAD of the branch specified. False
fail-if-modifiedbool Indicates whether the head revision should be used if the act-on-tag or the act-on-date tags are not found. False
force-headbool Indicates whether the head revision should be used if the revision specified by act-on-tag or the act-on-date tags are not found. False
move-if-existsbool Indicates whether the tag specified in tag should be moved to the current file revision. If the tag does not exist then it is created. False
recursivebool If a directory is specified indicates whether sub-directories should also be processed. False
removebool Indicates whether the tag specified in tag should be removed or not. False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Tag NAnt sources remotely.

    +
    +<cvs-tag 
    +    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    +    destination="."
    +    module="nant"
    +    tagname="v0_8_4"
    +     />
    +    
    +
  • +
  • +

    Remove a tag from the remote repository.

    +
    +<cvs-tag 
    +    cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
    +    destination="."
    +    module="nant"
    +    tagname="v0_8_4"
    +    remove="true"
    +    fail-if-modified="true"
    +     />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..1d7be38a --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs-update.html @@ -0,0 +1,301 @@ + + + + + + + + <cvs-update> Task + + + + + + + + +

<cvs-update>

+

Updates a CVS module in a local working directory.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
builddirsbool If true. new directories will be created on the local sandbox. The default is true. False
datedatetime Specify the revision date to update to. The version of the file that existed at the date specified is retrieved. False
overwritelocalbool If true the local copy of the file will be overwritten with the copy from the remote repository. The default is false. False
pruneemptybool If true empty directories copied down from the remote repository will be removed from the local sandbox. The default is true. False
recursivebool Specifies if the command should be executed recursively. The default is true. False
revisionstring Specify the revision to update the file to. This corresponds to the "sticky-tag" of the file. False
sticky-tagstring Sticky tag or revision to update the local file to. False
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Update 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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..0534732e --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/cvs.html @@ -0,0 +1,248 @@ + + + + + + + + <cvs> Task + + + + + + + + +

<cvs>

+

Executes the cvs command specified by the command attribute.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
commandstring The cvs command to execute. True
commandlinestring 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. False
compressionlevelint Compression level to use for all net traffic. This should be a value from 1-9.



NOTE: This is not available on sharpcvslib.
False
cvsfullpathfile 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. False
cvsrootstring +

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
  • +
+

+
False
cvsrshfile The executable to use for ssh communication. False
destinationdirectory Destination directory for the local sandbox. If destination is not specified then the current directory is used. 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
modulestring The module to perform an operation on. False
passfilefile The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. False
passwordstring + Deprecated. The password for logging in to the repository. False
quietbool Indicates if the output from the cvs command should be supressed. The default is false. False
readonlybool + true if the sandbox files should be checked out in read only mode. The default is false. False
readwritebool + true if the sandbox files should be checked out in read/write mode. The default is true. False
reallyquietbool Indicates if the output from the cvs command should be stopped. The default is false. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
usesharpcvslibbool +

+ true if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, false 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 false.

+ If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. +
False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <fileset> +

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

+

+ + + </fileset> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Checkout 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) +
+ + \ 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 new file mode 100644 index 00000000..5a746e36 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/delay-sign.html @@ -0,0 +1,159 @@ + + + + + + + + <delay-sign> Task + + + + + + + + +

<delay-sign>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
keycontainerstring Specifies the key container. False
keyfilefile Specifies the filesystem path to the signing key. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <targets> +

+
List of assemblies/executables to sign.

+

+ + + </targets> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Sign partially-signed foo.dll with bar.snk.

    +
    +<delay-sign keyfile="bar.snk" verbose="false">
    +    <targets>
    +        <include name="foo.dll" />
    +    </targets>
    +</delay-sign>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..49ce08ad --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/delete.html @@ -0,0 +1,130 @@ + + + + + + + + <delete> Task + + + + + + + + +

<delete>

+

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.

+

If the specified file or directory does not exist, no error is reported.

+

+ Note: Read-only files cannot be deleted. Use the <attrib> task first to remove the read-only attribute.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
dirdirectory The directory to delete. False
filefile The file to delete. False
includeemptydirsbool Remove any empty directories included in the <fileset>. The default is true. False
verbosebool Controls whether to show the name of each deleted file or directory. 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
+
+

Nested Elements:

+ +

+ + + <fileset> +

+
All the files in the file set will be deleted.

+

+ + + </fileset> +

+

Examples

+
    +
  • +

    Delete a single file.

    +
    +<delete file="myfile.txt" />
    +    
    +
  • +
  • +

    Delete a directory and the contents within. If the directory does not exist, no error is reported.

    +
    +<delete dir="${build.dir}" />
    +    
    +
  • +
  • +

    Delete a set of files.

    +
    +<delete>
    +    <fileset>
    +        <include name="${basename}-??.exe" />
    +        <include name="${basename}-??.pdb" />
    +    </fileset>
    +</delete>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..d6050673 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/description.html @@ -0,0 +1,77 @@ + + + + + + + + <description> Task + + + + + + + + +

<description>

+

An empty task that allows a build file to contain a description.

+

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
+
+

Examples

+
    +
  • +

    Set a description.

    +
    +<description>This is a description.</description>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..4c703e62 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/echo.html @@ -0,0 +1,124 @@ + + + + + + + + <echo> Task + + + + + + + + +

<echo>

+

Writes a message to the build log or a specified file.

+

The message can be specified using the message attribute or as inline content.

+

Macros in the message will be expanded.

+

When writing to a file, the level attribute is ignored.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
appendbool Determines whether the <echo> task should append to the file, or overwrite it. By default, the file will be overwritten. False
filefile The file to write the message to. False
level + Level + The logging level with which the message should be output. The default is Info. False
messagestring The message to output. 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

+
    +
  • +

    Writes a message with level Debug to the build log.

    +
    +<echo message="Hello, World!" level="Debug" />
    +    
    +
  • +
  • +

    Writes a message with expanded macro to the build log.

    +
    +<echo message="Base build directory = ${nant.project.basedir}" />
    +    
    +
  • +
  • +

    Functionally equivalent to the previous example.

    +
    +<echo>Base build directory = ${nant.project.basedir}</echo>
    +    
    +
  • +
  • +

    Writes the previous message to a file in the project directory, overwriting the file if it exists.

    +
    +<echo file="buildmessage.txt">Base build directory = ${nant.project.basedir}</echo>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..338a340e --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/exec.html @@ -0,0 +1,231 @@ + + + + + + + + <exec> Task + + + + + + + + +

<exec>

+

Executes a system command.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
programstring The program to execute without command arguments. True
appendbool Gets or sets a value indicating whether output should be appended to the output file. The default is false. False
basedirdirectory The directory the program is in. False
commandlinestring The command-line arguments for the program. False
outputfile The file to which the standard output will be redirected. False
resultpropertystring +

The name of a property in which the exit code of the program should be stored. Only of interest if failonerror is false.

+

If the exit code of the program is "-1000" then the program could not be started, or did not exit (in time).

+
False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
workingdirdirectory The directory in which the command will be executed. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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 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> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Ping "nant.sourceforge.net".

    +
    +<exec program="ping">
    +    <arg value="nant.sourceforge.net" />
    +</exec>
    +    
    +
  • +
  • +

    Execute a java application using IKVM.NET that requires the Apache FOP jars, and a set of custom jars.

    +
    +      <path id="fop-classpath">
    +          <pathelement file="${fop.dist.dir}/build/fop.jar" />
    +          <pathelement file="${fop.dist.dir}/lib/xercesImpl-2.2.1.jar" />
    +          <pathelement file="${fop.dist.dir}/lib/avalon-framework-cvs-20020806.jar" />
    +          <pathelement file="${fop.dist.dir}/lib/batik.jar" />
    +      </path>
    +      <exec program="ikvm.exe" useruntimeengine="true">
    +          <arg value="-cp" />
    +          <arg>
    +              <path>
    +                  <pathelement dir="conf" />
    +                  <path refid="fop-classpath" />
    +                  <pathelement file="lib/mylib.jar" />
    +                  <pathelement file="lib/otherlib.zip" />
    +              </path>
    +          </arg>
    +          <arg value="org.me.MyProg" />
    +      </exec>
    +  
    +

    Assuming the base directory of the build file is "c:\ikvm-test" and the value of the "fop.dist.dir" property is "c:\fop", then the value of the -cp argument that is passed toikvm.exe is "c:\ikvm-test\conf;c:\fop\build\fop.jar;conf;c:\fop\lib\xercesImpl-2.2.1.jar;c:\fop\lib\avalon-framework-cvs-20020806.jar;c:\fop\lib\batik.jar;c:\ikvm-test\lib\mylib.jar;c:\ikvm-test\lib\otherlib.zip" on a DOS-based system.

    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..7d98f39d --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/fail.html @@ -0,0 +1,97 @@ + + + + + + + + <fail> Task + + + + + + + + +

<fail>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
messagestring A message giving further information on why the build exited. 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

+
    +
  • +

    Exits the current build without giving further information.

    +
    +<fail />
    +    
    +
  • +
  • +

    Exits the current build and writes a message to the build log.

    +
    +<fail message="Something wrong here." />
    +    
    +
  • +
  • +

    Functionally equivalent to the previous example.

    +
    +<fail>Something wrong here.</fail>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..d2bcfecb --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/foreach.html @@ -0,0 +1,199 @@ + + + + + + + + <foreach> Task + + + + + + + + +

<foreach>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
item + LoopItem + The type of iteration that should be done. True
propertystring The NAnt property name(s) that should be used for the current iterated item. True
delimstring The deliminator char. False
instring The source of the iteration. False
trim + LoopTrim + The type of whitespace trimming that should be done. The default is None. 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
+
+

Nested Elements:

+ +

+ + + <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> +

+

+ + + </in> +

+ +

+ + + <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> +

+

Examples

+
    +
  • +

    Loops over the files in c:\.

    +
    +<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>
    +    
    +
  • +
  • +

    Loops over the folders in c:\.

    +
    +<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>
    +    
    +
  • +
  • +

    Loops over a list.

    +
    +<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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ab69d40d --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/get.html @@ -0,0 +1,168 @@ + + + + + + + + <get> Task + + + + + + + + +

<get>

+

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.

+

The usetimestamp option enables you to control downloads so that the remote file is only fetched if newer than the local copy. If there is no local copy, the download always takes place. When a file is downloaded, the timestamp of the downloaded file is set to the remote timestamp.

+

+ Note: This timestamp facility only works on downloads using the HTTP protocol.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
destfile The file where to store the retrieved file. True
srcstring The URL from which to retrieve a file. True
httpproxystring + Deprecated. If inside a firewall, proxy server/port information Format: {proxy server name}:{port number} Example: proxy.mycompany.com:8080 False
ignoreerrorsbool + Deprecated. Log errors but don't treat as fatal. The default is false. False
timeoutint The length of time, in milliseconds, until the request times out. The default is 100000 milliseconds. False
usetimestampbool Conditionally download a file based on the timestamp of the local copy. HTTP only. 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
+
+

Nested Elements:

+ +

+ + + <proxy> +

+
The network proxy to use to access the Internet resource.

+

+ + + </proxy> +

+ +

+ + + <credentials> +

+
The network credentials used for authenticating the request with the Internet resource.

+

+ + + </credentials> +

+ +

+ + + <certificates> +

+
The security certificates to associate with the request.

+

+ + + </certificates> +

+

Examples

+
    +
  • +

    Gets the index page of the NAnt home page, and stores it in the file help/index.html relative to the project base directory.

    +
    +<get src="http://nant.sourceforge.org/" dest="help/index.html" />
    +    
    +
  • +
  • +

    Gets the index page of a secured web site using the given credentials, while connecting using the specified password-protected proxy server.

    +
    +<get src="http://password.protected.site/index.html" dest="secure/index.html">
    +    <credentials username="user" password="guess" domain="mydomain" />
    +    <proxy host="proxy.company.com" port="8080">
    +        <credentials username="proxyuser" password="dunno" />
    +    </proxy>
    +</get>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..58a05b15 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/gunzip.html @@ -0,0 +1,89 @@ + + + + + + + + <gunzip> Task + + + + + + + + +

<gunzip>

+

Expands a file packed using GZip compression.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
destfile The destination file. True
srcfile The file to expand. 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
+
+

Examples

+
    +
  • +

    Expands "test.tar.gz" to "test2.tar".

    +
    +<gunzip src="test.tar.gz" dest="test.tar" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..c6efe337 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/if.html @@ -0,0 +1,255 @@ + + + + + + + + <if> Task + + + + + + + + +

<if>

+

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.

+

The order of condition evaluation is, targetexists, propertyexists, propertytrue, uptodatefile.

+

+ Note: instead of using the deprecated attributes, we advise you to use the following functions in combination with the test attribute:

+
+ + + + + + + + + + + + + +
FunctionDescription
+ property::exists() + Checks whether the specified property exists.
+ target::exists() + Checks whether the specified target exists.
+
+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
comparefilestring + Deprecated. The file to check against for the uptodate file. False
propertyexistsstring + Deprecated. Used to test whether a property exists. False
propertytruestring + Deprecated. Used to test whether a property is true. False
targetexistsstring + Deprecated. Used to test whether a target exists. False
teststring Used to test arbitrary boolean expression. False
uptodatefilestring + Deprecated. The file to compare if uptodate. 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
+
+

Nested Elements:

+ +

+ + + <comparefiles> +

+
+ Deprecated. The <fileset> that contains the comparison files for the uptodatefile(s) check.

+

+ + + </comparefiles> +

+ +

+ + + <uptodatefiles> +

+
+ Deprecated. The <fileset> that contains the uptodate files for the comparefile(s) check.

+

+ + + </uptodatefiles> +

+

Examples

+
    +
  • +

    Tests the value of a property using expressions.

    +
    +<if test="${build.configuration='release'}">
    +    <echo>Build release configuration</echo>
    +</if>
    +    
    +
  • +
  • +

    Tests the the output of a function.

    +
    +<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>
    +    
    +
  • +
  • +

    + (Deprecated) Check that a target exists.

    +
    +<target name="myTarget" />
    +<if targetexists="myTarget">
    +    <echo message="myTarget exists" />
    +</if>
    +    
    +
  • +
  • +

    + (Deprecated) Check existence of a property.

    +
    +<if propertyexists="myProp">
    +    <echo message="myProp Exists. Value='${myProp}'" />
    +</if>
    +    
    +
  • +
  • +

    + (Deprecated) Check that a property value is true.

    +
    +<if propertytrue="myProp">
    +    <echo message="myProp is true. Value='${myProp}'" />
    +</if>
    +    
    +
  • +
  • +

    + (Deprecated) Check that a property exists and is true (uses multiple conditions).

    +
    +<if propertyexists="myProp" propertytrue="myProp">
    +    <echo message="myProp is '${myProp}'" />
    +</if>
    +    
    +

    which is the same as

    +
    +<if propertyexists="myProp">
    +    <if propertytrue="myProp">
    +        <echo message="myProp is '${myProp}'" />
    +    </if>
    +</if>
    +    
    +
  • +
  • +

    + (Deprecated) Check file dates. If myfile.dll is uptodate, then do stuff.

    +
    +<if uptodatefile="myfile.dll" comparefile="myfile.cs">
    +    <echo message="myfile.dll is newer/same-date as myfile.cs" />
    +</if>
    +    
    +

    or

    +
    +<if uptodatefile="myfile.dll">
    +    <comparefiles>
    +        <include name="*.cs" />
    +    </comparefiles>
    +    <echo message="myfile.dll is newer/same-date as myfile.cs" />
    +</if>
    +    
    +

    or

    +
    +<if>
    +    <uptodatefiles>
    +        <include name="myfile.dll" />
    +    </uptodatefiles>
    +    <comparefiles>
    +        <include name="*.cs" />
    +    </comparefiles>
    +    <echo message="myfile.dll is newer/same-date as myfile.cs" />
    +</if>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..03d7c238 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/ifnot.html @@ -0,0 +1,164 @@ + + + + + + + + <ifnot> Task + + + + + + + + +

<ifnot>

+

+ (Deprecated) +

+

The opposite of the if task.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
comparefilestring + Deprecated. The file to check against for the uptodate file. 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
propertyexistsstring + Deprecated. Used to test whether a property exists. False
propertytruestring + Deprecated. Used to test whether a property is true. False
targetexistsstring + Deprecated. Used to test whether a target exists. False
teststring Used to test arbitrary boolean expression. False
unlessbool Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. False
uptodatefilestring + Deprecated. The file to compare if uptodate. False
verbosebool Determines whether the task should report detailed build log messages. The default is false. False
+
+

Nested Elements:

+ +

+ + + <comparefiles> +

+
+ Deprecated. The <fileset> that contains the comparison files for the uptodatefile(s) check.

+

+ + + </comparefiles> +

+ +

+ + + <uptodatefiles> +

+
+ Deprecated. The <fileset> that contains the uptodate files for the comparefile(s) check.

+

+ + + </uptodatefiles> +

+

Examples

+
    +
  • +

    Check that a property does not exist.

    +
    +<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>
    +    
    +
  • +
  • +

    Check that a target does not exist.

    +
    +<ifnot targetexists="myTarget">
    +    <echo message="myTarget does not exist."/>
    +</if>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..f7fcb587 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/ilasm.html @@ -0,0 +1,230 @@ + + + + + + + + <ilasm> Task + + + + + + + + +

<ilasm>

+

Compiles ILASM programs.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
targetstring Specifies which output type should be generated. True
alignmentint Instructs the compiler to set the FileAlignment value in the PE header. False
baseint Instructs the compiler to set the ImageBase value in the PE header. False
clockbool Specifies whether or not the compiler should measure and report the compilation times. False
debugbool Specifies whether or not the compiler should generate debug information. False
errorbool Specifies whether or not the compiler should attempt to create a PE file even if compilation errors have been reported. False
flagsint Instructs the compiler to set the Flags value in the CLR header. False
keyfilefile Instructs the compiler to generate a strong signature of the PE file. False
keysourcestring Instructs the compiler to generate a strong signature of the PE file. False
listingbool Specifies whether or not the compiler should type a formatted listing of the compilation result. False
outputfile Specifies the name of the output file created by the compiler. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
resourcefilefile Instructs the compiler to link the specified unmanaged resource file into the resulting PE file. False
subsystemint Instructs the compiler to set the Subsystem value in the PE header. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <sources> +

+
Specifies the set of source files to compile.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compiles helloworld.il to helloworld.exe.

    +
    +<ilasm target="exe" output="helloworld.exe" debug="true">
    +    <sources>
    +        <include name="helloworld.il" />
    +    </sources>
    +</ilasm>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..c4916a7f --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/ildasm.html @@ -0,0 +1,240 @@ + + + + + + + + <ildasm> Task + + + + + + + + +

<ildasm>

+

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".

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
allbool Specifies whether or not the disassembler should combine the /HEADER, /BYTE, and /TOKENS options. The default is false. False
bytesbool Specifies whether or not the disassembler should generate the IL stream bytes (in hexadecimal notation) as instruction comments. The default is false. False
headerbool Specifies whether or not the disassembler should include PE header information and runtime header information in the output. The default is false. False
inputfile Specifies the PE file to disassemble. False
itemstring Instructs the disassembler to disassemble the specified item only. False
linenumbersbool Specifies whether or not the disassembler should include references to original source lines. The default is false. False
noilbool Specifies whether or not the disassembler should suppress ILASM code output. The default is false. False
outputfile Specifies the name of the output file created by the disassembler. False
publiconlybool Specifies whether or not the disassembler should disassemble public items only. This is a shortcut for visibility="pub". The default is false. False
quoteallnamesbool 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 false. False
rawexceptionhandlingbool Specifies whether or not the disassembler should generate structured exception handling clauses in canonical (label) form. The default is false. False
rebuildbool Instructs NAnt to rebuild the output file regardless of the file timestamps. The default is false. False
sourcebool Specifies whether or not the disassembler should generate original source lines as comments. The default is false. False
todirdirectory Specifies the directory to which outputs will be stored. False
tokensbool Specifies whether or not the disassembler should generate metadata token values as comments. The default is false. False
unicodebool Specifies whether or not the disassembler should use the UNICODE encoding when generating the output. The default is ANSI. False
utf8bool Specifies whether or not the disassembler should use the UTF-8 encoding when generating the output. The default is ANSI. False
visibilitystring Instructs the disassembler to disassemble only the items with the specified visibility. Possible values are PUB, PRI, FAM, ASM, FAA, FOA, PSC, or any combination of them separated by +. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <assemblies> +

+
Specifies a list of PE files to disassemble. To use a <fileset>, the todir attribute must be specified.

+

+ + + </assemblies> +

+

Examples

+
    +
  • +

    Disassembles helloworld.exe to helloworld.il.

    +
    +<ildasm input="helloworld.exe" output="helloworld.il" />
    +    
    +
  • +
  • +

    Disassembles a set of PE files into the specified directory.

    +
    +<ildasm todir=".">
    +    <assemblies>
    +        <include name="*.exe" />
    +        <include name="*.dll" />
    +    </assemblies>
    +</ildasm>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.MSNetTasks (0.85.2478.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 new file mode 100644 index 00000000..c4909605 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/include.html @@ -0,0 +1,92 @@ + + + + + + + + <include> Task + + + + + + + + +

<include>

+

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.

+

+ Note: 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.

+

+ Note: The project element attributes are ignored.

+

+ Note: This task can only be in the global (project level) section of the build file.

+

+ Note: This task can only include files from the file system.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
buildfilestring Build file to include. 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
+
+

Examples

+
    +
  • +

    Include a task that fetches the project version from the GetProjectVersion.include build file.

    +
    +<include buildfile="GetProjectVersion.include" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..9a47a62c --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/index.html @@ -0,0 +1,484 @@ + + + + + + + + Task Reference + + + + + + + + +

Task Reference

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TaskSummary
+ al + Wraps al.exe, the assembly linker for the .NET Framework.
+ asminfo + Generates an AssemblyInfo file using the attributes given.
+ attrib + Changes the file attributes of a file or set of files and directories.
+ + available + + Checks if a resource is available at runtime.
+ aximp + Generates a Windows Forms Control that wraps ActiveX Controls defined in an OCX.
+ call + Calls a NAnt target in the current project.
+ cl + Compiles C/C++ programs using cl.exe, Microsoft's C/C++ compiler.
+ copy + Copies a file or set of files to a new file or directory.
+ csc + Compiles C# programs.
+ cvs + Executes the cvs command specified by the command attribute.
+ cvs-changelog + Produces an XML report that represents the cvs changes from the given start day, to a given end date.
+ cvs-checkout + Checks out a CVS module to the required directory.
+ cvs-export + Exports a cvs module in preperation for a release (i.e. the CVS version folders are not exported).
+ cvs-pass + Executes the cvs login command which appends or updates an entry to the specified .cvspass file.
+ cvs-rtag + Tags all sources in the remote repository with a given tag.
+ cvs-tag + Tags all local sources with the specified tag.
+ cvs-update + Updates a CVS module in a local working directory.
+ delay-sign + Signs delay-signed .NET Assemblies, or re-signs existing assemblies.
+ delete + Deletes a file, fileset or directory.
+ description + An empty task that allows a build file to contain a description.
+ echo + Writes a message to the build log or a specified file.
+ exec + Executes a system command.
+ fail + Exits the current build by throwing a BuildException, optionally printing additional information.
+ foreach + Loops over a set of items.
+ get + Gets a particular file from a URL source.
+ gunzip + Expands a file packed using GZip compression.
+ if + Checks the conditional attributes and executes the children if true.
+ + ifnot + + The opposite of the if task.
+ ilasm + Compiles ILASM programs.
+ ildasm + Disassembles any portable executable (PE) file that contains intermediate language (IL) code.
+ include + Includes an external build file.
+ jsc + Compiles JScript.NET programs.
+ lib + Run lib.exe, Microsoft's Library Manager.
+ license + Generates a .licence file from a .licx file.
+ link + Links files using link.exe, Microsoft's Incremental Linker.
+ loadfile + Load a text file into a single property.
+ loadtasks + Loads tasks form a given assembly or all assemblies in a given directory or <fileset>.
+ mail + Sends an SMTP message.
+ mc + Compiles messages using mc.exe, Microsoft's Win32 message compiler.
+ midl + This tasks allows you to run MIDL.exe.
+ mkdir + Creates a directory and any non-existent parent directory if necessary.
+ move + Moves a file or set of files to a new file or directory.
+ nant + Runs NAnt on a supplied build file, or a set of build files.
+ nantschema + Creates an XSD File for all available tasks.
+ ndoc + Runs NDoc V1.3.1 to create documentation.
+ + nunit + + Runs tests using the NUnit V1.0 framework.
+ nunit2 + Runs tests using the NUnit V2.2 framework.
+ property + Sets a property in the current project.
+ rc + Compiles resources using rc.exe, Microsoft's Win32 resource compiler.
+ readregistry + Reads a value or set of values from the Windows Registry into one or more NAnt properties.
+ regasm + Registers an assembly, or set of assemblies for use from COM clients.
+ regex + Sets project properties based on the evaluatuion of a regular expression.
+ regsvcs + Installs or removes .NET Services.
+ resgen + Converts files from one resource format to another.
+ 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.
+ servicecontroller + Allows a Windows service to be controlled.
+ setenv + Sets an environment variable or a whole collection of them. Use an empty value attribute to clear a variable.
+ sleep + A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks.
+ solution + Compiles VS.NET solutions (or sets of projects), automatically determining project dependencies from inter-project references.
+ style + Processes a document via XSLT.
+ sysinfo + Sets properties with system information.
+ tar + Creates a tar file from the specified filesets.
+ tlbexp + Exports a .NET assembly to a type library that can be used from unmanaged code (wraps Microsoft's tlbexp.exe).
+ tlbimp + Imports a type library to a .NET assembly (wraps Microsoft's tlbimp.exe).
+ touch + Touches a file or set of files -- corresponds to the Unix touch command.
+ tstamp + Sets properties with the current date and time.
+ unzip + Extracts files from a zip file.
+ uptodate + Check modification dates on groups of files.
+ vbc + Compiles Visual Basic.NET programs.
+ vjc + Compiles Visual J# programs using vjc, Microsoft's J# compiler.
+ 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.
+ zip + Creates a zip file from the specified filesets.
+
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/tasks/jsc.html b/build-support/tools/nant/doc/help/tasks/jsc.html new file mode 100644 index 00000000..18693331 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/jsc.html @@ -0,0 +1,282 @@ + + + + + + + + <jsc> Task + + + + + + + + +

<jsc>

+

Compiles JScript.NET programs.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
codepagestring Specifies the code page to use for all source code files in the compilation. False
platformstring Specifies which platform version of common language runtime (CLR) can run the output file. False
warninglevelstring Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. False
outputfile The output file created by the compiler. True
targetstring Output type. Possible values are exe, winexe, library or module. True
debugbool Generate debug output. The default is false. False
definestring Define conditional compilation symbol(s). 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
mainstring Specifies which type contains the Main method that you want to use as the entry point into the program. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
warnaserrorbool Instructs the compiler to treat all warnings as errors. The default is false. False
win32iconfile Icon to associate with the application. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportsnowarnlistbool 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 false. False
supportspackagereferencesbool Indicates whether package references are supported by compiler for a given target framework. The default is false. False
supportsplatformbool Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is false. False
supportswarnaserrorlistbool Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <lib> +

+
+ Deprecated. Additional directories to search in for assembly references.

+

+ + + </lib> +

+ +

+ + + <references> +

+
Reference metadata from the specified assembly files.

+

+ + + </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>

+ + +

+ + + <resources> +

+
Resources to embed.
+

+ + + </resources> +

+ +

+ + + <sources> +

+
The set of source files for compilation.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compile helloworld.js to helloworld.exe.

    +
    +<jsc target="exe" output="helloworld.exe" debug="true">
    +    <sources>
    +        <include name="helloworld.js" />
    +    </sources>
    +</jsc>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..f864b17e --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/lib.html @@ -0,0 +1,192 @@ + + + + + + + + <lib> Task + + + + + + + + +

<lib>

+

Run lib.exe, Microsoft's Library Manager.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile The output file. True
moduledefinitionfile The module definition file. False
optionsstring Options to pass to the compiler. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <sources> +

+
The list of files to combine into the output file.

+

+ + + </sources> +

+ +

+ + + <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> +

+
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> +

+
The list of additional library directories to search.

+

+ + + </libdirs> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Create a library.

    +
    +<lib output="library.lib">
    +    <sources>
    +        <include name="library.obj" />
    +    </sources>
    +</lib>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..89ac1104 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/license.html @@ -0,0 +1,157 @@ + + + + + + + + <license> Task + + + + + + + + +

<license>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
inputfile Input file to process. True
licensetargetstring + Deprecated. Specifies the executable for which the .licenses file is generated. False
outputfile Name of the license file to output. False
targetstring Specifies the executable for which the .licenses file is generated. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
hascommandlinecompilerbool Indicates whether the current target framework has a command line tool for compiling licenses files. The default is true. False
supportsassemblyreferencesbool Indicates whether assembly references are supported by the current target framework. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <assemblies> +

+
Names of the references to scan for the licensed component.

+

+ + + </assemblies> +

+

Examples

+
    +
  • +

    Generate the file component.exe.licenses file from component.licx.

    +
    +<license input="component.licx" licensetarget="component.exe" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..032240e6 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/link.html @@ -0,0 +1,229 @@ + + + + + + + + <link> Task + + + + + + + + +

<link>

+

Links files using link.exe, Microsoft's Incremental Linker.

+

This task is intended for version 7.00.9466 of link.exe.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile The output file. True
optionsstring Options to pass to the compiler. False
pdbfilefile A user-specified name for the program database (PDB) that the linker creates. The default file name for the PDB has the base name of the output and the extension .pdb. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <delayloaded> +

+
Specified DLLs for delay loading.

+

+ + + </delayloaded> +

+ +

+ + + <sources> +

+
The list of files to combine into the output file.

+

+ + + </sources> +

+ +

+ + + <libdirs> +

+
The list of additional library directories to search.

+

+ + + </libdirs> +

+ +

+ + + <modules> +

+
Link the specified modules into this assembly.

+

+ + + </modules> +

+ +

+ + + <embeddedresources> +

+
Embed the specified resources into this assembly.

+

+ + + </embeddedresources> +

+ +

+ + + <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> +

+
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>

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Combine all object files in the current directory into helloworld.exe.

    +
    +<link output="helloworld.exe">
    +    <sources>
    +        <include name="*.obj" />
    +    </sources>
    +</link>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..5ece4dbd --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/loadfile.html @@ -0,0 +1,135 @@ + + + + + + + + <loadfile> Task + + + + + + + + +

<loadfile>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filefile The file to load. True
propertystring The name of the property to save the content to. True
encoding + Encoding + The encoding to use when loading the file. The default is the encoding associated with the system's current ANSI code page. 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
+
+

Nested Elements:

+ +

+ + + <filterchain> +

+
The filterchain definition to use.

+

+ + + </filterchain> +

+

Examples

+
    +
  • +

    Load file message.txt into 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" />
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..a2b6f91e --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/loadtasks.html @@ -0,0 +1,119 @@ + + + + + + + + <loadtasks> Task + + + + + + + + +

<loadtasks>

+

Loads tasks form a given assembly or all assemblies in a given directory or <fileset>.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
assemblyfile An assembly to load tasks from. False
pathdirectory A directory to scan for task assemblies. 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
+
+

Nested Elements:

+ +

+ + + <fileset> +

+
Used to select which directories or individual assemblies to scan.

+

+ + + </fileset> +

+

Examples

+
    +
  • +

    Load tasks from a single assembly.

    +
    +<loadtasks assembly="c:foo\NAnt.Contrib.Tasks.dll" />
    +    
    +
  • +
  • +

    Scan a single directory for task assemblies.

    +
    +<loadtasks path="c:\foo" />
    +    
    +
  • +
  • +

    Use a fileset containing both a directory and an assembly.

    +
    + <loadtasks>
    +    <fileset>
    +        <include name="C:\cvs\NAntContrib\build" />
    +        <include name="C:\cvs\NAntContrib\build\NAnt.Contrib.Tasks.dll" />
    +    </fileset>
    +</loadtasks>
    +     
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ff9a6463 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/mail.html @@ -0,0 +1,166 @@ + + + + + + + + <mail> Task + + + + + + + + +

<mail>

+

Sends an SMTP message.

+

Text and text files to include in the message body may be specified as well as binary attachments.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
fromstring Email address of sender. True
bccliststring Semicolon-separated list of BCC: recipient email addresses. False
ccliststring Semicolon-separated list of CC: recipient email addresses. False
format + MailFormat + Format of the message. The default is Text. False
mailhoststring Host name of mail server. The default is localhost. False
messagestring Text to send in body of email message. False
subjectstring Text to send in subject line of email message. False
toliststring Semicolon-separated list of recipient email addresses. 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
+
+

Nested Elements:

+ +

+ + + <files> +

+
Files that are transmitted as part of the body of the email message.

+

+ + + </files> +

+ +

+ + + <attachments> +

+
Attachments that are transmitted with the message.

+

+ + + </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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..f3b013ea --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/mc.html @@ -0,0 +1,158 @@ + + + + + + + + <mc> Task + + + + + + + + +

<mc>

+

Compiles messages using mc.exe, Microsoft's Win32 message compiler.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
mcfilefile Input filename. True
headerpathdirectory Path to store header file. The default is the project base directory. False
optionsstring Options to pass to the compiler. False
rcpathdirectory Path to store RC file. The default is the project base directory. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compile text.mc using the default options.

    +
    +<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"/>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..8dc229f1 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/midl.html @@ -0,0 +1,267 @@ + + + + + + + + <midl> Task + + + + + + + + +

<midl>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filenamefile Name of .IDL file to process. True
acfstring 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. False
alignstring 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. False
app_configbool 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. False
charstring The /char switch helps to ensure that the MIDL compiler and C compiler operate together correctly for all char and small types. False
clientstring The /client switch directs the MIDL compiler to generate client-side C source files for an RPC interface False
cstubstring The /cstub switch specifies the name of the client stub file for an RPC interface. False
dlldatafile Specifies the file name for the generated dlldata file for a proxy DLL. The default file name Dlldata.c is used if dlldata is not specified. False
envstring The /env switch selects the environment in which the application runs. False
headerfile Specifies the name of the header file. False
iidfile 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. False
Oistring The /Oi switch directs the MIDL compiler to use a fully-interpreted marshaling method. The /Oic and /Oicf switches provide additional performance enhancements. False
proxyfile Specifies the name of the interface proxy file for a COM interface. False
tlbfile Specifies a file name for the type library generated by the MIDL compiler. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <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> +

+
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> +

+
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> +

+
The list of directories in which to search for include files.

+

+ + + </includedirs> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..44ee5ddc --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/mkdir.html @@ -0,0 +1,89 @@ + + + + + + + + <mkdir> Task + + + + + + + + +

<mkdir>

+

Creates a directory and any non-existent parent directory if necessary.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
dirdirectory The directory to create. 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
+
+

Examples

+
    +
  • +

    Create the directory build.

    +
    +<mkdir dir="build" />
    +    
    +
  • +
  • +

    Create the directory tree one/two/three.

    +
    +<mkdir dir="one/two/three" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ad1f2360 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/move.html @@ -0,0 +1,190 @@ + + + + + + + + <move> Task + + + + + + + + +

<move>

+

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.

+

Encoding

+

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.

+

+ Note: If you employ filters in your move operation, you should limit the move to text files. Binary files will be corrupted by the move operation.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filefile The file to move. False
flattenbool Ignore directory structure of source directory, move all files into a single directory, specified by the todir attribute. The default is false. False
todirdirectory The directory to move to. False
tofilefile The file to move to. 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
includeemptydirsbool Copy any empty directories included in the <fileset>. The default is true. False
inputencoding + Encoding + The encoding to use when reading files. The default is the system's current ANSI code page. False
outputencoding + Encoding + The encoding to use when writing the files. The default is the encoding of the input file. False
overwritebool Overwrite existing files even if the destination files are newer. The default is false. 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:

+ +

+ + + <fileset> +

+
Used to select the files to move. To use a <fileset>, the todir attribute must be set.

+

+ + + </fileset> +

+ +

+ + + <filterchain> +

+
Chain of filters used to alter the file's content as it is moved.

+

+ + + </filterchain> +

+

Examples

+
    +
  • +

    Move a single file while changing its encoding from "latin1" to "utf-8".

    +
    +<move
    +    file="myfile.txt"
    +    tofile="mycopy.txt"
    +    inputencoding="latin1"
    +    outputencoding="utf-8" />
    +    
    +
  • +
  • +

    Move a set of files.

    +
    +<move todir="${build.dir}">
    +    <fileset basedir="bin">
    +        <include name="*.dll" />
    +    </fileset>
    +</move>
    +    
    +
  • +
  • +

    Move a set of files to a directory, replacing @TITLE@ with "Foo Bar" in all files.

    +
    +<move todir="../backup/dir">
    +    <fileset basedir="src_dir">
    +        <include name="**/*" />
    +    </fileset>
    +    <filterchain>
    +        <replacetokens>
    +            <token key="TITLE" value="Foo Bar" />
    +        </replacetokens>
    +    </filterchain>
    +</move>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..cb546a80 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/nant.html @@ -0,0 +1,164 @@ + + + + + + + + <nant> Task + + + + + + + + +

<nant>

+

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.

+

References to data types can also be passed to the new project, but by default they are not. If you set the inheritrefs to true, all references will be copied.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
buildfilefile The build file to build. False
inheritallbool Specifies whether current property values should be inherited by the executed project. The default is true. False
inheritrefsbool Specifies whether all references will be copied to the new project. The default is false. False
targetstring 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. 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
+
+

Nested Elements:

+ +

+ + + <buildfiles> +

+
Used to specify a set of build files to process.

+

+ + + </buildfiles> +

+ +

+ + + <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! +

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>
+

</properties>

+

Examples

+
    +
  • +

    Build a project located in a different directory if the debug property is not true.

    +
    +<nant buildfile="${src.dir}/Extras/BuildServer/BuildServer.build" unless="${debug}" />
    +    
    +
  • +
  • +

    Build a project while adding a set of properties to that project.

    +
    +<nant buildfile="${src.dir}/Extras/BuildServer/BuildServer.build">
    +    <properties>
    +        <property name="build.dir" value="c:/buildserver" />
    +        <property name="build.debug" value="false" />
    +        <property name="lib.dir" value="c:/shared/lib" readonly="true" />
    +    </properties>
    +</nant>
    +    
    +
  • +
  • +

    Build all projects named default.build located anywhere under the project base directory.

    +
    +<nant>
    +    <buildfiles>
    +        <include name="**/default.build" />
    +        <!-- avoid recursive execution of current build file -->
    +        <exclude name="${project::get-buildfile-path()}" />
    +    </buildfiles>
    +</nant>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..dd2e9f87 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/nantschema.html @@ -0,0 +1,96 @@ + + + + + + + + <nantschema> Task + + + + + + + + +

<nantschema>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile The name of the output file to which the XSD should be written. True
classstring The Type for which an XSD should be created. If not specified, an XSD will be created for all available tasks. False
target-nsstring The target namespace for the output. Defaults to "http://tempuri.org/nant-donotuse.xsd" 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

+
    +
  • +

    Creates a NAnt.xsd file in the current project directory.

    +
    +<nantschema output="NAnt.xsd" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..9cffaebe --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/ndoc.html @@ -0,0 +1,172 @@ + + + + + + + + <ndoc> Task + + + + + + + + +

<ndoc>

+

Runs NDoc V1.3.1 to create documentation.

+

See the NDoc home page for more information.

+

+ Note: By default, only the NDoc MSDN documenter ships as part of the NAnt distribution. To make another NDoc documenter from the NDoc V1.3.1 distribution available to the <ndoc> task, copy the documenter assembly (and possible dependencies) to the "lib" directory corresponding with the CLR you're running NAnt on (eg. <nant root>/bin/lib/net/1.1).

+

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
+
+

Nested Elements:

+ +

+ + + <assemblies> +

+
The set of assemblies to document.

+

+ + + </assemblies> +

+ +

+ + + <summaries> +

+
The set of namespace summary files.

+

+ + + </summaries> +

+ +

+ + + <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> +

+ +

+ + + <referencepaths> +

+
Collection of additional directories to search for referenced assemblies.

+

+ + + </referencepaths> +

+

Examples

+
    +
  • +

    Document two assemblies using the MSDN documenter. The namespaces are documented in NamespaceSummary.xml.

    +
    +<ndoc>
    +    <assemblies basedir="${build.dir}">
    +        <include name="NAnt.exe" />
    +        <include name="NAnt.Core.dll" />
    +    </assemblies>
    +    <summaries basedir="${build.dir}">
    +        <include name="NamespaceSummary.xml" />
    +    </summaries>
    +    <documenters>
    +        <documenter name="MSDN">
    +            <property name="OutputDirectory" value="doc\MSDN" />
    +            <property name="HtmlHelpName" value="NAnt" />
    +            <property name="HtmlHelpCompilerFilename" value="hhc.exe" />
    +            <property name="IncludeFavorites" value="False" />
    +            <property name="Title" value="An NDoc Documented Class Library" />
    +            <property name="SplitTOCs" value="False" />
    +            <property name="DefaulTOC" value="" />
    +            <property name="ShowVisualBasic" value="True" />
    +            <property name="ShowMissingSummaries" value="True" />
    +            <property name="ShowMissingRemarks" value="True" />
    +            <property name="ShowMissingParams" value="True" />
    +            <property name="ShowMissingReturns" value="True" />
    +            <property name="ShowMissingValues" value="True" />
    +            <property name="DocumentInternals" value="False" />
    +            <property name="DocumentProtected" value="True" />
    +            <property name="DocumentPrivates" value="False" />
    +            <property name="DocumentEmptyNamespaces" value="False" />
    +            <property name="IncludeAssemblyVersion" value="False" />
    +            <property name="CopyrightText" value="" />
    +            <property name="CopyrightHref" value="" />
    +         </documenter>
    +    </documenters> 
    +</ndoc>
    +    
    +

    Content of NamespaceSummary.xml :

    +
    +<namespaces>
    +    <namespace name="Foo.Bar">
    +        The <b>Foo.Bar</b> namespace reinvents the wheel.
    +    </namespace>
    +    <namespace name="Foo.Bar.Tests">
    +        The <b>Foo.Bar.Tests</b> namespace ensures that the Foo.Bar namespace reinvents the wheel correctly.
    +    </namespace>
    +</namespaces>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..c8ae1ad4 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/nunit.html @@ -0,0 +1,132 @@ + + + + + + + + <nunit> Task + + + + + + + + +

<nunit>

+

+ (Deprecated) +

+

Runs tests using the NUnit V1.0 framework.

+

See the NUnit home page for more information.

+

The haltonfailure or haltonerror attributes are only used to stop more than one test suite to stop running. If any test suite fails a build error will be thrown. Set failonerror to false to ignore test errors and continue build.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
haltonerrorbool Stops running tests when a test causes an error. The default is false. False
haltonfailurebool Stops running tests if a test fails (errors are considered failures as well). The default is false. False
timeoutint Cancel the individual tests if they do not finish in the specified time (measured in milliseconds). Ignored if fork is disabled. 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
+
+

Nested Elements:

+ + +

+ + + <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> +

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Run tests in the MyProject.Tests.dll assembly.

    +

    The test results are logged in results.xml and results.txt using the Xml and Plain formatters, respectively.

    +
    +<nunit basedir="build" verbose="false" haltonerror="true" haltonfailure="true">
    +    <formatter type="Xml" />
    +    <formatter type="Plain" />
    +    <test name="MyProject.Tests.AllTests" assembly="MyProject.Tests.dll" outfile="results"/>
    +</nunit>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.NUnit1Tasks (0.85.2478.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 new file mode 100644 index 00000000..b36af516 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/nunit2.html @@ -0,0 +1,156 @@ + + + + + + + + <nunit2> Task + + + + + + + + +

<nunit2>

+

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.

+

In order to run a test assembly built with NUnit 2.0 or 2.1 using <nunit2> task, you must add the following node to your test config file :

+
+<configuration>
+    ...
+    <runtime>
+        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+            <dependentAssembly>
+                <assemblyIdentity name="nunit.framework" publicKeyToken="96d09a1eb7f44a77" culture="Neutral" /> 
+                <bindingRedirect oldVersion="2.0.6.0" newVersion="2.2.8.0" /> 
+                <bindingRedirect oldVersion="2.1.4.0" newVersion="2.2.8.0" /> 
+            </dependentAssembly>
+        </assemblyBinding>
+    </runtime>
+    ...
+</configuration>
+    
+

See the NUnit home page for more information.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
haltonfailurebool Stop the test run if a test fails. 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
+
+

Nested Elements:

+ + +

+ + + <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> +

+

+ + + </test> +

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Run tests in the MyProject.Tests.dll assembly.

    +
    +<nunit2>
    +    <formatter type="Plain" />
    +    <test assemblyname="MyProject.Tests.dll" appconfig="MyProject.Tests.dll.config" />
    +</nunit2>
    +    
    +
  • +
  • +

    Only run tests that are not known to fail in files listed in the tests.txt file.

    +
    +<nunit2>
    +    <formatter type="Xml" usefile="true" extension=".xml" outputdir="${build.dir}/results" />
    +    <test>
    +        <assemblies>
    +            <includesfile name="tests.txt" />
    +        </assemblies>
    +        <categories>
    +            <exclude name="NotWorking" />
    +        </categories>
    +    </test>
    +</nunit2>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.NUnit2Tasks (0.85.2478.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 new file mode 100644 index 00000000..ea0be270 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/property.html @@ -0,0 +1,136 @@ + + + + + + + + <property> Task + + + + + + + + +

<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
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..0895d6d0 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/rc.html @@ -0,0 +1,180 @@ + + + + + + + + <rc> Task + + + + + + + + +

<rc>

+

Compiles resources using rc.exe, Microsoft's Win32 resource compiler.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
rcfilefile The resource file to compile. True
langidint Default language ID. False
optionsstring Options to pass to the compiler. False
outputfile Output file. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <includedirs> +

+
The list of directories in which to search for include files.

+

+ + + </includedirs> +

+ +

+ + + <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>

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compile text.rc to text.res using the default options.

    +
    +<rc rcfile="text.rc" output="text.res" />
    +    
    +
  • +
  • +

    Compile text.rc, passing an additional option.

    +
    +<rc rcfile="text.rc" options="/r"/>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VisualCppTasks (0.85.2478.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 new file mode 100644 index 00000000..a5f3a102 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/readregistry.html @@ -0,0 +1,111 @@ + + + + + + + + <readregistry> Task + + + + + + + + +

<readregistry>

+

Reads a value or set of values from the Windows Registry into one or more NAnt properties.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
keystring The registry key to read, including the path. True
hivestring Space separated list of registry hives to search for key. For a list of possible values, see RegistryHive. The default is LocalMachine. False
prefixstring +

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.

+
False
propertystring +

The property to set to the specified registry key value.

+

If this attribute is used then a single value will be read.

+
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

+
    +
  • +

    Read a single value from the registry.

    +
    +<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" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Win32Tasks (0.85.2478.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 new file mode 100644 index 00000000..6d06869b --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/regasm.html @@ -0,0 +1,211 @@ + + + + + + + + <regasm> Task + + + + + + + + +

<regasm>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
assemblyfile The name of the file to register. This is provided as an alternate to using the task's assemblies. False
codebasebool Set the code base registry setting. False
regfilefile Registry file to export to instead of entering the types directly into the registry. False
registeredbool Only refer to already registered type libraries. False
typelibfile Export the assemblies to the specified type library and register it. False
unregisterbool Unregister the assembly. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ +

+ + + <assemblies> +

+
The set of assemblies to register, or unregister.

+

+ + + </assemblies> +

+ +

+ + + <references> +

+
The set of assembly references.

+

+ + + </references> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Register types in a single assembly.

    +
    +<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" />
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Win32Tasks (0.85.2478.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 new file mode 100644 index 00000000..dd2c45ec --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/regex.html @@ -0,0 +1,116 @@ + + + + + + + + <regex> Task + + + + + + + + +

<regex>

+

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').

+

+ Note: In the build file, use the XML element &lt; to specify <, and &gt; to specify >.

+

+ Note: The named grouping construct must not contain any punctuation and it cannot begin with a number.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
inputstring Represents the input for the regular expression. True
patternstring Represents the regular expression to be evalued. True
options + RegexOptions + A comma separated list of options to pass to the regex engine. The default is None. 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

+
    +
  • +

    Find the last word in the given string and stores it in the property lastword.

    +
    +<regex pattern="(?'lastword'\w+)$" input="This is a test sentence" />
    +<echo message="${lastword}" />
    +    
    +
  • +
  • +

    Split the full filename and extension of a filename.

    +
    +<regex pattern="^(?'filename'.*)\.(?'extension'\w+)$" input="d:\Temp\SomeDir\SomeDir\bla.xml" />
    +    
    +
  • +
  • +

    Split the path and the filename. (This checks for / or \ as the path separator).

    +
    +<regex pattern="^(?'path'.*(\\|/)|(/|\\))(?'file'.*)$" input="d:\Temp\SomeDir\SomeDir\bla.xml" />
    +    
    +

    Results in path=d:\Temp\SomeDir\SomeDir\ and file=bla.xml.

    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..a026d5cd --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/regsvcs.html @@ -0,0 +1,212 @@ + + + + + + + + <regsvcs> Task + + + + + + + + +

<regsvcs>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
assemblyfile The source assembly file. True
action + ActionType + Defines the action to take with the assembly. The default is FindOrCreate. False
applicationstring Specifies the name of the COM+ application to either find or create. False
componentsonlybool Configures components only; ignores methods and interfaces. The default is false. False
existingappbool Expect an existing application. The default is false. False
existingtlbbool Uses an existing type library. The default is false. False
noreconfigbool Do not reconfigure an existing target application. The default is false. False
partitionstring Specifies the name or id of the COM+ application to either find or create. False
tlbfile Specifies the type library file to install. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </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" />
    +    
    +
  • +
  • +

    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" />
    +    
    +
  • +
  • +

    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" />
    +    
    +
  • +
  • +

    Uninstalls the COM+ application contained in myTest.dll.

    +
    +<regsvcs action="Uninstall" assembly="myTest.dll" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..515efc33 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/resgen.html @@ -0,0 +1,208 @@ + + + + + + + + <resgen> Task + + + + + + + + +

<resgen>

+

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.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
inputfile Input file to process. False
outputfile The resource file to output. False
targetstring The target type. The default is resources. False
todirdirectory The directory to which outputs will be stored. False
usesourcepathbool Use each source file's directory as the current directory for resolving relative file paths. The default is false. Only supported when targeting .NET 2.0 (or higher). 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportsassemblyreferencesbool Indicates whether assembly references are supported by the resgen tool for the current target framework. The default is false. False
supportsexternalfilereferencesbool Indicates whether external file references are supported by the resgen tool for the current target framework. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <resources> +

+
Takes a list of .resx or .txt files to convert to .resources files.

+

+ + + </resources> +

+ +

+ + + <assemblies> +

+
Reference metadata from the specified assembly files.

+

+ + + </assemblies> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Convert a resource file from the .resx to the .resources format.

    +
    +<resgen input="translations.resx" output="translations.resources" />
    +    
    +
  • +
  • +

    Convert a set of .resx files to the .resources format.

    +
    +<resgen todir=".">
    +    <resources>
    +        <include name="*.resx" />
    +    </resources>
    +</resgen>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..ba62516b --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/script.html @@ -0,0 +1,270 @@ + + + + + + + + <script> Task + + + + + + + + +

<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.

+

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:

+
    +
  • System
  • +
  • System.Collections
  • +
  • System.Collections.Specialized
  • +
  • System.IO
  • +
  • System.Text
  • +
  • System.Text.RegularExpressions
  • +
  • NAnt.Core
  • +
+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
languagestring The language of the script block. Possible values are "VB", "vb", "VISUALBASIC", "C#", "c#", "CSHARP". "JS", "js", "JSCRIPT" "VJS", "vjs", "JSHARP" or a fully-qualified name for a class implementing CodeDomProvider. True
mainclassstring The name of the main class containing the static ScriptMain entry point. False
prefixstring The namespace prefix for any custom functions defined in the script. If ommitted the prefix will default to 'script' 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
+
+

Nested Elements:

+ +

+ + + <references> +

+
Any required references.

+

+ + + </references> +

+ +

+ + + <imports> +

+
The namespaces to import.

+

+ + + </imports> +

+ +

+ + + <code> +

+
The code to execute.

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

+

+ + + </code> +

+

Examples

+
    +
  • +

    Run C# code that writes a message to the build log.

    +
          <script language="C#">
    +          <code>
    +            <![CDATA[
    +              public static void ScriptMain(Project project) {
    +                  project.Log(Level.Info, "Hello World from a script task using C#");
    +              }
    +            ]]>
    +          </code>
    +      </script>
    +
    +
  • +
  • +

    Define a custom function and call it using C#.

    +
          <script language="C#" prefix="test" >
    +          <code>
    +            <![CDATA[
    +              [Function("test-func")]
    +              public static string Testfunc(  ) {
    +                  return "some result !!!!!!!!";
    +              }
    +            ]]>
    +          </code>
    +      </script>
    +      <echo message='${test::test-func()}'/>
    +
    +
  • +
  • +

    Use a custom namespace in C# to create a database

    +
          <script language="C#" >
    +          <references>
    +              <include name="System.Data.dll" />
    +          </references>
    +          <imports>
    +              <import namespace="System.Data.SqlClient" />
    +          </imports>
    +          <code>
    +            <![CDATA[
    +              public static void ScriptMain(Project project) {
    +                  string dbUserName = "nant";
    +                  string dbPassword = "nant";
    +                  string dbServer = "(local)";
    +                  string dbDatabaseName = "NAntSample";
    +                  string connectionString = String.Format("Server={0};uid={1};pwd={2};", dbServer, dbUserName, dbPassword);
    +                  
    +                  SqlConnection connection = new SqlConnection(connectionString);
    +                  string createDbQuery = "CREATE DATABASE " + dbDatabaseName;
    +                  SqlCommand createDatabaseCommand = new SqlCommand(createDbQuery);
    +                  createDatabaseCommand.Connection = connection;
    +                  
    +                  connection.Open();
    +                  
    +                  try {
    +                      createDatabaseCommand.ExecuteNonQuery();
    +                      project.Log(Level.Info, "Database added successfully: " + dbDatabaseName);
    +                  } catch (Exception e) {
    +                      project.Log(Level.Error, e.ToString());
    +                  } finally {
    +                      connection.Close();
    +                  }
    +              }
    +            ]]>
    +          </code>
    +      </script>
    +
    +
  • +
  • +

    Run Visual Basic.NET code that writes a message to the build log.

    +
          <script language="VB">
    +          <code>
    +            <![CDATA[
    +              Public Shared Sub ScriptMain(project As Project)
    +                  project.Log(Level.Info, "Hello World from a script task using Visual Basic.NET")
    +              End Sub
    +            ]]>
    +          </code>
    +      </script>
    +
    +
  • +
  • +

    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
    +                }
    +              ]]>
    +            </code>
    +        </script>
    +        <usertask message='Hello from UserTask'/>
    +  
    +
  • +
  • +

    Define a custom function and call it using Boo.

    +
          <script language="Boo.CodeDom.BooCodeProvider, Boo.CodeDom, Version=1.0.0.0, Culture=neutral, PublicKeyToken=32c39770e9a21a67"
    +          failonerror="true">
    +          <code>
    +            <![CDATA[
    +             
    +              [Function("test-func")]
    +              def MyFunc():
    +                  return "Hello from Boo !!!!!!"
    +            ]]>
    +          </code>
    +      </script>
    +      <echo message='${script::test-func()}'/>
    +
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..40ebed33 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/servicecontroller.html @@ -0,0 +1,109 @@ + + + + + + + + <servicecontroller> Task + + + + + + + + +

<servicecontroller>

+

Allows a Windows service to be controlled.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
action + ActionType + The action that should be performed on the service. True
servicestring The name of the service that should be controlled. True
machinestring The name of the computer on which the service resides. The default is the local computer. False
timeoutdouble The time, in milliseconds, the task will wait for the service to reach the desired status. The default is 5000 milliseconds. 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

+
    +
  • +

    Starts the World Wide Web Publishing Service on the local computer.

    +
    +<servicecontroller action="Start" service="w3svc" />
    +    
    +
  • +
  • +

    Stops the Alerter service on computer 'MOTHER'.

    +
    +<servicecontroller action="Stop" service="Alerter" machine="MOTHER" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.MSNetTasks (0.85.2478.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 new file mode 100644 index 00000000..64af8ed4 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/setenv.html @@ -0,0 +1,223 @@ + + + + + + + + <setenv> Task + + + + + + + + +

<setenv>

+

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.

+

+ Note: Expansion of inline environment variables is performed using the syntax of the current platform. So on Windows platforms using the string %PATH% in the value attribute will result in the value of the PATH variable being expanded in place before the variable is set.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
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
namestring The name of a single Environment variable to set 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
valuestring The literal value for the environment variable. 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
+
+

Nested Elements:

+ + +

+ + + <variable> +

+
+

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> +

+

Examples

+
    +
  • +

    Set the MONO_PATH environment variable on a *nix platform.

    +
    +  <setenv name=="MONO_PATH" value="/home/jimbob/dev/foo:%MONO_PATH%"/>
    +  
    +
  • +
  • +

    Set a collection of environment variables. Note the nested variable used to set var3.

    +
    +  <setenv>
    +          <variable name="var1" value="value2" />
    +          <variable name="var2" value="value2" />
    +          <variable name="var3" value="value3:%var2%" />
    +  </setenv>
    +  
    +
  • +
  • +

    Set environment variables using nested path elements.

    +
    +  <path id="build.path">
    +         <pathelement dir="c:/windows" />
    +         <pathelement dir="c:/cygwin/usr/local/bin" />
    +     </path>
    +  <setenv>         
    +          <variable name="build_path" >
    +                 <path refid="build.path" />
    +          </variable>
    +          <variable name="path2">
    +             <path>
    +                 <pathelement dir="c:/windows" />
    +                 <pathelement dir="c:/cygwin/usr/local/bin" />
    +             </path>
    +          </variable>
    +  </setenv>    
    +  
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..cb7a0d9a --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/sleep.html @@ -0,0 +1,107 @@ + + + + + + + + <sleep> Task + + + + + + + + +

<sleep>

+

A task for sleeping a specified period of time, useful when a build or deployment process requires an interval between tasks.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
hoursint Hours to add to the sleep time. False
millisecondsint Milliseconds to add to the sleep time. False
minutesint Minutes to add to the sleep time. False
secondsint Seconds to add to the sleep time. 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

+
    +
  • +

    Sleep 1 hour, 2 minutes, 3 seconds and 4 milliseconds.

    +
    +<sleep hours="1" minutes="2" seconds="3" milliseconds="4" />
    +    
    +
  • +
  • +

    Sleep 123 milliseconds.

    +
    +<sleep milliseconds="123" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..3183861f --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/solution.html @@ -0,0 +1,231 @@ + + + + + + + + <solution> Task + + + + + + + + +

<solution>

+

Compiles VS.NET solutions (or sets of projects), automatically determining project dependencies from inter-project references.

+

This task support the following projects:

+
    +
  • Visual Basic .NET
  • +
  • Visual C# .NET
  • +
  • Visual J# .NET
  • +
  • Visual C++ .NET
  • +
+

+ Note: Right now, only Microsoft Visual Studio .NET 2002 and 2003 solutions and projects are supported. Support for .NET Compact Framework projects is also not available at this time.

+

The <solution> task also supports the model of referencing projects by their output filenames, rather than referencing them inside the solution. It will automatically detect the existance of a file reference and convert it to a project reference. For example, if project "A" references the file in the release output directory of project "B", the <solution> task will automatically convert this to a project dependency on project "B" and will reference the appropriate configuration output directory at the final build time (ie: reference the debug version of "B" if the solution is built as debug).

+

+ Note: The <solution> task expects all project files to be valid XML files.

+

Resx Files

+

When building a project for a down-level target framework, special care should be given to resx files. Resx files (can) contain references to a specific version of CLR types, and as such are only upward compatible.

+

For example: if you want to be able to build a project both as a .NET 1.0 and .NET 1.1 assembly, the resx files should only contain references to .NET 1.0 CLR types. Failure to do this may result in a InvalidCastException failure at runtime on machines with only the .NET Framework 1.0 installed.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
configurationstring The name of the solution configuration to build. True
enablewebdavbool Allow the task to use WebDAV for retrieving/compiling the projects within solution. Use of WebMap is preferred over WebDAV. The default is false. False
includevsfoldersbool Includes Visual Studio search folders in reference search path. The default is true. False
outputdirdirectory The directory where compiled targets will be placed. This overrides path settings contained in the solution/project. False
solutionfilefile The name of the VS.NET solution file to build. 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
+
+

Nested Elements:

+ +

+ + + <projects> +

+
The projects to build.

+

+ + + </projects> +

+ +

+ + + <referenceprojects> +

+
The projects to scan, but not build.

+

+ + + </referenceprojects> +

+ +

+ + + <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> +

+
Fileset of projects to exclude.

+

+ + + </excludeprojects> +

+ +

+ + + <assemblyfolders> +

+
Set of folders where references are searched when not found in path from project file (HintPath).

+

+ + + </assemblyfolders> +

+

Examples

+
    +
  • +

    Compiles all of the projects in test.sln, in release mode, in the proper order.

    +
    +<solution configuration="release" solutionfile="test.sln" />
    +    
    +
  • +
  • +

    Compiles all of the projects in projects.txt, in the proper order.

    +
    +<solution configuration="release">
    +    <projects>
    +        <includesfile name="projects.txt" />
    +   </projects>
    +</solution>
    +    
    +
  • +
  • +

    Compiles projects A, B and C, using the output of project X as a reference.

    +
    +<solution configuration="release">
    +    <projects>
    +        <include name="A\A.csproj" />
    +        <include name="B\b.vbproj" />
    +        <include name="C\c.csproj" />
    +    </projects>
    +    <referenceprojects>
    +        <include name="X\x.csproj" />
    +    </referenceprojects>
    +</solution>
    +    
    +
  • +
  • +

    Compiles all of the projects in the solution except for project A.

    +
    +<solution solutionfile="test.sln" configuration="release">
    +    <excludeprojects>
    +        <include name="A\A.csproj" />
    +    </excludeprojects>
    +</solution>
    +    
    +
  • +
  • +

    Compiles all of the projects in the solution mapping the specific project at http://localhost/A/A.csproj to c:\inetpub\wwwroot\A\A.csproj and any URLs under http://localhost/B/[remainder] to c:\other\B\[remainder]. This allows the build to work without WebDAV.

    +
    +<solution solutionfile="test.sln" configuration="release">
    +    <webmap>
    +        <map url="http://localhost/A/A.csproj" path="c:\inetpub\wwwroot\A\A.csproj" />
    +        <map url="http://localhost/B" path="c:\other\B" />
    +    </webmap>
    +</solution>
    +    
    +
  • +
  • +

    Compiles all of the projects in the solution placing compiled outputs in c:\temp.

    +
    +<solution solutionfile="test.sln" configuration="release" outputdir="c:\temp" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.VSNetTasks (0.85.2478.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 new file mode 100644 index 00000000..89ab528c --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/style.html @@ -0,0 +1,193 @@ + + + + + + + + <style> Task + + + + + + + + +

<style>

+

Processes a document via XSLT.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
style + Uri + 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. True
destdirdirectory Directory in which to store the results. The default is the project base directory. False
extensionstring Desired file extension to be used for the targets. The default is html. False
infile Specifies a single XML document to be styled. Should be used with the out attribute. False
outfile Specifies the output name for the styled result from the in attribute. 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
+
+

Nested Elements:

+ +

+ + + <infiles> +

+
Specifies a group of input files to which to apply the stylesheet.

+

+ + + </infiles> +

+ +

+ + + <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> +

+
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> +

+
The network proxy to use to access the Internet resource.

+

+ + + </proxy> +

+

Examples

+
    +
  • +

    Create a report in 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>
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..45b37bc0 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/sysinfo.html @@ -0,0 +1,193 @@ + + + + + + + + <sysinfo> Task + + + + + + + + +

<sysinfo>

+

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.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyValue
<prefix>.clr.versionCommon Language Runtime version number.
<prefix>.env.*Environment variables (e.g., <prefix>.env.PATH).
<prefix>.os.platformOperating system platform ID.
<prefix>.os.versionOperating system version.
<prefix>.osOperating system version string.
<prefix>.os.folder.applicationdataThe directory that serves as a common repository for application-specific data for the current roaming user.
<prefix>.os.folder.commonapplicationdataThe directory that serves as a common repository for application-specific data that is used by all users.
<prefix>.os.folder.commonprogramfilesThe directory for components that are shared across applications.
<prefix>.os.folder.desktopdirectoryThe directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder.
<prefix>.os.folder.programfilesThe Program Files directory.
<prefix>.os.folder.systemThe System directory.
<prefix>.os.folder.tempThe temporary directory.
+
+

When the name of an environment variable is not a valid property name, the task will fail. In that case, set failonerror to true to allow that environment variable to be skipped.

+

+ Note: we advise you to use the following functions instead:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionDescription
+ environment::get-operating-system() + Gets a OperatingSystem object that identifies this operating system.
+ environment::get-folder-path() + Gets the path to a system special folder.
+ environment::get-variable() + Returns the value of a environment variable.
+ path::get-temp-path() + Gets the path to the temporary directory.
+ environment::get-version() + Gets the Common Language Runtime version.
+
+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
prefixstring The string to prefix the property names with. The default is "sys.". 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

+
    +
  • +

    Register the properties with the default property prefix.

    +
    +<sysinfo />
    +    
    +
  • +
  • +

    Register the properties without a prefix.

    +
    +<sysinfo prefix="" />
    +    
    +
  • +
  • +

    Register properties and display a summary.

    +
    +<sysinfo verbose="true" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..6e9d6440 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/tar.html @@ -0,0 +1,119 @@ + + + + + + + + <tar> Task + + + + + + + + +

<tar>

+

Creates a tar file from the specified filesets.

+

Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
destfilefile The tar file to create. True
compression + TarCompressionMethod + The compression method. The default is None. False
includeemptydirsbool Include empty directories in the generated tar file. 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
+
+

Nested Elements:

+ + +

+ + + <fileset> +

+
The set of files to be included in the archive.
+

+ + + </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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..b5492a26 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/tlbexp.html @@ -0,0 +1,151 @@ + + + + + + + + <tlbexp> Task + + + + + + + + +

<tlbexp>

+

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. +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
assemblyfile Specifies the assembly for which to export a type library. True
outputfile Specifies the name of the type library file to generate. True
namesfile Specifies the file used to determine capitalization of names in a type library. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring 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:

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Export DotNetAssembly.dll to LegacyCOM.dll.

    +
    +<tlbexp assembly="DotNetAssembly.dll" output="LegacyCOM.dll" />
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Win32Tasks (0.85.2478.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 new file mode 100644 index 00000000..b28d8603 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/tlbimp.html @@ -0,0 +1,240 @@ + + + + + + + + <tlbimp> Task + + + + + + + + +

<tlbimp>

+

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. +

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
outputfile Specifies the name of the output file. True
typelibfile Specifies the source type library that gets passed to the type library importer. True
asmversionstring Specifies the version number of the assembly to produce. False
delaysignbool Specifies whether the resulting assembly should be signed with a strong name using delayed signing. The default is false. False
keycontainerstring 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. False
keyfilefile Specifies the publisher's official public/private key pair with which the resulting assembly should be signed with a strong name. False
namespacestring Specifies the namespace in which to produce the assembly. False
primarybool Specifies whether a primary interop assembly should be produced for the specified type library. The default is false. False
publickeyfile Specifies the file containing the public key to use to sign the resulting assembly. False
strictrefbool 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 false. False
sysarraybool Specifies whether to import a COM style SafeArray as a managed Array class type. The default is false. False
transformstring Specifies how to transform the metadata [.NET 1.1 or higher]. False
unsafebool Specifies whether interfaces should be produced without .NET Framework security checks. 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
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportstransformbool Indicates whether tlbimp supports transforming metadata for a given target framework. The default is true. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <references> +

+
Specifies the assembly files to use to resolve references to types defined outside the current type library.

+

+ + + </references> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Import LegacyCOM.dll to 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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Win32Tasks (0.85.2478.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 new file mode 100644 index 00000000..374116a1 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/touch.html @@ -0,0 +1,120 @@ + + + + + + + + <touch> Task + + + + + + + + +

<touch>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
datetimedatetime Specifies the new modification time of the file in the format MM/DD/YYYY HH:MM:SS. False
filefile The file to touch. False
millislong Specifies the new modification time of the file(s) in milliseconds since midnight Jan 1 1970. 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
+
+

Nested Elements:

+ +

+ + + <fileset> +

+
Used to select files that should be touched.

+

+ + + </fileset> +

+

Examples

+
    +
  • +

    Touch the Main.cs file. The current time is used.

    +
    +<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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..2bd2b70a --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/tstamp.html @@ -0,0 +1,159 @@ + + + + + + + + <tstamp> Task + + + + + + + + +

<tstamp>

+

Sets properties with the current date and time.

+

By default the <tstamp> task displays the current date and time and sets the following properties:

+
    +
  • tstamp.date to yyyyMMdd
  • +
  • tstamp.time to HHmm
  • +
  • tstamp.now using the default DateTime.ToString() method
  • +
+

To set an additional property with a custom date/time use the property and pattern attributes. To set a number of additional properties with the exact same date and time use the formatter nested element (see example).

+

The date and time string displayed by the <tstamp> task uses the computer's default long date and time string format. You might consider setting these to the ISO 8601 standard for date and time notation.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
patternstringThe date/time pattern to be used.False
propertystring The property to receive the date/time string in the given pattern. 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
+
+

Nested Elements:

+ + +

+ + + <formatter> +

+
+

+

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
patternstring The string pattern to use to format the property. True
propertystring The name of the NAnt property to set. True
ifbool Indicates if the formatter should be used to format the timestamp. If true then the formatter will be used; otherwise, skipped. The default is true. False
unlessbool Indicates if the formatter should be not used to format the timestamp. If false then the formatter will be used; otherwise, skipped. The default is false. False
+
+
+

+ + + </formatter> +

+

Examples

+
    +
  • +

    Set the build.date property.

    +
    +<tstamp property="build.date" pattern="yyyyMMdd" verbose="true" />
    +    
    +
  • +
  • +

    Set a number of properties for Ant like compatibility.

    +
    +<tstamp verbose="true">
    +    <formatter property="TODAY" pattern="dd MMM yyyy"/>
    +    <formatter property="DSTAMP" pattern="yyyyMMdd" unless="${date.not.needed}" />
    +    <formatter property="TSTAMP" pattern="HHmm" if="${need.hours}" />
    +</tstamp>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..39c76787 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/unzip.html @@ -0,0 +1,98 @@ + + + + + + + + <unzip> Task + + + + + + + + +

<unzip>

+

Extracts files from a zip file.

+

Uses #ziplib (SharpZipLib), an open source Zip/GZip library written entirely in C#.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
zipfilefile The archive file to expand. True
encoding + Encoding + The character encoding that has been used for filenames inside the zip file. The default is the system's OEM code page. False
todirdirectory The directory where the expanded files should be stored. The default is the project base directory. 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

+
    +
  • +

    Extracts all the file from the zip, preserving the directory structure.

    +
    +<unzip zipfile="backup.zip"/>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..5b61f681 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/uptodate.html @@ -0,0 +1,46 @@ + + + + + + + + <uptodate> Task + + + + + + + + +

<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> +

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>
    +        <include name="myfile.cs" />
    +    </sourcefiles>
    +    <targetfiles>
    +        <include name="myfile.dll" />
    +    </targetfiles>
    +</uptodate>
    +    

Requirements

Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ecee8065 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/vbc.html @@ -0,0 +1,449 @@ + + + + + + + + <vbc> Task + + + + + + + + +

<vbc>

+

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".

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
baseaddressstring 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. False
debug + DebugOutput + Specifies the type of debugging information generated by the compiler. The default is None. False
docfile The name of the XML documentation file to generate. Only supported when targeting .NET 2.0 (or higher). False
importsstring + Deprecated. Specifies whether the /imports option gets passed to the compiler. False
nostdlibbool 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
optioncomparestring Specifies whether /optioncompare option gets passed to the compiler. False
optionexplicitbool Specifies whether the /optionexplicit option gets passed to the compiler. The default is false. False
optionoptimizebool Specifies whether the /optimize option gets passed to the compiler. The default is false. False
optionstrictbool Specifies whether the /optionstrict option gets passed to the compiler. The default is false. False
platformstring Specifies which platform version of common language runtime (CLR) can run the output file. False
removeintchecksbool Specifies whether the /removeintchecks option gets passed to the compiler. The default is false. False
rootnamespacestring Specifies whether the /rootnamespace option gets passed to the compiler. False
outputfile The output file created by the compiler. True
targetstring Output type. Possible values are exe, winexe, library or module. True
definestring Define conditional compilation symbol(s). 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
keycontainerstring Specifies the key pair container used to strongname the assembly. False
keyfilefile Specifies a strong name key file. False
mainstring Specifies which type contains the Main method that you want to use as the entry point into the program. False
nowarnstring + Deprecated. Specifies a comma-separated list of warnings that should be suppressed by the compiler. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
warnaserrorbool Instructs the compiler to treat all warnings as errors. The default is false. False
win32iconfile Icon to associate with the application. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
nostdlibbool 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
supportsdocgenerationbool Specifies whether the compiler for the active target framework supports generation of XML Documentation file. The default is false. False
supportskeycontainerbool Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is false. False
supportskeyfilebool Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is false. False
supportsnostdlibbool Specifies whether the compiler for the active target framework supports NOT referencing standard libraries (system.dll and VBC.RSP). The default is false. False
supportsnowarnlistbool 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 false. False
supportspackagereferencesbool Indicates whether package references are supported by compiler for a given target framework. The default is false. False
supportsplatformbool Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is false. False
supportswarnaserrorlistbool Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <imports> +

+
The namespaces to import.

+

+ + + </imports> +

+ +

+ + + <warnaserror> +

+
Controls which warnings should be reported as errors.

+

+ + + </warnaserror> +

+ +

+ + + <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> +

+
+ Deprecated. Additional directories to search in for assembly references.

+

+ + + </lib> +

+ +

+ + + <references> +

+
Reference metadata from the specified assembly files.

+

+ + + </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>

+ + +

+ + + <resources> +

+
Resources to embed.
+

+ + + </resources> +

+ +

+ + + <modules> +

+
Link the specified modules into this assembly.

+

+ + + </modules> +

+ +

+ + + <sources> +

+
The set of source files for compilation.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Example build file using this task.

    +
    +<project name="Hello World" default="build" basedir=".">
    +  <property name="basename" value="HelloWorld" />
    +  <target name="clean">
    +     <delete file="${basename}-vb.exe" failonerror="false" />
    +     <delete file="${basename}-vb.pdb" failonerror="false" />
    +  </target>
    +  <target name="build">
    +     <vbc target="exe" output="${basename}-vb.exe" rootnamespace="${basename}">
    +        <imports>
    +            <import namespace="System" />
    +            <import namespace="System.Data" />
    +        </imports>
    +        <sources>
    +           <include name="${basename}.vb" />
    +        </sources>
    +        <resources prefix="${basename}" dynamicprefix="true">
    +            <include name="**/*.resx" />
    +        </resources>
    +        <references>
    +            <include name="System.dll" />
    +            <include name="System.Data.dll" />
    +        </references>
    +     </vbc>
    +  </target>
    +  <target name="rebuild" depends="clean, build" />
    +</project>
    +   
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..5600dbdb --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/vjc.html @@ -0,0 +1,333 @@ + + + + + + + + <vjc> Task + + + + + + + + +

<vjc>

+

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".

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
codepagestring Specifies the code page to use for all source code files in the compilation. False
debug + DebugOutput + Specifies the type of debugging information generated by the compiler. The default is None. False
jcpastring Associate Java-language/COM package names. False
libpathstring Specifies the location of assemblies referenced by way of the /reference flag. False
securescopingbool 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 false. False
warninglevelstring Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. False
xstring Specifies whether to disable language extensions. False
outputfile The output file created by the compiler. True
targetstring Output type. Possible values are exe, winexe, library or module. True
definestring Define conditional compilation symbol(s). 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
keycontainerstring Specifies the key pair container used to strongname the assembly. False
keyfilefile Specifies a strong name key file. False
mainstring Specifies which type contains the Main method that you want to use as the entry point into the program. False
nowarnstring + Deprecated. Specifies a comma-separated list of warnings that should be suppressed by the compiler. False
rebuildbool Instructs NAnt to recompile the output file regardless of the file timestamps. False
timeoutint The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. 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
warnaserrorbool Instructs the compiler to treat all warnings as errors. The default is false. False
win32iconfile Icon to associate with the application. False
+
+

Framework-configurable parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
exenamestring The name of the executable that should be used to launch the external program. False
supportskeycontainerbool Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is false. False
supportskeyfilebool Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is false. False
supportsnowarnlistbool 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 false. False
supportswarnaserrorlistbool Indicates whether the compiler for a given target framework supports the "warnaserror" option that takes a list of warnings. The default is false. False
useruntimeenginebool Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. False
+
+

Nested Elements:

+ +

+ + + <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> +

+
+ Deprecated. Additional directories to search in for assembly references.

+

+ + + </lib> +

+ +

+ + + <references> +

+
Reference metadata from the specified assembly files.

+

+ + + </references> +

+ + +

+ + + <resources> +

+
Resources to embed.
+

+ + + </resources> +

+ +

+ + + <sources> +

+
The set of source files for compilation.

+

+ + + </sources> +

+ + +

+ + + <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> +

Examples

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

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

    +<arg line="-l -a" />
    +    
  • A single command-line argument with the value \dir;\dir2;\dir3 on DOS-based systems and /dir:/dir2:/dir3 on Unix-like systems.

    +<arg path="/dir;/dir2:\dir3" />
    +    
+

+ + + </arg> +

+

Examples

+
    +
  • +

    Compile a "HelloWorld" application, including embedded resources.

    +
    +<vjc target="exe" output="helloworld.exe" debug="true">
    +    <sources>
    +        <include name="helloworld.jsl" />
    +    </sources>
    +    <resources prefix="HelloWorld" dynamicprefix="true">
    +        <include name="**/*.resx" />
    +    </resources>
    +    <references>
    +        <include name="System.dll" />
    +        <include name="System.Data.dll" />
    +        <include name="System.Drawing.dll" />
    +        <include name="System.Windows.Forms.dll" />
    +        <include name="System.Xml.dll" />
    +    </references>
    +</vjc>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..608bc7e1 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/xmlpeek.html @@ -0,0 +1,129 @@ + + + + + + + + <xmlpeek> Task + + + + + + + + +

<xmlpeek>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filefile The name of the file that contains the XML document that is going to be peeked at. True
propertystring The property that receives the text representation of the XML inside the node returned from the XPath expression. True
xpathstring The XPath expression used to select which node to read. True
nodeindexint The index of the node that gets its text returned when the query returns multiple nodes. 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
+
+

Nested Elements:

+ +

+ + + <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>

+

Examples

+
    +
  • +

    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>
    +    
    +
  • +
  • +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..0328c41a --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/xmlpoke.html @@ -0,0 +1,135 @@ + + + + + + + + <xmlpoke> Task + + + + + + + + +

<xmlpoke>

+

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

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
filefile The name of the file that contains the XML document that is going to be poked. True
valuestring The value that replaces the contents of the selected nodes. True
xpathstring The XPath expression used to select which nodes are to be modified. 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:

+ +

+ + + <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>

+

Examples

+
    +
  • +

    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>
    +    
    +

    Build fragment:

    +
    +<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>
    +    
    +

    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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..5b078c25 --- /dev/null +++ b/build-support/tools/nant/doc/help/tasks/zip.html @@ -0,0 +1,145 @@ + + + + + + + + <zip> Task + + + + + + + + +

<zip>

+

Creates a zip file from the specified filesets.

+

Uses #ziplib (SharpZipLib), an open source Tar/Zip/GZip library written entirely in C#.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
zipfilefile The zip file to create. True
commentstring The comment for the file. False
duplicate + DuplicateHandling + Specifies the behaviour when a duplicate file is found. The default is Add. False
encoding + Encoding + The character encoding to use for filenames and comment inside the zip file. The default is the system's OEM code page. False
includeemptydirsbool Include empty directories in the generated zip file. The default is false. False
stampdatetimedatetime Date/time stamp for the files in the format MM/DD/YYYY HH:MM:SS. False
ziplevelint Desired level of compression. Possible values are 0 (STORE only) to 9 (highest). The default is 6. 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
+
+

Nested Elements:

+ + +

+ + + <fileset> +

+
The set of files to be included in the archive.
+

+ + + </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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..6b9c78a9 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/assemblyfileset.html @@ -0,0 +1,257 @@ + + + + + + + + <assemblyfileset> Type + + + + + + + + +

<assemblyfileset>

+

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.
  • +
+

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:

+ +

+ + + <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

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> +

+

+ + + </lib> +

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Define a reference with name "sys.assemblies", holding a set of system assemblies.

    +
    +<assemblyfileset id="sys.assemblies">
    +    <include name="System.dll" />
    +    <include name="System.Data.dll" />
    +    <include name="System.Xml.dll" />
    +</assemblyfileset>
    +    
    +

    Use the predefined set of assemblies to compile a C# assembly.

    +
    +<csc target="exe" output="HelloWorld.exe">
    +    <sources>
    +        <include name="**/*.cs" />
    +    </sources>
    +    <references refid="sys.assemblies" />
    +</csc>
    +    
    +
  • +
  • +

    Compile a C# assembly using assembly references that are searched for in the "Third Party Assemblies" and "Company Assemblies" directories.

    +
    +<csc target="exe" output="HelloWorld.exe">
    +    <sources>
    +        <include name="**/*.cs" />
    +    </sources>
    +    <references>
    +        <lib>
    +            <include name="Third Party Assemblies" />
    +            <include name="Company Assemblies" />
    +        </lib>
    +        <include name="log4net.dll" />
    +        <include name="Company.Business.dll" />
    +    </references>
    +</csc>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.0) +
+

See Also

+ <fileset> + + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/categories.html b/build-support/tools/nant/doc/help/types/categories.html new file mode 100644 index 00000000..b6738eb2 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/categories.html @@ -0,0 +1,102 @@ + + + + + + + + <categories> Type + + + + + + + + +

<categories>

+

Controls the categories of tests to execute using the <nunit2> task.

+

Parameters

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

Nested Elements:

+ + +

+ + + <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> +

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Only include test cases and fixtures that require no internet access.

    +
    +<categories>
    +    <include name="NoInternetAccess" />
    +</categories>
    +    
    +
  • +
  • +

    Exclude test cases and fixtures that are known to fail.

    +
    +<categories>
    +    <exclude name="NotWorking" />
    +</categories>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.NUnit2Tasks (0.85.2478.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 new file mode 100644 index 00000000..11fde99c --- /dev/null +++ b/build-support/tools/nant/doc/help/types/credential.html @@ -0,0 +1,86 @@ + + + + + + + + <credential> Type + + + + + + + + +

<credential>

+

Provides credentials for password-based authentication schemes.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
domainstring The domain or computer name that verifies the credentials. False
ifbool Indicates if the credentials should be used to provide authentication information to the external resource. If true then the credentials will be passed; otherwise, not. The default is true. False
passwordstring The password for the user name associated with the credentials. False
unlessbool Indicates if the credentials should not be used to provide authentication information to the external resource. If false then the credentials will be passed; otherwise, not. The default is false. False
usernamestring The user name associated with the credentials. False
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False
+
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..ec853ade --- /dev/null +++ b/build-support/tools/nant/doc/help/types/cvsfileset.html @@ -0,0 +1,175 @@ + + + + + + + + <cvsfileset> Type + + + + + + + + +

<cvsfileset>

+

A <cvsfileset> is a <fileset> with extra attributes useful in the context of the <cvs> task.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
usecvsignorebool Indicates whether the entires in the .cvsignore should be used to limit the file list; true to exclude files in .cvsignore, otherwise false. The default is true. False
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.SourceControlTasks (0.85.2478.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 new file mode 100644 index 00000000..1e3ea5a9 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/dirset.html @@ -0,0 +1,57 @@ + + + + + + + + <dirset> Type + + + + + + + + +

<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) +
+ \ 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 new file mode 100644 index 00000000..ac77dbd0 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/fileset.html @@ -0,0 +1,282 @@ + + + + + + + + <fileset> Type + + + + + + + + +

<fileset>

+

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:

+
    +
  • +

    '*' matches zero or more characters

    +

    For example:

    +

    + *.cs matches .cs, x.cs and FooBar.cs, but not FooBar.xml (does not end with .cs).

    +
  • +
  • +

    '?' matches one character

    +

    For example:

    +

    + ?.cs matches x.cs, A.cs, but not .cs or xyz.cs (both don't have one character before .cs).

    +
  • +
+

Combinations of *'s and ?'s are allowed.

+

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/**.

+

Default Excludes

+

There are a set of definitions that are excluded by default from all tasks that use filesets. They are:

+
    +
  • **/*~
  • +
  • **/#*#
  • +
  • **/.#*
  • +
  • **/%*%
  • +
  • **/CVS
  • +
  • **/CVS/**
  • +
  • **/.cvsignore
  • +
  • **/.svn
  • +
  • **/.svn/**
  • +
  • **/_svn
  • +
  • **/_svn/**
  • +
  • **/SCCS
  • +
  • **/SCCS/**
  • +
  • **/vssver.scc
  • +
  • **/_vti_cnf/**
  • +
+

If you do not want these default excludes applied, you may disable them by setting defaultexcludes to false.

+

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> +

+

Examples

+
    +
  • +
    + + + + + + + + + + + + + + + + + + + + + +
    PatternMatch
    + **/CVS/* + +

    Matches all files in CVS directories that can be located anywhere in the directory tree.

    +

    Matches:

    +
      +
    • CVS/Repository
    • +
    • org/apache/CVS/Entries
    • +
    • org/apache/jakarta/tools/ant/CVS/Entries
    • +
    +

    But not:

    +
      +
    • org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match)
    • +
    +
    + org/apache/jakarta/** + +

    Matches all files in the org/apache/jakarta directory tree.

    +

    Matches:

    +
      +
    • org/apache/jakarta/tools/ant/docs/index.html
    • +
    • org/apache/jakarta/test.xml
    • +
    +

    But not:

    +
      +
    • org/apache/xyz.java (jakarta/ part is missing)
    • +
    +
    + org/apache/**/CVS/* + +

    Matches all files in CVS directories that are located anywhere in the directory tree under org/apache.

    +

    Matches:

    +
      +
    • org/apache/CVS/Entries
    • +
    • org/apache/jakarta/tools/ant/CVS/Entries
    • +
    +

    But not:

    +
      +
    • org/apache/CVS/foo/bar/Entries (foo/bar/ part does not match)
    • +
    +
    + **/test/** + +

    Matches all files that have a test element in their path, including test as a filename.

    +
    +
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.0) +
+ + \ 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 new file mode 100644 index 00000000..12e4bcc2 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/filterchain.html @@ -0,0 +1,109 @@ + + + + + + + + <filterchain> Type + + + + + + + + +

<filterchain>

+

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.:

:--------:--->:----------:--->:----------: ... :----------:--->:--------:

+

A list of all filters that come with NAnt is available here.

+

The following tasks support filtering with a FilterChain:

+ +

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
encoding + Encoding + + Deprecated. The encoding to assume when filter-copying files. The default is system's current ANSI code page. False
idstring The ID used to be referenced later. False
refidstring The ID to use as the reference. False
+
+

Nested Elements:

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Replace all occurrences of @NOW@ with the current date/time and replace tabs with spaces in all copied files.

    +
    +<property name="NOW" value="${datetime::now()}" />
    +<copy todir="out">
    +    <fileset basedir="in">
    +        <include name="**/*" />
    +    </fileset>
    +    <filterchain>
    +        <replacetokens>
    +            <token key="NOW" value="${TODAY}" />
    +        </replacetokens>
    +        <tabstospaces />
    +    </filterchain>
    +</copy>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..9afd267e --- /dev/null +++ b/build-support/tools/nant/doc/help/types/index.html @@ -0,0 +1,122 @@ + + + + + + + + Data Type Reference + + + + + + + + +

Type Reference

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeSummary
+ assemblyfileset + Specialized <fileset> class for managing assembly files.
+ categories + Controls the categories of tests to execute using the <nunit2> task.
+ credential + Provides credentials for password-based authentication schemes.
+ cvsfileset + A <cvsfileset> is a <fileset> with extra attributes useful in the context of the <cvs> task.
+ dirset + A specialized <fileset> used for specifying a set of directories.
+ fileset + 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>.
+ filterchain + Represent a chain of NAnt filters that can be applied to a Task.
+ namespaceimports + Contains a collection of NamespaceImport items.
+ path + +

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.

+
+ proxy + Contains HTTP proxy settings used to process requests to Internet resources.
+ resourcefileset + Specialized <fileset> class for managing resource files.
+ tarfileset + A <tarfileset> is a <fileset> with extra attributes useful in the context of the <tar> task.
+ warnaserror + Controls the behaviour of a compiler with regards to the reporting of warnings.
+ zipfileset + A <zipfileset> is a <fileset> with extra attributes useful in the context of the <zip> task.
+
+ + \ No newline at end of file diff --git a/build-support/tools/nant/doc/help/types/namespaceimports.html b/build-support/tools/nant/doc/help/types/namespaceimports.html new file mode 100644 index 00000000..45a68714 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/namespaceimports.html @@ -0,0 +1,94 @@ + + + + + + + + <namespaceimports> Type + + + + + + + + +

<namespaceimports>

+

Contains a collection of NamespaceImport items.

+

Parameters

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

Nested Elements:

+ +

+ + + <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> +

+

Examples

+
    +
  • +

    Define a reference with name "system.imports".

    +
    +<namespaceimports id="system.imports">
    +    <import namespace="System" />
    +    <import namespace="System.Data" />
    +</namespaceimports>
    +    
    +

    Use the predefined set of imports to compile a VB.NET assembly.

    +
    +<vbc target="exe" output="HelloWorld.exe" rootnamespace="HelloWorld">
    +    <imports refid="system.imports" />
    +    <sources>
    +        <include name="**/*.vb" />
    +    </sources>
    +    <references>
    +        <include name="System.dll" />
    +        <include name="System.Data.dll" />
    +    </references>
    +</vbc>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..6b82da28 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/path.html @@ -0,0 +1,95 @@ + + + + + + + + <path> Type + + + + + + + + +

<path>

+

+

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.

+

+

Parameters

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

Nested Elements:

+ +

+ + + <path> +

+
Defines a set of path elements to add to the current path.

+

+ + + </path> +

+ +

+ + + <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> +

+

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>
    +  
    +
  • +
+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..9b988544 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/proxy.html @@ -0,0 +1,99 @@ + + + + + + + + <proxy> Type + + + + + + + + +

<proxy>

+

Contains HTTP proxy settings used to process requests to Internet resources.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
hoststring The name of the proxy host. True
portint The port number on host to use. True
bypassonlocalbool Specifies whether to bypass the proxy server for local addresses. The default is false. False
ifbool Indicates if the proxy should be used to connect to the external resource. If true then the proxy will be used; otherwise, not. The default is true. False
unlessbool Indicates if the proxy should not be used to connect to the external resource. If false then the proxy will be used; otherwise, not. 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:

+ +

+ + + <credentials> +

+
The credentials to submit to the proxy server for authentication.

+

+ + + </credentials> +

+

Requirements

+
+ Assembly: NAnt.Core (0.85.2478.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 new file mode 100644 index 00000000..358996ad --- /dev/null +++ b/build-support/tools/nant/doc/help/types/resourcefileset.html @@ -0,0 +1,181 @@ + + + + + + + + <resourcefileset> Type + + + + + + + + +

<resourcefileset>

+

Specialized <fileset> class for managing resource files.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
dynamicprefixbool 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. False
prefixstring Indicates the prefix to prepend to the actual resource. This is usually the default namspace of the assembly. False
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.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..93582d83 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/tarfileset.html @@ -0,0 +1,211 @@ + + + + + + + + <tarfileset> Type + + + + + + + + +

<tarfileset>

+

A <tarfileset> is a <fileset> with extra attributes useful in the context of the <tar> task.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
dirmodeint 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. False
filemodeint 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. False
gidint The group identifier (GID) for the tar entry. False
groupnamestring The groupname for the tar entry. False
prefixstring 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. False
uidint The user identifier (UID) for the tar entry. False
usernamestring The username for the tar entry. False
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.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..28df52e7 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/warnaserror.html @@ -0,0 +1,102 @@ + + + + + + + + <warnaserror> Type + + + + + + + + +

<warnaserror>

+

Controls the behaviour of a compiler with regards to the reporting of warnings.

+

Parameters

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

Nested Elements:

+ + +

+ + + <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> +

+ + +

+ + + <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> +

+

Examples

+
    +
  • +

    Instruct a compiler to report warning 0519 as an error.

    +
    +<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>
    +    
    +
  • +
+

Requirements

+
+ Assembly: NAnt.DotNetTasks (0.85.2478.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 new file mode 100644 index 00000000..e1caf184 --- /dev/null +++ b/build-support/tools/nant/doc/help/types/zipfileset.html @@ -0,0 +1,175 @@ + + + + + + + + <zipfileset> Type + + + + + + + + +

<zipfileset>

+

A <zipfileset> is a <fileset> with extra attributes useful in the context of the <zip> task.

+

Parameters

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeTypeDescriptionRequired
prefixstring 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. False
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.CompressionTasks (0.85.2478.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 new file mode 100644 index 00000000..18a1c975 --- /dev/null +++ b/build-support/tools/nant/doc/license.html @@ -0,0 +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. +

+ + diff --git a/build-support/tools/nant/doc/releasenotes.html b/build-support/tools/nant/doc/releasenotes.html new file mode 100644 index 00000000..6061dafc --- /dev/null +++ b/build-support/tools/nant/doc/releasenotes.html @@ -0,0 +1,3003 @@ + + + + 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. +
  • +
+ + diff --git a/build-support/tools/nant/doc/sdk/NAnt-SDK.chm b/build-support/tools/nant/doc/sdk/NAnt-SDK.chm new file mode 100644 index 0000000000000000000000000000000000000000..ee72e8310eed2a60f221bf5555c52a3716da985b GIT binary patch literal 2567369 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˺}I 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

!nj#=J>ZyL*`Y>BJ9x)A=f;PoRcS# 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 z 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%0D|j4!8B%>A-kLTP7LgIgYF01|JGLi~_Rb&*@h zmfeJ6#i0D6%NPxjt3!3VT%~Q1n_644nA{1ejGMGI!c9z6=QJosumq;#-@W>A% zYc-H}G+)`j+6>&+zl%~-oK-7A8LFS_l#Qshm@a3eP#TSMq;(QOLF667{i9;7)&bSLakCj9rC246G(v z#S$_wrk&euTP-wj@-%^6aFphDxXSKLz81=kaXRO0E3uHw9S1@V_OlK~|WV;=>h}ktlUz7hMyj0yIxk zwJ)w7a%PjMrXz?Wp9@wj+1}5QQvQrT-wAvJE#PzI0PAk1^Jf!DL_;`YFu>p;06Fs< zq$9ah(uGyo0-WS^%=gXsNiR>2tO2|@&d?B?U-qgo3W;1CfGAR~V$ z$Y9K-@D6_kL*)(1ZY-~7vMzQAsZsf5jl-`f9v(vRQTe>j?o>G-A5@BlPtDmj+298Nae&~1FE#gx9R3;YSbl^R z(MP_qE%5;^uMmYZ;ZF=2Y>%|Uc4L-zJ|av*&ybL1l9nZ( zc5m>U00XWMm;8I>9)%D9Vdz5sug<*mtN9)DH1kFe3By?Frhgv{CZmu3W(aztxl9Ss zAd^FuUko-?uNEb@fI}jwu(nu9(VGo>jr5VpeC0LjSD8AJX)=DwjScs)sJF%*-mL4P za)V-W~tK$>ma%wbz9)~&A7eTmOl zHsP%CekHeUBXyH*0&wB35^d`ffG>oE3a`VMullIl8XDjf11SRd;NdWszGu@E0O}M1 zitd2lpJyF(60IepxzEHWnZbGsa|BAw^Ln}4yRCn7QBPEN$IFPL?U%$8qS9(_ zGPdu;t}t{{*p8G#EcrC``fyTND{@d5q^_333kDUFJE;Zx>}pSC*>kp`rr!-T$5+zV zwce1=QHN0ReYvgt zO??{!vlW_Z)p+7o>klnf_7yU7M_Mz3I3y~W6^I2crg2WjIW43 z4#Kvvf3DqYoLXqz>3OF{y^E>;8KqOzb!geL%+li>bz}beMxC>(1G~Gba}9EmOx!<8 zf0|;8Asts?94jq5g#F#D_Mp7%>Re_|Q{we}2sv@%*l)kfbIoqW)B}Q#Y~dHaSv4+x zp>^RHS?G@(B*H1fNPV|bA~VAkAC@zO>Lf~w&G4)AZ?bW0pF6d<`ZN?Ytg@*R+kL_t z-x0XEK<_*au0@+*7b@~Hg>tQa^@7MZpG1Klv0TxJ$#ISb3y+Kj{e2Wh)vsKwR2Ral zOIJ?Bh}tOcA}I|RL!UQbWvs^c3{(d;WTsS#uDNK$DYd7|!**sxUYmxdM5Eg-?Z4Oa z^33d68_ruWZ}-HH&F(~EXwA#{KMpx3KR1T#n>fxHKUN~M`1~xUk8ZIBEfi5>^C&aP z%3Uw$WhivNtNEr>m2TK)5_q2Xm~`iB`H16b`?aMwev?quN_4lGP6s$)nReVc8zc$; zZ8;chJQ@F8K){3hI2=U+ZyMUwtuli3yN$vyo#@zMBr$RhtQm*c zYEiy%DwseCj<;qDi?vYi|5N-ofk6jA^qk*t=K^66=m3F$A7+HD_(~IU!fn?V3DXjN z=cg7|%n(=^E>FQmPtlWz+Cr?0HLKjnh8ASL$mN4@sFc&7nQNvq$2k)m13=s1`46mA zVt@j4hfV|XdI208Yw+PNtXxM|c_Z*+ccKnXXmdB(Bn?UW$rXBW^GF`cEm;=(LmG}7 zvBm~D6Ot&%At?#EYXIn$$6K!!gd(J4x#f5m@en)oDmBw(_=kwYdmcvW$v)pbl_N(o zOx}IK!qNCISK`i#$FChOMEnhs4{1w?K3LwCs9m={x?Ghp&Rc!_(`~m>6k?vaA8<^ zPA?d#J5vbSyc0E(w!m;4r#AataLQ#~S05m4ru9wN44V?ShA2H=F#T{U3purR;!ZjZ z;|v_FdqjFp#SRWtY2bT0HqH)OoFGQjK^j8j#dc8)F01@zP6R4orN0P?eoM-C7f$oA z=+~qi{r6QnPjgCnA2@4a;C{@*%sa`-aN;#rw1ql8C3ci5cgk?00@B}RE#%Acc1I6B zeFZF*V3%NOqK+{!7o0_*2bwx0yKRlX_STXO(Cfp2v-09{D)}@qTp#+`>b3*DO{dji zfo}>+@(d8-H9ffoW0i$H-3Wps4KW^?wv!d<%2iFvvV_ExJPC5a^3u z%&o+V0xPD`R&BSFclNNTH)20Olv}|MYMUhq9DPgy>)x-4yt*C>Tt12Oc=}{T^Cx63;Q!+l3d6LOe;ia8v}0%^1@+ie zp_qjVcluA42L+T7ICFISNtBR4h6|(?mK#4 z!#mJoi$?ATNJh*fT^*Va;lW!Nipt45U>9m;QYZ)~0Onjg`vhW`oqvPUsD`e6sD$%X zs`LIO9XK6?3b=-JJV(}wul^?#9g z7n!?ZuI9u9Xz4ve@uU`b7GX|P%GrTFT^qk<4u`lq0W}cRinZu_V=lKj9=G`4MxYMw zZ=RhFOA6|?9B&Va-F4d`zp7_+Xcw^mJ+1vZ$+5l+=!e}mA2fbV*=1v$Qi%VLGE4%j zRBtr2!XrgBx$S#TPx~r)og8N6A|LF&#eeN*@)^!5;yDr8CS~5o zlOToKPLQK#DlOiF>MH|fgDUB^5$R{_eY!UsJEZs_P&2!|TG8oC9Y~#`w@3w#fq;E| z_AH~{RMTMW0672v00000t^fc406+pcPQ*PeHy_b1y#FWy002fRo(JC#_{2VA4tl+o zZ6GOj>jd?=M=jM=z1u+%ngywgi!Xu@s%;~xJaw@&mV!~Vx>dg5S{XuGrH<-Lb*%xt zQ}@A0U@vF_d;nAc003zKh=l>JV8n1P(*cr-iuv3dX$As>jS((kaIvf?foteiH=mo- zw|T}RChyU|jb*SgkR(Ik82}8?VrDmu1OWhr5yB*_eaim?a-4>45!Scqm`dwWQa52V z#|&=IPQ>6TYlVubFfIT90PGV006>5V@Bsh-d#S<%+MN*y^IoxGcP|~&ub`cscKT5>XAA{mP8+IBpCII znJv}jqUK^PF`}RyE*P;#1DH<1CIGR2AeS&zI|HT>A}OW{ZsJq36z-^p-5Vm$P5nLc zkvGZl8{Uh68P=E&m=EMz3Yz|Uc%^y(h)34rpO0(mf=mI0Qvv`0Mj=B z3giIvS45Hhy>3`2+}vM*TM&5I#D3?tN)TOGH|JI6Fw9znHieO7Hm|jGR5GWA}s0a2Sd&JozKorU+BO)oh z=MF~fEv2epzvH;0{1a1S5iN2orNtdCl|O_TqG(zv*E|q`a;2H&se~3)v@(c_&`v7L za%ts6N-7OWRanxi(u^=gSe9#3hW#fkX25k!W^t7k$~q+_Dm6=q&@{~!FHEp4Xw@JJ z0%@sQC380{^B>#Io|{qHm}6*38rS4DkjSLAjq*=q1GNqYGcYYDx-bfX!>QPv(+#BY z5JzFHwTqF}ILe0I&7PsWpTp8GV;aar&#!Pd8+XXgr;Cux4%`16oTeErFel^2r$mr3el(Egp^WU+@MiV-7BdiXY4jqKs~Z9S2VG)y&R-bljr1^(u~#g6A+SD zfP7lA<1}2Xv_o7B-$ZVyCf#`?5#_H?9(voDA2XDih?0k7mn1aMy7dHT)Ml#oNwjRS zsHjC(BwG*Lp+Y251L2KMF9ZD<5l$wttXCJU_CQY5ra_;#X#LY)Yt5mK0i&Q^CwY#Z zJ$e-1wT+UhjAoG_7Mv}q+9>v47!IS-0 zEW{i06A6UmxcBXS?+>J=TaU$=x5Tu`x~ZI>uA-NXE7S*u7un}*%6Kn*Sh&kk{i3_> zwImlIEo5eEKD>0G$BJoPu~^c2G!!CXB4o>iMn+;~zx*b8-*9z2q%gx-UD%VntJ&8% zbA~GM1oI5VR=?fGTu!Ou4K2^xGbxClx7jF=T-yn}BDpB6{ILx)NjqD%W?dJn6>rOJ z6s&XxuF7HTV&lKi z7fGT4HUdd579>2=tFA8}pG-nrI_t~>l;37^e8`odrEEbZe?M&_M^7GFKgCGm#+C@t zvbC5SLRPHPAzd+<{nuI9EnfzB|*)w4_#}{ak%vhoIFL0kin(qex!H3 z)+6Pr!ZcT_u4;G9)?lZ*f0gqcWz_19+^+wK2Op(JEh9C5OX;RXC~3EW>W>jZ|IH-Y zNr_a(;m1;us3POA0p26Csugoa~03-vmA1&(XZ_u@xd?*2LBrm zZsk5CF?*m@u|F&hlt3((L_s&2cXy|$Dm}!y3fV~?$3RpYkzXxIAnasAeJ#yxr5k{o z`Xo+*z^QZ?76hbV&9KBWLMN^<1zch<4rYjxG?BVI($vr|pc-<`N0=Ozh!zccQErBV z71$22DmNfPU{g;VmZLGi|V`>7Y*_@v5p|mihO+y;@bUv-qn|jXFroT)-o@A_^vg4%t#m zctMC*u!)fwSpDeqTK9jAIm)3BG$*O0(!gc?XsDXVuF{HRqI0RgFFSP|O%UrcvG-jN z0e~$P+M-+J);XGH{u$Jn$w3DIdiGJt=mzm03G3NLkgCPH&GU#)_-?e`nr2CV09yeU z{kxk}ZYgZjSMG^lO15{zQc*c*BsZYoM_eHYRgldczD3 zS@zjCZoJur!`|2=?RVj9kRItKon*Attbm)T*432i(KG@QClU79-pM0NbR2)4G&6fd z8*Ww41QYHmu4TuV4RX^*EwbF1dZUTL9Q;AUoU@9EYWi~*NtzRL*b+F5SR#OLz1Q;X z)M{&v7MB)vDpq ztXPeptNKs3r{qi`WYBTHb1nq^5%^9*lsWM$GaveLTh}AT zYL|Ks!T~b{TLPh>Fr(TUVlIAus%xsR~65>}(z3N-~p?bKACT=_* zLr7TCs`(C@_fnxcHFf#lztnjL^$+0*KuusFp%wvu3mKwFXE}Bw_8Ur>ZkySBq65UC zERN;$VJpcq^|F#>d%j0SgKi^eB;}d&YUHxVC>6C3+Nl~0SGf;hC{k-8kN(_0$?TKv zoAa7!bVTE2SiC=WvksVedN(Ay5n}1T@zQE<-15Jjkm^7C(&v{NeOtMZa~MYUgF71D zp>tlnp7ra|JopfA{n{%7=s6O^*8Ay-&{ZGmCXtGIW)mU!#;?*Oyl`h%?R6pn$6|1X zw#g25O*k5CnZi1~Ns)<;FIsYX)L}M@5JaOv3bNAi|!!_03qqx}XG5*c> zOsvgG&`6*Pu*NDi^M!z>#DG2+=*xrzj2^IGg78t`Id9!hf34%U?JfI_Y&*Uvs@B zil&1Sj?EKJIxst9Ej<*|7iO$`R95Q+aML+W^Q!Lsq#cs;L=E24@8DSlDm9mdv%XFT zmiw?+JEvpzI&^wFIY=${4e0#b@jHRWrlm7>m6iZ&OJy}s`iiRs;>7zUPb8OmoxG<=ALCBOCI zHN^!5##%N0=9luvA1ztTV#A^E4}lVgY@PK6?0c@tEnGPPz`Yy~HgV#Tm$!wwq5?~H zJ&kMA83O=m16-L&B!0&`b#KYYu)ny;8Q?O5XJ;~1jt^1qG=mZs%#q!6%&p2VAJyhW z+P4lH53TH)7e~TUi?(Nfu3kwtYDHy+uaRNGNEcS`ryNOojid1NDk-T7N?nGo`KQQ9 z_1u$|l(EwNhvktdN6=aQBrIIP)GD{i zT?hBvF$Q6wMPIecuHl`n`S9O#*XZ@C?QbxcCAHmAg*ouyC8_CmZVp(0V!&FcOQ|4~ zjq{8mvt04Y|F_+o*&$`yDMa3LjcllsT6WP&9Gad%p(MgaX9?A@OG_?Noc0nWbswGZ zjm?uZI*@h4`*Z4E@AOFhR(N)eDe^}8)pfo6{%pCC>xw^H*TJO5&I*m(%(Z_6OcKjO zp+Bse-~11+B=DCC%+a#ibOzt`s!$Ns*`67u3xcvacm?>aFWeb7h`fl6^e4MhLVS-w z_jJcuU!nuN=XS2Od0Pu_kmIG%y1EvKjSO}7^Prrb?sr{@=bix~VK2pb?n$X|E=N|t zTz|7p713(r^h)1L*BqqA1n@OCgX_-?sFgKX&JOkrK?cOI@SIwoP*!wBgjI0Xk&e4( zBM6rFm#XChnBh&DRWk2~Iy>6GJ|X^y3eo!IEO>|2UC60LeB_tjpHQtwj&sN(L+FTJ zgbQwkB7NaA&EFpan<7q!s=_=B<^{@b)W!Y3Ta&F&M@UJMm{TAgfp{bSZkrwAnE%eT zl+fMjSFi@?LSC$g?PN!;%w>vM%Zh>jL*rj>q(*B4i%%+~6YAmxHYl%&_O$KX$0Ei+ zE}{S2$}}hY^B;;moC~L)hT=eb2h*x?z(XczGRd|s`vT-W)=7AE4f?j9xZrQ~pOC-g ziDc57Ruy^pN^4+iT8IoU$IB{~=M18sYCmg&;nqGZjr8jGu%GeUV?8zMuI0sewOJZd zjw6HKl;JNu3i?<}`n1LMnsQHKe;B$ay$%wcdX@D?8FBVCJX+IRGzFicx4gfdL)lZH*Is z*)V+fGJ(Twq_EIknEkU4{j3A@0_FrM*ZJ7XOoWdNFZi0ee-PIL>wKs3Ha7jjevLB# znR*(<0A>IH008g|003zK_yPa`00000001`t0f2|%`_I6U000F5L+Aij-2;^PnFb+z zfvQO4g?m~d5Z276d^{&S>Bo*DT|a(exq+AsGw^|JXsN>ug1o%eg$&n24oAZh1b0ve8UN-FJykGrmgXr= z^^!x;b-bLtHmANvrXfN8h@L4sts`C=lZG9LNgAu^Ew%Tj4f6UmL!dIQW!Mo8PM&aEHOWPDb3oH8;Xz&-1;haA{;|X# zIxO5wxuB$>Tsc531A+iB^M39IH4p&c%rg~YRnwh|0jU(@_WwRaT->e4Dq5fT+rvR^ zl@m#rAtC>3)RvL)oz^4uaD4j+<8x)ZEknd*%!ZIe}Vy8LMohS+g@cB~h)S2xW zX}bT&H+~HW0D!>$&KHOx{sRI46}5ALjrkGpJh0?pgDMB#uMrP58_YMU_a|g|>PyPR zuaKEnSVe=z<|@OV`uC$s9yKsl2Q(jEc62_*r01_4aZfkYJT&|ygDQs0AI>?ZXHR-n zoT_g+BPm9{z}}DO`rgUoAq)Trj|X>wvFJD^NE8nPFLYQR%23^?{*Mm|y&sI0oR3Td zR)9Q!*Z>3o0H6Ti3ErYWC}9S(D+(KO`5N z3NMu+w(9x;h=qxf>^mfv_N{K&k0;jsxo?s(C0e;4v0Q}S03J`#mhAeyVhwO7sw3w_rgmy45@vq7}RR+2>H-GUojKgoK7y|awty1kmq>>aH3Un$EqC2^ z&b3KOXg~j-4DJ8`$k15L0RSg}$tfIsbkk|>+BhX?;vavGu!1B_MHN!h+7d}dC$Vrj z;^UY4>w*gj9IduC+dx}bq4g_6hitHwsSG^9>8+M0r=_Enl_xJGp_Gx`#z`(p6Ye>3 zNs=VAkJFnZ5K906838Mr1Gswtz2A55?!DdZcDHNV)pgd*3(H&9cDG%(ZL5&2jEY9P zHwv0{+DPi4!m=U&5u^kKgb)x=3MhaO10vEE1W+GQUw}ZgtREwObN<{pS$AyN)$e4b zIfPQ9??;9t;~*6Ye6Gr(K_8(dp8ZYOcV}8Eu>S@-1(oW|l2^W#auS=R5}X~xc`;QE)Yn=MDP>}_4U)I5OAm?rIqv|q_!9;%jd zUoD{EYqjV>q@LmTAxTh)7C)lVf*xN$t<9i25?T$vbCHs^3}bRQ?8iB zw}y5g*M8bAr1$EJzo+4fOc2)>;{^*gDeo;uA*8AQ+R@5rojqS^HG`XVCTPO4vso!e zVf~rHMB4MZ+Y6>+9A3a6tlD?I4dNI6LBdVz0{#XJ;bsRZu!m@u2i=jDX19yo_m5O# zH1;r)f$zUOrqe{~*oW_q^t;F*e@{tr7)c7AJJwv&RhjDi%r1!s=jO00ZPT z`5i8G)C1_vuxR3_6#m17VRN-ICRY%eCGrKmzKZ3finG`spN_v$QG!l^W0Z;YdqHxJ`^%Pv+bH17egcrzMM{I zIp5BleadwImnJ(T5;c%@JG7qm%_&>$tEx#$7p60oi(TK{+%VUoID%aRr_Y?8{F2fw z+YV-oSMFM*D23TS13jC#m(O^-OS#!-t0O9AM~+=916}WIPE%JO5Z}d6ozR^r^X0Td@~uw2FLJg*vV{vGHDBu=&wNpj~P;u#qB>iPTfkWSE%$)Y_m z*Y8!j-}97k1W+hk3i8L>A%c>w-|Q%b>>Q=5G{WDsbAgTn;*!+i%uZKoDtX^lv^^b9 z)#`wxCGhBKw@n`LN&(iT|y8M z&+Fe?h^>#{`6c?b1=wKNhoyHJ`6h%$HAkj_@`<`ySEw|g(xbm>-hXkBlj4p?y&3C| z-=Hfwix6!2vpK-mM+3EMSQyqf~Fy09VP&O`;$}P$)-p53r6!S{i&C*6h*wxD(_q*E0Om6y6ANJ0TMl z7R(E=JoI_}Oj+swc!Zmv4HlDVgw) zZR#y-ZwzWo3HHvX-}hg>l@Hgy8s7)301F z)~552RD2x*U4)tOB|DzsOYSA0;qu8Io{(uC$|*K+CgP|pfpvyNIIzj1`@%HuT!Wo~ z4IKjO@LXxI2TZoz7Pu%FXTFO;IH()!-o6%E{USf#r5hnVu;A3@C?1JBOZ0!Dbr`B2 zS)d0{`vXe$0F?rO9VBDTbSq04q(xbi>Sb2416fbPR60Iv_4KtfM;#ktK?8PcC*&=A znWyT~06{3grmhTWh}f)g3><$l6a=xzF_(iPi;&6|ggymN3PG=)V654ME8W zpN2ld;zP<+2$A)-XVKf>X8qWu&=m@L!kwYv}R`Z_K%rMI;xFHbxnYmc0{P~V4}G(+kNx>{Ksx=Vxa5lxYN4`ydiv7E4Ex#BmG zLrk!*nh6Q;PN|y=t*2ic-db=`y4(Eo7tSG@{rvps%P*r{L$qt`BsVRr$P7 z(y*+zfn+XB_=Rrn>Xue*i?#q?+8TB-=Fuq#fmgnwM4s!r!^-Dp*h%BPDWd*d=E ze6ylSYKctc@A$Iy!ou`t7UeLdo~`$X&@)=^9AW%vUX=}+sN+yKRYqJJ>NeQUDOb3b z@F>2Vx1aO|7Oy@b!EfKor`8RRZ^5`^)Hi*WNpCdn^A8qkFhme#H-JnB2O21!1)#Aa zy_Tt$fMA)C4#A#iWe2sRI zMRunzOSNF$Y+Hv)x@&vxcaZn>B0PM!@TJ&xo)Tj)M@n5kme{4epFs)j3sr3S*2X+{ zmY!o~mNl^e!EtSASEW`6iTZN(;&4^)PpG%5Lc6H%i zNek*scgp3>t2n&_yS2V~{*TQK=bE~ZxHmE$n05hkZc-UwXANN--nf>Id;ni&YnD*z zM%*jJ8W^$5|DVa9rN|RUmfzvn6Dfw;Mr!#$n zorpy7Y89w#*~&-F_g~h(PnUG+)a3T@&T*vuAID~I`x=%@D=XV(=YCVTcsBQ_^h~E8 zPg4(-Irh_fmhvgycvz3=K@p%yvVrQ~C_#G^sW+XXwzw#G1(f=W z_&Y@4`cilLcHQSkQ+T^tk11fBHu-wUMYxkDrLZ^9)uMwl{7p>1IQooaDr0xHD?pHW za_848+yWn-MmhdYC0HjCX5Uy*oO2@Uc1vlAN-msWDAo#J`iu0hjo(5GKu3nPh}z7& zM7y{oy{6XKdZ{~|w)<#k)-$xuOWbS|$6@1nuD8t2kJWvaT;i!^x7pCIFtyEsgt&h# z%QwvjaCy2VU!-FEN5=XSgQeib(&Udu8O0#u& z#`{|N{@%J5R_kKlV5?4uYQm;{?@}eKc6^(Z+o`-FfAt~mrf~gERhju-^On=V$Lh>W z!fq7jf1gikT6Akk>`H*()w61zhSB857&{JJw^>1;Aqk8vRjRiwMr2NZ2u;l=DYSI; zkbLBI@RaNh8_c)8ws0Mxyn7wVU>bVb+3bPpEdi`(@EUWL-!tUpkDRj5=TCP?U(1^|FK9q1K%C}S}tI+TjGP+3h|41ARH8alc1wwFR$$p-|?S;|Q* zVCG+aL}iyIaFZ&e?O%Qh4j-y2e`%|h_%i8?j9jtGFNxF{Z%vb!wVBd`bF}5tzuoOO z4?CWW{$WQ=b3C`i$ZR6%ogucx)vaTtl-3-~5O;<;L>|ft#T73^jCC{GY`V}GR+(0y zZ*`HXOc(;fpP6Q=b28|@dU8%WPI6+a#fP_L@TZV9HS(4 zQ+TE8rIth+)7!8Ct|=8{&|cB=WVkoq)xR43CMtuBe|GA!Wxhl&JP6JoIu-U%=fYOz zFNx~OTA;*MF*f@*)*C5rgQ!t9hDguKzyN?WdQ}1pi~+Dw;XWnb^CUgX8%o`tz&eV3EOGy&)cfTn!r-X~-*p5dZ+t z0ssKOHDm$G9{}KB1e5?E8UO(H000000Nw!v0MVd;2ND1R003Zh006)M0J;GH0002M z2(SSQ0FnLR`T&q008!+izwZEt{F(aAkBwpg_#wgIqJ6xaC?=9$Od5RV;vBNlevt_X z>;H{tU{uRLSsSFY(dPXylb@FQnps44w4~T)lcJ+&upY{)HpcU|pJluWqqFhakq0Er z8W$fNRn)O>YngfTmyWw--HP}>e&5C4Bj^%;Iq>`NzxF6T8qb0+JV+Ke$3dRL3z;kZ9C8mNE;0Md&ARRB`!1v%xY%A~cEPHN4Yx?hE253GP+ z2Jx{{PKUQZtpHb_1E;M5ssNVTyH&v*hW<3@F5homj+r|=M43@d1JTo7CTS09qLCe)tyDYk`{|3dp;z;MO{ z4OZNA0UQ9N-xQzF0TBR;?CL4~2FagPFq!fxJZwtWnACq51}-uwJYdS}T^CRQpr7Rk zhycJo6tM!7Fq-&Ef;J7EJ$I3su>G8N!v;Ti?rV&Ywk!k z0-O^u?R6bVY|tO?B{?vxBi6;4|G^cn1SB~CeLIKWXrP!Hc(K_IJdWCrrH%gVLCLOr z|7wlEOd?MvsE<#D+<1c3q#x|9M}k@yN1-(AM-p1FvuE(T*CVYVJe?5#?=}PzmK_|@ zN>Bg*fKK8W&!kWT06;2;3Ksz+hC+CFtP*tRi3K1HfQfq{!Ha>8q*<8I5l>ksYnIGr zFA6|ErebU<-t2=Qa3CyEP15zZi&ZdaORKRVVe`tSGTyY#seTm=5mAoMU-o$DY>- zYf>W46mr>^DIn?VfNZ`M4SuMJ2)K9XS`FyqA}RT1J>wJ?too`sQ2zgpPcp9Re-_Fo z(QW3Te1ob$N$p5JpSTtnVKi)iaiRx1da4)$4f+Thix{!HpnxI}5CQ-I07C;eGXMa8W#E))UxbK+4LFvX z`k@W=>*VwH+(t`0w?vB*x!a}w29Y5`U#iD3a0mxx{h$)fteP$5kMfggZWKoA80g%N#VKtBZO zqR-(>so5=`%gI>ta%pHWUIMuMnSJ>G+~r%7EByeH3I95yR}P zzlbN8)S;6Sl#D&?HOWadukv$!-YU9MdkPt8QpLz?79P=BS_x4=rN{`UJI(Pd5MGRl zj`>s=4FZcr%3tq}MSRA~y?SXP5SQQ!W{AbZ=`)lVV{&aWXYIJ}s%&3sj1+)OOp!l_&Q%I&CoeNoz1@$d(a^*dLncD$s;fqqPy0n71$*W+!5-?7d%l+Lps@Xlo{Htrz zgPdNpZ7fzQ;`!1AKrLQE^%eiO!;ev#)0c+SEJACmd<^Q#_xe2ERx{sgj8{lO}LD!;bOXy|kJ_e!K4oQvj{S}*I zb+JVIi~^2N4?6Qd!kRU@C_(++gH5?){A{WHoLrBynMx{Wii-1p)$%vBH17OyAxr8V zlD2_b+1dU|m%OO(0KH2?`!xfRQTEDK6h>&J7`)_@xfrP>%6hq1d+y(Y5I(lqw9+`5 zRe7S&Qtez!E6uwGJW$@Ll}IXTDM%0PAX$DbX7gKlS7j59WVzgbS8Ar}l(Dx$c>Qw4 ze`<*v1#bb6r3826itOm@nx7N9%Uhx&I_@nBI(k2j630Tdk1S5LB9jm}AFz@SA}TLPfb=eJ^viM-O8Vm2OPJG$ zPgXRH9Q~&?RmgztQ;1jAI_Xu`jsXSb<_T@y1+AVK*c`z957F|!Nr~y<>;htHpFzB` z&ePZuSds@ru-`aCrW?qVEV6xkC4fkFCQ{r&)reQ`DDu$7#lV2(XsGZ+8G)=$TOzaq zSbnvO&Z7|UF3f8EDP~ZVfur~B{_XsZTf`4mH&U##H>Wz?X|3CC@$0?R+5%ax?=v6&F`|V6Hbl~D&%zSF5}~b+yg|P)S4^Z zt7jcag#21RyhV;w!0du1;FEaDQ`;*%d%vMT2zg?1>vPc^R9Ztxc-A2hw__`>UaZtd`%gh8s- z*AKtx*k0)^R7y`N^0p<|hBO{jeIsJ@-^s}G9Q*}N%>DKiA;nY3pJjeT1q1t=c_ZXN&m{ zjp6fHaqGTc{tKlLy{B$^bzK84t-NBGM>28qhy-qpLDQ=zwb^-ac2_5n=9^|QQBZbT zn7^rfgPrB8k6XwC28$K&$A0g8m^5RPuJ5~1)T1<$t0B+6|GCuN=ra)yEf!jXTIPIa zcG=Q)GrJ6ixvc>BKeEs<)HLQ|8~{0F6~*jFi~@ixJS9E^3Lo9!9Gak>0F82Ydm zk<3rL07yFDW86|iN+8ASS*5C6`*-D7Cz zj-HHZ8+=|zboJ4Di}V(9(I16-IyVHY3XZqybslK^3JgEt8$rVjeVbf3zAP6KV;fmoT8 zz1Eln{_tcM*USe-H*(&Z*5`S7{i02`ZOg&E6Q#(<5n(c|4x9bF>H%>@z42yH0z`Zu z*M+(*QSSyK-O;R4)$i>0#IkC80tN^;Y3dImR@lMKkR zpqLRm0GFj@BX{K0gC_?((E;D9+{2e?Fny4r=2Z_KCDQqeVyXsuDr?+X3smk4*Mbe{ zQ;8sv8UB~$CT~lf*T)f={a_0Fx!5mo7_$Kh$)yV+VS|AP05Mr6_Ss)4|m(2%q>z&Ung%wz9GT>T2pcS&&FtH}G-0#-Oo;T-RT74Cqnfr`rZ z&Pv}_nQ)wT?;nBNxg$nE7r}FToy?WJrhcN4I$GSBxcCG(QCxYC+*0edI#W61Pr+aS zs#Z43VB)8NhJZ@{1jCT!SJEZ(SEE38!2>nqT6)$L)csa;k7`fq$CtYg&f4ilSag-- zFfI+$R$p}t8h93y?>8iCWVIT;h!;xsl^Z$S zGbAoV`>Thf8vGmH)6#67N`-6<;Tu}Q8ecLH+!1|HdjCk<#4MY%F!UUXO$z@fmFe*o zJEgTH&Rg#=H6Wkf=6iE)bVV_b?C2~Csjg9DG#ZB(K8!MP{t{h1?)ynxT@y7L zXhb;dq&zzlBIGpl{p50surM!hs-)L)57<$0MbIskb1_V7HWNndgKIhd+ghZCfl%8u zjc%u+to3lP>v>4cte57F7GIk3&%kGTt_HlFDGqrX4#)<(09OqFKoEg0AL1m07EeVTmb+M&j2t30LGyJ0002s0Ra900GvCO{0#U2 z%|Jg?78h=X-QhuN{`|8c6wI*3pK#GEw~f$uU8ITgvh3$jALma9}&dAn{HZdIbv*v9AN`}$`3Yq zOS8~XrYr%M69~Ig1i_|27Ow}sq71_T2<&G1gTt_4z-DN^!GI%11>w?8%usfPUf8n$ zie4dQaqvRRp*3&xDmiC22wGP(rf?hlc;F6*GXrmi4%nb}-~nJq@-Vlcoyo&628=pH z&qZ!WbE5)?H3qe!Wisd5oDjatr{Yz9*z;hiU-^(o>)EhP)vwI!f#Jsfz(BT#<+9I3&BO(f)+hqD58A zkp8a3)e=)Xw6SN}ub8I7bH-vg^0sa^tqZ6it4??DiElcs7kiLGucvi1K+C9)o9iIb zH&qafAJ|Gms#jtJP5|KZ9{-tuF6A&;0O6tJzTh`t%yr={xqKgS;Qd@9y6Bc?a~v%_ zCv=MY9?aaUhji%29O0*{uyqld8_3Ee9_If#`T_bxb}0Q9BsIe%lnf_$cwGO8J+nca zKW;k)HJj%?JA!~taPF0{F33p=oXnZJMHNFCL2u9gi{AFVLA!%=6$Ul4e`0tKlxU+U z^ESn60Z{@`zwkH*F3=26%2e^i3Trv1Jq{ME^+QV?t%}AM!owZZjaBLKP!`J)ZWS>` z1RR2vEjR< zCm5yxjrs<9KoKJam>!z(8<~?rtuY+GUw0znQVncJF>nau*pT1W=WfUu50Ltdy4!wz zR<+Yz_(&_XWt|?#0PKjJO$l^*kkUGCC&U@!10R5;4EBe^wtyAbEZ^{)lxB;2_O9>( z{wmyR&yNzY>}PMc&{3O=_~X$B2~_X@UGFrE=70;N0(f&|zkT=a{@dN%y2WKJiYc1YwB2p(t;@O#TLL^*GgCp=Ze&}H0+F#}6pd^K z5(WW23J?(jDu^!$LMH@AfIh?k!GnE2;Tw(hCxLs{04{lYX-bD)MSaYrED=LYK}ADA zi0s|*q`U^gd1a_{Jz3Tm5fn2X!^Q~t_f{8Dc*OFVJk8OP%AnbbTiASw@*l64P z3$m?Ao{xraL~rtK?_zS$R0MO7HE8ZKqIN7hFEBH!NlK>GXn@EHl5{0@^MbS_=;ms) zMg?bq9$!&?OngwN7OI0}an zzE8gCkTqz>PGE@F=P!WF>kxZ0+z}G;zlgi8V2KE8W6S5SH7|G2E}+4oWeW_$C^)Mb z_ITN^LjW$roAP>WMb6EQhug1PZ1p})+vL7uv)Co4HNI3S-7j{w0If4^?aegtFBB}p zd&LudHHfXt4wqN`YH(aPQ4-cBU-jepQR*;!lB0J%U4#8%e|KXR$pwiVXQViy`jO6c zpD+9w0?=kS)j7&h$G+jUZnz+A&i1kaZ?wmVixV)!an0j9oAZ5uv&!Q}fj1e91Ud^l zyU$~c-$3-*%OwZK+w6$x;m-2jpfH?pscHjYy4|8SzSzt-a@3{Jwvij5R= z-maU?EsgIvL;(mK^k;RfQ+kDLLm|-g6|eVxB2+08V6TZE5$aQ>c@$MQM$J10EN+lb z)AX9w8tnnNP_jvyY5_}I>IzU2th-UqN^-Up-tBq9d_~AS^&R%JEnysNe#ivx_8*+K z@4X=F?s&`82=FY$FV=Xc;}02DO_tqBM|9(N)uL1Df*qePsK|Z zGEnQ_4u*@)X2@35&p4_bV;eg#f5OaEgE>;7djNh@>mw3&N;WzPnmZUGK0QaLrIp^uu{V7DC7H2s#VAeCPCYwsM`Y6^F(MOVEn0r6@j09^BaZ zo@@Ei7chbc)c8iI!%42W&M@Hjd_jU0BVb`Jqk2CUF=XN$Yv`Txw*5RmCj4}5{&Mq?hN!0l+pwZ&57M8UId}sXq89;^V7*%o z1Jx!CZ@C?TwMvG#dlNHRv)Yv}b(&`$#<7v_;pi8+c}S^&q|KClO+?v(-HO*cNq6jMl6Hym7mqDyCp^Tq%3rDaU}=FRM& zI?OTu-65f}>37c$S*5QuL=d0Y!Z$hVsAOO3_Qalt+?O=Ob59}?1(m^{m@&>sOw~+mBuKK%_HBZTTmh7?@!Y5N#W6~}21&8&y)3)t~ zC!+?#`SKb9r+X*gMvH*$sb044R~R>s*x!DL){jZ87#mUSngb%|K9=ArEl!MKcxGNE z3fx`1Qdec(bNeXNUnd%t@VYi3B1qJZmu%hSqT4nV&!2|8*E$-oD&mOZc1~hZmze(r zy(9B-(HbC>k{OVwf&DgB*{bq%S0|(VU!{ooW)Jtu=F@Sy9vuCaeC%uJ_s}7OwGl=z z8>rN+5+7?qcGZUimwy$TE!H0-reYQlXfTI2^wM`uQ0sIh<312un(Y?mG~;xP35(mG zlB(G%D=<%54!j=b7CYh44EQAzUgh@iB3pw}3;n6BvWQ#sc*k-paPigihf@!{QkZoj zuMJhD<{=Nlrxdeg-8Z$pMkdUl-_mmc9)gudqrzFMWCi>@gnJIEW)Br=k<5h+r6fkfdQ-GU4Wc1o4(QvyOC2f~eNn0n;N8W9{V8zs;!uHyn+r7cYANQLrz6{L4} z#4_-tIQ$u}QtR;vV#)KPCFWpav=Df<>M9*hwtUc(a6!K@YL7u8)UM$cb_Vl=F*b_} z;-|gL8zp~xu`3+@#4;$_@zB*j_zc3?g9UN`g85Hy4noy7U_t=usDXQ%n$6PzK6YAh zjX}DVj@3)>$c73g&1iAEG_J`dpJW^W06zT<@h5*!yhW&g&=Ba`Vy$$wnEb}n^K0uy zJxiK@igQ)6%BoW2hXU>pRdBH}`Y&XKZTe7WUcCgk;{iS{T83_pjLXidv(Vhl|B(7h zwuD+LiLA6qc2#d;D1$qIEAB*gZR6r96#hacp~AXj%k&N(bC+a0b$9cJoa3&9uDu`4 zKB8gcX?|OpueN1TbSGMmd=Ifo?p@Cd=ldPoeeuMpj*gFZW>->A?0}mrT;;k(9#yRQ zz?%5;j!NcDg+*Py-qVZrbYo(3C+MuTI09>W8x(KO%1P)kKSOHuP z0_R(7s2LI&7g1}QPd}OMnk@?2UPQf0MPIg`{+06(VWIj}`W%WoQEUJS)eC|>xY<9_ z??exzpWh@>KI4%Kc9@)1YT0VI{QsBKZ2IDST!IjeF7 zMjLgz$hWzF`f6h0wcqKYKs1b^hIT4Hv+R$vDK+W2>&bVTI?PcXJA3a@Ry*+M;-s$J zf`kJw2D5pZ6$A0-Zf-8Unz*mc1SIz>(_IGL-;9)l>Q zs$1=mz98l>jAdn~`$8`R2DC|a7Vb65Ffh@RJK=@9Pm5SoHIUsytc_F%`7iqhLWSk` zpA36~HUT%1WO0yGHQ)oK@!Q|V@Ypz_TX;$aVI z*ZXry>H-LeiCzk*Xp;P}On$VSXj`v&%BmHKVpvUc@cppqTV7T-iuds-VWZGb5U*bN zIXH(*GJ=Y%+mNvF2R6HhuAytD|K4r}nB4YCV)3(KbYQ&ySit{82yC@wD+SP*MV;?a zW9RTP^qMIo(`9i}Y|EofkhDhD+*;>3JHOQ*_5SAyX!*|tvrHW|hP~H)gGtY)B;$X4Ui= ziIiAH!y8$>v%Rv68eaJa4(AweX@2}J*FH5mmyWzeLoi=IDW^kR^tS8b6J)>ZlkZiT z$-{}C@yT&>{TkRy3@O%3?^B-Ber(>3Rl00DOxl@G)U$k;$>S12dh=mG(wRoCC2$17 zf07zpVY1$$h?U&yq)JCkHG*2&J^u>Nk!$N5?6yg@JN|g>x$SV=*SS8yCWuKLubt3^ z>^^;xbExOgZ%=jcdW4%HyCdnr45)JftSRBRw_&4Bpe({m%2mp4g)K5jGcdTqubFws%^VLL z8kDs!wSc?%4zh{JKxO#--2d3tUI`N*m!-?Li+I3CPgupD$gMOm=FSK43t=o6#k*fe zUzM1Jn;40000xo|>r7q%{hux_MlzU1i_KawkYr1y*su z?)U7=UO$!VoU_M;GL;)?FZXfHnw@NAd`^i5zSOJCF!?4}*yK%}qXc=?h-9tic-HiaZ2JU^ znS{93(_=$Drmg%%ZzD^~)nVW9yfsPA%Y9_}(T%i{>*q?k)4Mb@rc62h6&{l-U6&RB zcoTeGMSo;)43AWXH3#HS=wkOh;#8DE$uP;%RIamxUF_txNkUA>rv%;u2N0PskiWPP zR~`87qbsIw3`Ky#p40CBF;#md(-VoT?WCFKdy&5cb;R=S301 z2pb9nv0aH>`igr1gjtc>seTlCNhPrjF4o)h=$9gwMDjxuPl0>eUEo)+-=<{__#~#> z$~KQ-6~Mi5d7UJKwSX$A0hx%fJ`e?U1_r{lBzqI@#NzeT*s(MN&ImKImHN%4y5_f# z3;-nr11*pO=r<^slRaBUvE>>c(eaSnuWIQl?7_xqa@`rXy5%BMV0XX(0M`Kk0FVW1 z00003006WL0P`RNfB?h^004m80S5pVSO7o(00961bN~Q@5+xQV3_c^oZ1S>#xIl;j z0HQL$5%K{u^CGDbXPOKZjyt(Cllv+4m-cZtz8z2d|EX77iu#VsY$%GFuH3k^9t@Zy74U-H|^qAT}FK+=T8PNxFW`95kfGs*~Cu=}#k?=Eu zV7sV|NEi1^ZOL5@;3T{fb2Skf*ZxVv!@7e>;GSVUk-H%q26O#LFE8oehsmDR#3z|_ zI5bCQU&~6{+2_uOJI)mQKdtWW>d`wkdEI1rf(J5tjLE${Y~Kzs6DyI|btEi=_zF3| ze!ZZ5e?{WjUYoR10-l8U_C?xeiIB9wC^-PT5{|}z6lwqhNdTMpAfCifagrd&2$J(u z1;qy7q`;Wc$+1lqSGh@Ct=rY}X9^^?dY=2O6HJg=i^_p{CM`u5k$!boXaYt#B+1_J zZ7rdC#oHut=5rM^c7l2FZw$`KIco)P)AxxfeI~Jfp44fcO(F4T-=7)`8p}^LzBL42 zSJKFKId7Wr57c#qSEdT29$#ra|DMzfUJygf z>6RxmJ_d)_^b$>`aZ7eNkTi@P5WBHb)~669xx_&mFPc4z50&SOVdb2 zE82};OA|Y6#!Onurpl2MG2DJP5$QUHJ+Ptn95c`?n8;vuyW9b~~l z4{Px%(y8FV5GFkRmD?Q%?;d31sxJre`opBp8d2gA`wvN=U^%uXzM z5CQ-I07G*yGXMa8W#E+d{fL<0Kx0X{j~t;y-y27uZ=1h^985wrV_Ca;a(mrmZIX9s zUjKbCTnPXpGMGgM04xVTEJ~X3P1!;rWJK`z=#doCv6$JLO zJKZZ?w&L#T!3Uh8raL`)CV552_$6j;)vN6$F;r+T7nN#MIemH+?( z05v242Yq0B?|a+ZZdzq61v=GK4Ir$sv9+WPd_9j-&p<)q+>Ibjx#S=k#s%<7{nU}db>E0EUg1lwVn__A!|XmmErl<`3EiRZ-iju-UEfT`)DX;I`6*S>9gxk9Db5m9fz~3+zuRi{d>~aGP_zhdQ7B~s!9mHm7@W^0QI%x zw&nhWe}Tq9q!ILO#>VARhpmz}Ofef;gdR~Z;ir2>FOR5Rbuu%gb(l<|Ng!9&QCxr& zz&YM-2B^kHfz)G|U`_rK-O*W&8K67&gD8O{Wcz611WQgJQfeG{eCF)$!>y>fTPk-g z7(z<4M&%T9bt_I_5+N4UX)Z;%to^-tq!6TtSEw(qaMj~C(0$q= z@i$x#o}dk=mZpw#Hy>HtB$|Cfi9ABzJU~i3h|HI|=fn_tFDHs*xr(KJd$y9_ltl~R zAg-EIHczS`#S}6GyAI=(wL?0Av}r&#azcct_jRc+MgzyBe;B*{w>?2Bq*A~W>^Y2D z)=9cR0@Lv$68a4+WU_%jwIbTSR78ietCHdps9~J&N6SJI7XbsEp`gMJWW|xXYY9<` zUpv(#N<~rNUD(w6Q@)H;xuf^opZ@;7NQ&6euXKs#V zta5Ga2cs9xTVJ>A_{2yVNjkz6tIOLDGA=*SQA!;;J1u^+SU0rlt2CA!xfA``g zX{c2!!{ovkVk+tIA`Nl(J(s(-aXwVtXea5%MsZ^^w72~Y?SYnE<4lcu*fy(+tU9kM zPYkx}-R&;qI>O}l9Yzk`>OCGaxHaJN3HkKF&2i6>Bg?P&vu$Lb!mK9%b*Ar-lP5Eu z?R-vaBWqF-4J!K{`zI|=3ohP?sAD&<3QInEaCI@ornlrZ(3ibDWuc#G;yV-r?WZ|CHYBqi_3n*069 zZe<-A3d)Zf*I>8$dy5T*UW8oXb(k|xw#4#;mal_;t+E?p)0jLOShJB&g_NsX0#KF&sydennccknr8oRtS7d{*?vgcQdZPzwL#7vHS-58;mDn@aG-u7 ze2z4`i`3sN5v!xmkN+XH&yAU`s@D-2$$Dt8a3`;4&urw2EnqjZ%RrFQ2#)^>3;gwi zhDV43AYG)Qli(4M02%WwI{oOiV$N}{<08@bb1owxJR_{sWcK`{bRnJ0<2)fuQwIFW z_cE}&GjWGQsAis${WbOTVh%HBi#)zM;U@*!*kQ9gR{n~_M#2ZJwD2Mi`MyqqOP_I$ z+af6SfiBkxiU2@XlbgECbLSgOb)cIM+TH-1e!i1^NJV~fQ7^!fB=kMWZ|oU)UQ;&k zwP)Rf5}K%x4*{_Ne18C+JrxiIz~K3S}{R~Hda zC#Q3fuvIubW~O5U-Cw~$n<)NT$DgbKFzGchlNSdO(;($^`%w_lVs#DbTIPokiGI#v z2C*Ek!(u`W=F_yTsln-kro_1X6FSF5Vx~WFI>0cdcW+gsWxh2u;w=op!z1!e^i0l8 z%c(zJ|6WsFk}#(eN0DzK3S5qkg5hiZ?ug^)4L7S2h~jsEC-j7(O3P8Y-Wx^K@$9h# z?<)6UHH1C#0z2I04e6Z16+_Sfl!G?_;HEY`1RDTJLgUI#1_;#v%#s-qOY*A0I|J$H zl5U>dX-CeQ;ahNpzgDQEXq2Orbity6rJtUn9DBAkRm}vHU=X-WM9RqK_er9l}0gGmSVF<&R+)pe<>F+Vw6WGkV68(>y^P&>yn6)WyA zBwPz}jysuF*gUbW;_dk~=|6kGct%>=3ZE$jz#LwHD>iGgg15b;vQAM~IN-Wpe?r=c zDLI_Z;K;qx<+fgo2WOwG20BP8d6d^ zWg^TZ6aBjj7ijx@8e&B?h^6i!B|CkoGK|Zh3l1jHT zQR{U`u#9=8%@miKerIvB_*C6aHWU*{jHed5y0ygtB5SVLAutd!;-4uJm)e~V?Q^ko z`-J0b!2!qTy$mAuP~)*I&uy$vweBnqx>a;T{>0+`G&Fpp>}|nN7n)_8?MwY2B6olJ zdnt~|)w*ZsFY-yTznC%^GNlmnxnz*!J>if&+$c_OO>{0U(7W?RVGC(v#PCx2*P%`1FCo=5tT_Y8H{CPd^Qk@ckZ-Yxy1PE zFvIrxkeh1J6w!g8)~B3d5s( z7?|t}wJ~S_RHQQR35(1>*AubqK}Q+NzvQH$_{N= zR$;Zb_#1Gb)x~i?@wON;e;4gZWei!L6N8E`vI+A5iU6xyE{hojfS!02WeA|Qg<{cw z`4@<^xyDAdaA;iXlX4IM0KN>Qi-#ovXvijg78g#2$f)qEuTLQuuD-2#s0<^qg9+SE z2rKbaRE${9%G>hZ@fF(Go9VYpQ=l#mPnxaXb3X#|qtg;;@D{uk}0L*dj`5=G*<)KMF;V;|(4L-!ZN*5;(<^FNApUdF>(E!Q3Hm3HAP856)=G!)82)j4 zz@ZdMvk*yoyvq%CCg^Su=t_YWmZVrsq)h!9#w*=U1XD)i+qwThtb@EJv$3LIIo|B0 z5aTUnU`ALvv)qxI;FzZz4v#LONC6J5 zVn(Wr8dGQ*E-yMH8u)xL6m7X@cj+itH9GhYh*oy-qJr z7uyTVYIeBczpT<*cCk5&j*NU<$)L+YfNN-(M`yMV6abF$Ti=wfwX7H^0m36vev4tN zH-+0+d~6H2s+6#0U*3Yte6>k@7Z%NsFuHB8i=E}s{BQwN0I68MEyXeq2uXl!VYFLD z2h-Uzm75b@mt_G%3AJ8`|9?y))P2X|-qI=NmR+U)e;>58mP|EJR@Zte70S#7&LbEB zF_^V>k6!JoWvA&8kLCqPbS2D3%Ebb_mR|H=Lie4|6H3+ohO(29xD<2f)FHyFidGxh zjPUY(ayW{6)mlUuSKWwEN+UpZY$%#uH|m(9#7|i;Xbt2$Oixn#cHN#gap^aVnyz&1 z|CVuIoo^72$UFSrXvmX%-N5J&5CZ@J05dc&GXMY&Ra_wU0U3;f2T5RUWJPmn^CKcO zk}lu`H?@$E#0^K*ZeHAOw^_R2+Tp2UTkohA& zM?)EsB$KIK4&7Eg1ftrU`?n^Ws#I@p-3Kb%y7w(cb*lS)!w@aI^yj8kPL;lWLvAaT zo;t+UT59w~hrOX80T#AMf6`d%M5hy=l8QZ**Cb zjk`;2x7w_0;f!S$38h^HsgRxYwAsbCtj*`xXv7#UXJFs0* zZb}UlT(`wUU>uqdqETpW^dbJxi8zcFuj^dxRA>*I8J8Bd!ka!^i zWGMSnW)TVADe^pc;CuLkDFDY(gD?bKkAlQ}3u7*4#j~61(@WqzConNS)KCC77xipd zw}p(=T(A210$ef~Hl~wCgfee#7H4KJHNO5X+~@5$n~4f^n2WzBs=x1vsqw!maF5y7 z^2m$E5vjS$?Z-a?!3}gzpQEGmp>xgxuXwlg(a5g~wC`S#;=a`I###5bmzaHq30BCG z8oiiv?Q`y7?H3!~Rn!bALYGQr&6)GZyd4r6eeA*M?fME-^<@z|(Nt)#gKiuZ8mQu$ zP{9lku`wP6fi%(^n7HnYQNXS zZcl-^iOE}9N5I;%qK+Q=3C$_*BBr*PIN`0k|HE%D(s}UA=`qA;ptCf?pUH13BTc_; zc=}rAitQR`Tk{k@Ui0&Q4a%eC#({~xRF(*WFYl)LajWdkJh$%Kc&2-PVi*`DS{r@T zHv?B6c?ebaC;0w^Q*SVU$ZqmWfk}nCGMqbXg9S^MtO(wL-AH!cZ?k&cHqiFe{~u`v zVbRZO@xai5JhP4_&2~jOX{4m?#PD{A)@+NzE(vo!=wp+L%$`bNkT6p`J?%_*1I7-Z zU=-rH4RVqd-mO89?cd#Y4$Nvx+hbLqc!M)hpT zIozKi*fN@?2rkT@gHJenn9PM^hAj8o$I{)J6t_*%HeBDTtgWL-^!6uZTeTaKdQ?F}-&*x<)9qseWS+V(q!8~Xdx zHwC=_hd_A0xN+K2?r6BLtdy$i@!&k7 zxZ4PS%hmHfk*BDAyZ!+CNn7S`ij;QjYx@?GUg9f6?aN9PY|e{^j66V?G?ggI%awqn zoAv86?wqyTf#l=4!(J+LVsF~}0GC|^YhC3d8-Go4{Ko#4KTKFmZG~^_o-1}7eokT$ z#L{)m1|l8n50ufj14w%;)2Y9U^#1(EOPV7*fy-oRs|@x(fBGsNU|{^S>-bsQ3FxP}woouWiTIX2Z|w z162!FHJH&L1T*%KjaFYvp%7X{Xa+ zp{736tTEh1v^!<~(NK9(d;l%9O?cYPA$C)syywg-o0NuO7q(R;CHVthcZqa#xG&lb zF#oc;>TI2opk^WwnU_nc(|og#zYJu%ub1XsZyT}J9#WMEql8&RWWNlIgar;Pa(f+C zy$`8rqSzKI?joSBX$C=ZfO|Zd@S-N!x?1X#Z)svgdW1Dxe{&E6J!Z5ZYw0001jFpbZ%;01Q(DF{HD#{c%nlHF5UwCg{90 zbF#sF3V*a7y5cX>S(*42xIPapT|{_YI}+Nq==x&V+_$o(6u|&4op97Er)*z>oHT5( zeBcJk0C0m3it>QoC|uAO3IHUzsSuN!Do;wvB93v&{RZYS=0aUl)X0jEf7a9ER}2e^p93L+= zTGCRC^+R|lor~0kOu?dGfIH)ZiPKiAcz-zdig)@@K7{9DG_m*!GaY4hw_Rz zP@#YgKnbrpGe}ljt9cdKs;GWi4jMAo@u$>v1lO$kdfjU-{P zdFp15NB1BNunOQTFIB(p9UU&y%1%ySytkUkNFzwft^~D=%OVHcpWm6fw&x zk&{1_5`4`HCVZ0koGKV`U*G;52C)l^KgF*|kA~9lwusQ{Ccdw8JUu)2dkn;jRuP0+ z`e7mHliRmuad<`P#}m+PJc*WD)0Y^Zg#u-})?r zY5g4im}Wtr3>xr_K>#qvk?%Jem%PWE`B@+#wF+|iNNOj?^Or|}D8eyNMf zfs$T+IBZs z+!7d`;_wjg;OU@ws%Ge?z%(DO^Q5c>Q9q@ozkKLl zuDbQOMks_4ehT;t_e2wtKum`4pQeQ|;pu4dLHT4GBz8mjiVCOdZxmNxhuk^lb z_4#^RWmmjvH$=!%(e>aI>V)MHc{R0+C=z-{`!!(NF!JY0sRY<^5sAq>L#aLoDs@8&1H_*mnK>VDvmnQG- zCcm6M#(MHJli#5jymj0Lc3C=>W3KSUMAbS0w$;tnPmLWc>}=Td9@} zSpBsCULQ-H)VOUoYKU4e7&%k$BV#*$gLh}VN93c4Y;Yaa8`sz06TCm;e61TzR$uC% z(5TdDA-a3$eSUK_mdPvA!z@fYw*C3`G5!eOvnDdii2Lsmfgpd^qY7*6iHu=u_92fp z=7O}bgocbhxKOkg$clwqJlVSOUH*#LijPO<^&_KvIiN`gG=w~MTXKe%bLVJ#0`Skd z3?mPkh2mW{`iU)VH1Qse#i73sHyO^g==4Bn04yB^A~wJ=R;5isaWKtqVkI@O!--8c zoN9w6o8Ind#a8nsaPfa{q*?D%R8GxY+UMz*23u21*Y7l+JkQe?yd2N|eN0t0Vp6WG zV3FkFtROF;HoO~R90_Vgn{eTgm@E79Nqw0`kuB8bdpMt}qk3(+=u`L+g=?YiCfRQ& z5bLSoK+ zW>uw&>I%F#>gMA(MJo`{DCG%Cs;_jKvZSYiZXyQRTv|RsNo$0097yN@5We)Hn0`*u zs+dGWgIDq?%&fZiGAYFiQ=| zreGh{bw@os-mH8SPG{tQAkS{f@;-G1n{7tysr8%jK4ezyd@JZfIuFAUERd@}e+i=zgHWUDI}}pI)+eROom0sNHsTsgPl#TDA<$_d z=&!GS;@D0M>dX&FA2dj=@>r+6UWGI%eY1Jx*^t9H#pHXv*Lz(*Wc~MPu^T_N=YXHH zZdPV)H*YU9{@c~>K+u}E&79}Ux^u}1oO#UbZO`W0v!>lyw@ZKFAz~$pT;Q5#)R6vM z@nHC6Bo(v>;0n}}%9HPni;28k%YvdITqnbDbdMyvle?}hwOywPQ`qLkhZ>s$f2m&D2YZW~WDdRE9GAgDO zb)+Y_k>8of#@GnF9FK@>Yf^E;H?GW_a|}rD*?Wt}OqWoZWF77^cSudu;ebQlXip&L zlKEF+p|E7xO&%N+@0iWsHdA`X$0DaSf|%cr3ZaU?pwkH0tmq}XJeGv5!E4ID-7AW- zeDyI&&H)^^=pu5A`5;)+^RVRV(Jy07id$7jh}@_+TG+TPLLy+cfY+ewG^**~#ibYp z@EkJ$UI9!WQF&1Hl;#CR9w0c7x+F6KBw%Xo(W2B~sG^{P84tw!HVSrjlm`+CK z3DYnM5i|8-Nrx#24I{J^T1Ab_u2)cbd$*e5LmFX|4^>LtSM;^^+%)Yoh~U1FV20HE~bK9r83RQOUGIP-g}U zQ-Ok=0+S82!(x;BiKu?nACZy?#H-b)5LieOD6+c!ht#Eo*D4$JX)0vsYS3=ArAh9v zm#&rL6UeL~6V*@6L+D%lgD7{NODm2(bTZZva;3TUw^rr65s#p{am&l(aV z4VK4ElCRw7OG*tqV`^QcXt}T5IFGS2<#?=EQSOvDSyFTR6cbf1G*0Gqd?Q+c-fEQG zR)1vNr@(PDKmN{Bxsacaprh~g!xAsN(DBnb+3HBQzqc7Xq_wdX9Ame|b_)8!i5wP; z6@yjor&^T^0;Pbqmo4P#7?m_;GAt$I3$*4Ksjvvt#bD=DC0n&=+je5igHt=C(~gwC z+R#7}fb63Ea-NV2lorPq{sUl2tAxWhluF{03T&Q_U-*03M&|PT+SJbvT6?9~QRY;y z96jH7$0HmEKY8a#@)wjZ^7N#xw`7_vta&UcnYml-bj@ntu5V(ywZ}hNQTo5P7%Ug1d8zG~6}MB9Q|2 zSe>QZ2qqWh7{UnTQ5zRFCwF2Q=#G>xM1+o=v7AH3i_S61gUli?%O0{Yhubb{TPWD- zy^~uG&d`54hW}_o(J~|qrdf6^=+r{^G5cqEv;70zDxUsLkpnY*;wDQ)f6MPjeE5*N5D)?Y001)s zMl%2a4`po7`WH}fAepRN$dNe2Mcu}d734y4o7%<@wll5ouiV*fcK2kq^OEmP;ral8 zkpU|j0DwC%2WYb7#LG*vl5IayPZVl~5q!V`s^LTIv!6ATHDeRHlxI2UjNz&YzV2slLed;vdaGfTTA9B`B1YLH3-A(jlF_b{QQ=xy1$q-@u;>C$+} zu}+8ssw~uks-sa|PwB$+Jx?6)1?B-O8C(3UblaZ@`kYSW(HdaO@@XtkkpC8t)Hl5(lTsIzyEN1Nc&!MaXkAMYo0;Y*OvHvghQ8QizyL=&55A)=UM+h61X zL=yB+v#&8(#YjO2B(!gLprSanFci51%8>LAB=eh+s3tKsP$guDZOvuKdtgO~T(f4n zFMrUZLq9Z(oR~|etAnx>cj;!~&58RcCTCd0X_0EprZNgil~r6a)UFOEbYPCQ)9Nf) zW}d~s5lw<3u%;-ItY6m-PD|s2(0;cejC2k&PLaxE=sgMvLD8xJ?$y=6W3{1vuCF6{&{@t(;}9NA8bP zlLjraM!BETl`&?^(lV&qDtogx{p=6vQ0*o6-zOWeToc+@KeSQDwsfH_#KuE;3leSQ zUNZfTEMnRB>7{1yjVmzpB?%;yv$19(!^z6?dVQ>DTEy|F84dIV9b_m4|C&Et(F55k z2yyRNxwz+{Z_D;@^Aq-&v0v^??z4VkbGLlQ-(l(bYspHZCuqz*+^}#t+GJFh_=|~- zDpMV@&3MO76a#2b$vekn(fJ3qM%k--`e6_y+X8>nX)v*fKWf-#dzNFAns`+^d zk2N@;;-&**KzLq2j6Q8(3kcE2{EzV(Z;|f@(HU%($v2sU6MNH4UuDC`d;XvD%*#t!QwB7J+GH>FnN2f%#+;x^< zdEYa{sSu0xfUZLEXSQ&BAeR8}N^`@mNY7-?k31X2Jj0B(!KAoZ2_ftmxg=6ViOc5R zck-5sCSJ75c@x~J&f@f57Wa%@?%c0?z0VL`-Gub+Tc|p7{|>!Xu<`FKSQl)xNitiD z$Ih(Dw|Jd!+ZuXYr>9&LoQM}qTfYR=-tXvbdm_%tWZ;JT&#Avt5Ph_w`_diEJYNuLOVS>bVB+he zI61b?j;K=^PY!6AvEratnrXln40Wsf%{39Bx%Ui;qYjMrRc$M>~35tl#=cR+IaLo5&)@D&9JlA)cDFSKS}JkW`k zK_2h^3x$kUf|Nkhg@Uc-LJFV{+JMRaLEI4PTosFr@T7vq3wOt5Z9PB($J{GIYqO~Y z2-MpyC#|y2`5rCQDi<@j9K-lM^Bg;KQ70Tj_@`x?CMwlTlEJ0|NSN2{AzMK3rXl1Z3ZINu#Wid=6*b>cf<@9?_!Gd^@U`AJwdU?qA3d286}p&Ju`{ zT+cIDrhvaFQJ~KdECjINXR3iGlJWJS`JK9uhnNeO*UI{4&y*L{9fccW`(#_%zbbpr z*eFh!CHTdOUsSm9Y%=bmpMm-eRq^m6yUQd>+n^~xdE#GMSaBkZuNWn4r6H`8wm>OR z*xE>FRPC33G}|_&+HDxt76(8xxBrV7K+tmWJzua(63|^C6^x$O9-Dv}0l~zgSXeFL5FFvmcWqkuWls(E~>R0Aq)2)331Kx&!Tb9I;N1>U}jfx zUG{%*0}XgGr#C)Kew-gTe$7A(`GEob@TZIdlK}q*0$EfH4hgFtT5Kr<#9DVH!=Uu; z?e;fKG!f@SK^|>dF`WFB8D$<)M}WfdOe~mI{@|qI7AoiY5S}oxWS9Lu}n)+WD#%?-cBPSo0P_WSZ{LmHPoCp~&hzGLV<1y@#ZzA6I= zE_x*oD2zS076MCXEBL0@#(rJDipDpzG7T)GNEc%2W^+7PSh;M>r`p3(cu9Zq!g@E7 z2j*ermI(vJ^t?vOjWtD19tP;2G|mw%Dc$24l+d&Yyu?Br|4ilU=a#YVeDm`-foE-| zkDLaA$7y&_?4N&;j>uuZ^dGPq_1J8(ygG5d^DIo`MPxP2ySql&Qv~OvSq2pmah96+ z$4*DefA^IfUK8K8xfJUNlLjjm?Ljnt@7r!evJ}%Nps-&wuCn)si=vjaQrYNbY7 zlCgaoU|0Z*a$IV$TOP4aM1^qzMZ-z$Pb-eJsWD=OPs~|eY2r&$}W&{1_igAvqMkf}P7rv>jI;+QOL>slLu4?pXnX!oT#|D?}P1nYgF zhR=8DJa=;_L{IE&u!5k04#c2k^ziTG$tikLGg=yr#u|bpP}kTi=xm6;+Y+z*4r7`z zb6$_OhIz+v)lyrH#n4V!Mspkepg(yZw(xq35u3w6q^^?5q`_ZcyuSIj$4X0OxN+g! z+Zs^_A(G?ZspbukPkcv_#gR|;5Zj#ml=n0aNnBP1?I|#t=VlWiQlvjxU;x z7jMKhKI11nnKZg`@sS^7F>ekT*3*jkZY*vK-Pv3lrP<>MqZ-r*(+l76DX(cPCw4j3 zx&4T5zZ{a{SGf!}_EF`T=I54GoP@oz9ss-KPu?4!$gx|Q034GHo+v#0wUwKB@|A%( zG#Ekj{gqMDX@k@Hm@99THuL)@xhc;^&X1#0oDIeQ_(q}7;b(ZY+XhXX>LKyn#oMvN*;Hbx3kd}_@n2JLipMOP}k_{ zc0||aR#t{(0dD-TcHj6LhxMl);u?(18&Jka0|-cwe&fdAti%jpp_Loc4agsCVHZTTdXa2E33JOiV^S<+my=#Z=#X%JVAAl`Jy*5 zB>+@^U{ki>0~fI~BiFgdu~4;ucvO^*hS^IS+xNMSya4-^n0&H^A>6Ov0PsvB3HjdV za76iEaH@HOtrozw?mbCda5B#jRGb_@aw;zK^;ZCIYg-Ir5#0hs`HVkS(iLN4J7Oz!>K?AUW=N2tZOF@B9>*oX2e&#Rs-2WHE1nwQTa=^?5ymqA~E?sVEOQ4j@$BX{BAuT(#EZHvN)+2U!n zQH#iJT#qz{DxzB^x7b_|%8RP>{Za@UdX!>}6l7l)fie@kO5{;<{X~PKUBqmA|njkK_Cx1wCPB>1nFC?Q7Q~lVK%y4jaq!GW{tYa@C)0l2&TzPYDgc*B-6-u3v5LtH-PDy_HpBtaQ_hsA_w67NY){kINfUX3Nb&Llj#u#}4A|0`f}rPo*VnV6Yl;F7sRBzT(G2|HmockvpIZ ziTN8`0fBV;?nf6P{z}(*RoWfp-jQTsv`o))v#42o{Q=y84hTS4KtRHBgaaH9fbfUy z$obC$kq8XG5tt941s>Ap{R0GqrK{;2k7d5}ePXaCbRmyl)s8Yo?m7T`5D)?Y001)s zKr;XUZ)Hr7+80o9Xql`_xRFSNMcqc07u^f#7->R?w;j86+mwBFt=*)V)4cwBV7LGP zMr7`a3;@Ugf0AWOWigbLQkE1S!*7-lhDp3Oc8zq+GI#U>FRG)kTDI65?op4(u)E#6 z7n&&3(QkT0lx@oNrY}Co3z=7%-cJO0J5NkZ?~`N+305z^9_XBO_+AXww>&a;f=xh)(fY~<~@5*%Lh zVHGrrGW%&psOG$4+BwBkO~D!nL4!-B)1Y%gN$pod_jnq$n~hoXoYW%Y>s!CGgeo5J zNP_xcX9RnRO*1VGOY%R_Cbi?!^!z^Z>}%83jia?UlSRLgV;%Bkotid;cTn2tJT1{5 z8(+jn(ejYkQ6AC(0`H;2r|KuldP`ByPGzmvLK3=|4&;c;d_VD5Oe zO2f;|iw)w$QgOTg2KUeHknzu!9y7s?!m4xYohPSSv8|9Uh}KzRe-4L660#rv859`c z`Gol?+1>HZkt4>iN~n$eQqcG04^GKD7em_POM$u1Ol~Tq$bTJFoC#$+b6keJ8m50v zDY*r)o6(9djZdn`AzETsL=#%BI7xp1qVHqf@W zMu^5bO0P#2Q{t)Bo|9$BX&AwUN<6{mz&n1>4SmE%E9{10v}}*e6*ieZBQ=k#Z0kEs}=n2|@5_vdHz z9$@E4;#nz_3z`yz6ESZ?8cq|bF5ZI)QYR<-2%O3l(VJns|=22Z(Vgg9KLDlDC1kD zNK*}M$1eStV-5zGNM0K5!#n5JKkuh)RBM03yDVmdHyKr{D#(Fi8Q?rY3+A(CvCyen z=G@R{{QzKjU4B+bfh*#B>L^j!>pKcR<=75f5)26@H_qrh>l2|%^6_NhBHc$-Spiu) zeA}6UYqPA`1kte?>Vq}C$I-PHtxMF2LCv!JD^_2lDO`$ByM&s=WYwoHBW!(&Ixd5!+4w9ZmqWtF`tEm zSPk0^tX_>Hs%xR$sp)I=zpQjUy_ya448$a9XzjVAPd18PmPY>6yfjJfSg~9N2$+!5 zjz{y@S8+HlyNdpCbkRAAA4mwq$N9rl&2?tBvJpO_nea5zVogRWK zw_u^r53!@@0($RV(}dBnH7ue^vyNb`wZ!Jmw(+j#H}st8^oLdvcc-$CUBr$*Hhu{T z%}&fGnrfn|@Ou$eg;SPh};N7@;%ON$_sE-a=2_qHPDXiQ6d6G7a{E+qKhFi^~Cu=;xWxJo~&bv}+ zf9beN86|U?WQcA{DV{_=47vAKuy4%`xp#7I#Jybrr<-8)e}UFsiI@|1n`hahkoec$ zgpWVZXe!hiI96liDIdh}PftJKB=szwAaJs*e;zZs`s(?&N;V z6b0=T+uWj?25&m5T;w23tN|;sRbFu+z%#)KUH7Hqo8dpPy5ov18An=`(4Ld7Svs>( zMqd58_jndP_w<x$D!sUe6*;XRZc*NjEgO8| zS27G0R6G!+_66}(%FE~ldO}0`b>aU3%y0*$yl03cQ>i@L*q9SB>ND2+ zRyXf9`Wke?rC{|Pz)5VVS}Z3aS;tHGjR=g=;Oo%oUcZ#z#@D?@@e_%*0cXHS&&eGs-_Cs;QK85TD3{R=XV^GI%D+idDIxo-B z%mk#4(O9Q$sW2kyy^x&47LlYI)gxDgU(YGA3x9iH{h)siEoGiEUIY`C z(^})}_NwuP-vg`35N`BPFm_`c8=}P6nhhQ7vQr!KUfi6r@2?qoY5bh-c7j_{p|RaN z{V;dgjMEqCT)y|1%%|%Yv|}6jsI~e9Ww^yS33CpZZD)_Y>GZY7?EN~{ZobKo@;6fa zjR(n6Jbf&SN`1%b_hBaspBFH(267&rpMW!#+MQ)Wzp&fT*Q?5i0l^S=BE6_K&*~Dt zY`C)Yfv&-Nee}mZZGv!dlOrTpJIbSN7~A@%Gs0gCY~Wpi#fG+>4Xqw*+jaIH>2Dod zHm8?vj@l{ciIzBgN?tFhaj&{U$P>5E7sttU? zSctdf{d1Lw<;|FRfS3UJ2PXq!0PKyU+VLTA6hUvrC8>U~sL>^ggG2wLFD}cB7X>?o)tcDHRp zj~VEmIzqYk%)K4LF(C^|z4@YmSVcc39VGml+uuhU797ZeADe=7EDAzf#+r_gh_!h{ zl_NEG*Bd4sF3vm;f&rR(the#XY@(;t(E0PbESJv%cN!-(^t+F~M6qeUd6LsTzKu1` zG+zA_mtEPWG0wGRE-CBgyBj-iX{}_B8UP_(Md!v5s zk}zuZd_L%PpImqM(JrVQQ)BqiCPK={uYK~+dIe917m8_24J4r<3K#8< z1TCT{O7HeyaQC7Ak9J~7W%adpHv5E!;LS{bKAN?X=w5*Qx+}R%TLsOFfYmtdc%J!- zVbDO=UX}Y`oIsfpbgvJyu0tR<)DjRsujRL08=0!Sz56G`PE!qilWk16+Zforybt@R ziN$zFo$!Gx#T7LRCn9Mlfb=vu68Ln;X+k^B8CItm^9fPsO+s?dB0PwIJLHAPXyxNL zI8E_U4s_APd3#B<9Y_aKpceaA;*w(C_RhVaKi-d4U!+lxJ1HzbBFWaDzj(Y$-&;Qe zk3L_dU651n`v9pGe#LzqkjT3cX1p_((+uI&`(ZCN%Oqs+iIfx1%+g;YN+rUa^w2#^ zRyBEQ7-sBrjk>ifkNINc5p8d)5^N(XE(+4geX!4cIkDo>fP7^tO&f)jcBjb49Ep}l zu35)-@L^(^z108WUI>-6{lT%qgkFn~9mKl@Bq9sO9)?bE&Oz!6rT%nHgk2*=eOUt% zfSb4m=mq57!R`)HRjyUEr$a7sJWO%REiI5H<3XC~NE;_eh*r2FMq2^=x0#@^DQAWE zMq1*;1+)?B|C`OgLldYvh$x^(i0A@g+9006mnc2G9$HgaIR%n_)V3D2==j~oWXd~e zKx89i*eF%&(^QBZ2NVaRB53qpS@ayEz`?A|EWh>(al+}oNvTom&au*}kYh{?f$(i0 z5>E!QY4;&*m9msOqC^gPUkSy9=nJC~ilVoKTyz)^E)RBGV2F-5O)H$m%q6H5)V4(t zpBJOS@a1(3%)PFF0Pu4BNg;yFWyZFPPGGZ&=TQ7d(94 zq1Y?~bl=|M46i<A@>JnVtpDr0 znD`8ivXXDhh=)zSy0t98002lP79bDgfSEc40~2-FV;FP)-}oMBhPr!1leKG2#Oh2! zvDNwToTSQ=W?RTc~oXO35l7WtJ?rSi~cDc1Rt&s6I&R=UR z{Sm2|94)ZyKr6Tg8=Eka09wVfob(v{gW@A${c?1;SB4~p02%-=72 z0Du5ez!U%g!59kQ1K=ubu`i?@yImLt2xHp-6aeT#o&Z1{0QCR>2Pgm-0swJ%0Du4h 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 z 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