Repository: henon/GitSharp Branch: master Commit: 2c88c957cde0 Files: 1047 Total size: 7.5 MB Directory structure: gitextract_uc_l63ip/ ├── .gitignore ├── ChangeLog ├── Demo.txt ├── Git/ │ ├── CmdParserOptionSet.cs │ ├── Command.cs │ ├── CommandCatalog.cs │ ├── CommandRef.cs │ ├── Commands/ │ │ ├── Add.cs │ │ ├── Checkout.cs │ │ ├── Clone.cs │ │ ├── Commit.cs │ │ ├── Config.cs │ │ ├── Fetch.cs │ │ ├── Help.cs │ │ ├── Init.cs │ │ ├── Log.cs │ │ ├── Merge.cs │ │ ├── Pull.cs │ │ ├── Push.cs │ │ ├── Rm.cs │ │ ├── Status.cs │ │ └── Version.cs │ ├── Die.cs │ ├── Git.csproj │ ├── Options.cs │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── README.txt │ ├── Resources/ │ │ └── Commands.xml │ ├── Stubs/ │ │ ├── Am.cs │ │ ├── Annotate.cs │ │ ├── Apply.cs │ │ ├── Archive.cs │ │ ├── Blame.cs │ │ ├── Branch.cs │ │ ├── CatFile.cs │ │ ├── CheckoutIndex.cs │ │ ├── Cherry.cs │ │ ├── CherryPick.cs │ │ ├── Clean.cs │ │ ├── CommitTree.cs │ │ ├── CountObjects.cs │ │ ├── Describe.cs │ │ ├── Diff.cs │ │ ├── DiffFiles.cs │ │ ├── DiffIndex.cs │ │ ├── DiffTree.cs │ │ ├── Difftool.cs │ │ ├── FastExport.cs │ │ ├── FastImport.cs │ │ ├── FetchPack.cs │ │ ├── FilterBranch.cs │ │ ├── FmtMergeMsg.cs │ │ ├── ForEachRef.cs │ │ ├── FormatPatch.cs │ │ ├── Fsck.cs │ │ ├── Gc.cs │ │ ├── Grep.cs │ │ ├── HashObject.cs │ │ ├── IndexPack.cs │ │ ├── LsFiles.cs │ │ ├── LsRemote.cs │ │ ├── LsTree.cs │ │ ├── Mailinfo.cs │ │ ├── Mailsplit.cs │ │ ├── MergeBase.cs │ │ ├── MergeFile.cs │ │ ├── MergeIndex.cs │ │ ├── Mergetool.cs │ │ ├── Mktree.cs │ │ ├── Mv.cs │ │ ├── NameRev.cs │ │ ├── Notes.cs │ │ ├── PackObjects.cs │ │ ├── PackRedundant.cs │ │ ├── PackRefs.cs │ │ ├── PatchId.cs │ │ ├── PeekRemote.cs │ │ ├── Prune.cs │ │ ├── PrunePacked.cs │ │ ├── Quiltimport.cs │ │ ├── ReadTree.cs │ │ ├── Rebase.cs │ │ ├── ReceivePack.cs │ │ ├── Reflog.cs │ │ ├── Relink.cs │ │ ├── Remote.cs │ │ ├── Repack.cs │ │ ├── Replace.cs │ │ ├── RequestPull.cs │ │ ├── Reset.cs │ │ ├── RevParse.cs │ │ ├── Revert.cs │ │ ├── SendPack.cs │ │ ├── Shortlog.cs │ │ ├── Show.cs │ │ ├── ShowBranch.cs │ │ ├── ShowRef.cs │ │ ├── Stripspace.cs │ │ ├── Submodule.cs │ │ ├── Svn.cs │ │ ├── SymbolicRef.cs │ │ ├── Tag.cs │ │ ├── TarTree.cs │ │ ├── UnpackFile.cs │ │ ├── UnpackObjects.cs │ │ ├── UpdateIndex.cs │ │ ├── UpdateServerInfo.cs │ │ ├── UploadArchive.cs │ │ ├── UploadPack.cs │ │ ├── Var.cs │ │ ├── VerifyPack.cs │ │ ├── VerifyTag.cs │ │ └── Whatchanged.cs │ └── TextBuiltin.cs ├── GitSharp/ │ ├── AbstractObject.cs │ ├── AbstractTreeNode.cs │ ├── Author.cs │ ├── Blob.cs │ ├── Branch.cs │ ├── Change.cs │ ├── Commands/ │ │ ├── AbstractCommand.cs │ │ ├── AbstractFetchCommand.cs │ │ ├── CloneCommand.cs │ │ ├── FetchCommand.cs │ │ ├── IGitCommand.cs │ │ ├── InitCommand.cs │ │ ├── LogCommand.cs │ │ ├── MergeCommand.cs │ │ ├── PushCommand.cs │ │ ├── StatusCommand.cs │ │ └── _NotSupportedCommands.txt │ ├── Commit.cs │ ├── Config.cs │ ├── Diff.cs │ ├── Examples.cs │ ├── Git.cs │ ├── GitSharp.csproj │ ├── IReferenceObject.cs │ ├── IgnoreRules.cs │ ├── Index.cs │ ├── Leaf.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── README.txt │ ├── Ref.cs │ ├── Remote.cs │ ├── Repository.cs │ ├── RepositoryStatus.cs │ ├── ResetBehavior.cs │ ├── Stash.cs │ ├── Stubs/ │ │ ├── AddCommand.cs │ │ ├── AmCommand.cs │ │ ├── AnnotateCommand.cs │ │ ├── ApplyCommand.cs │ │ ├── ArchiveCommand.cs │ │ ├── BlameCommand.cs │ │ ├── BranchCommand.cs │ │ ├── CatFileCommand.cs │ │ ├── CheckoutCommand.cs │ │ ├── CheckoutIndexCommand.cs │ │ ├── CherryCommand.cs │ │ ├── CherryPickCommand.cs │ │ ├── CleanCommand.cs │ │ ├── CommitCommand.cs │ │ ├── CommitTreeCommand.cs │ │ ├── ConfigCommand.cs │ │ ├── CountObjectsCommand.cs │ │ ├── DescribeCommand.cs │ │ ├── DiffCommand.cs │ │ ├── DiffFilesCommand.cs │ │ ├── DiffIndexCommand.cs │ │ ├── DiffTreeCommand.cs │ │ ├── DifftoolCommand.cs │ │ ├── FastExportCommand.cs │ │ ├── FastImportCommand.cs │ │ ├── FetchPackCommand.cs │ │ ├── FilterBranchCommand.cs │ │ ├── ForEachRefCommand.cs │ │ ├── FormatPatchCommand.cs │ │ ├── FsckCommand.cs │ │ ├── GcCommand.cs │ │ ├── GrepCommand.cs │ │ ├── HashObjectCommand.cs │ │ ├── IndexPackCommand.cs │ │ ├── LsFilesCommand.cs │ │ ├── LsRemoteCommand.cs │ │ ├── LsTreeCommand.cs │ │ ├── MailinfoCommand.cs │ │ ├── MailsplitCommand.cs │ │ ├── MergeBaseCommand.cs │ │ ├── MergeFileCommand.cs │ │ ├── MergeIndexCommand.cs │ │ ├── MergetoolCommand.cs │ │ ├── MktreeCommand.cs │ │ ├── MvCommand.cs │ │ ├── NameRevCommand.cs │ │ ├── NotesCommand.cs │ │ ├── PackObjectsCommand.cs │ │ ├── PackRedundantCommand.cs │ │ ├── PackRefsCommand.cs │ │ ├── PatchIdCommand.cs │ │ ├── PeekRemoteCommand.cs │ │ ├── PruneCommand.cs │ │ ├── PrunePackedCommand.cs │ │ ├── QuiltimportCommand.cs │ │ ├── ReadTreeCommand.cs │ │ ├── RebaseCommand.cs │ │ ├── ReceivePackCommand.cs │ │ ├── ReflogCommand.cs │ │ ├── RelinkCommand.cs │ │ ├── RemoteCommand.cs │ │ ├── RepackCommand.cs │ │ ├── ReplaceCommand.cs │ │ ├── RequestPullCommand.cs │ │ ├── ResetCommand.cs │ │ ├── RevParseCommand.cs │ │ ├── RevertCommand.cs │ │ ├── RmCommand.cs │ │ ├── SendPackCommand.cs │ │ ├── ShortlogCommand.cs │ │ ├── ShowBranchCommand.cs │ │ ├── ShowCommand.cs │ │ ├── ShowRefCommand.cs │ │ ├── StripspaceCommand.cs │ │ ├── SubmoduleCommand.cs │ │ ├── SvnCommand.cs │ │ ├── SymbolicRefCommand.cs │ │ ├── TagCommand.cs │ │ ├── TarTreeCommand.cs │ │ ├── UnpackFileCommand.cs │ │ ├── UnpackObjectsCommand.cs │ │ ├── UpdateIndexCommand.cs │ │ ├── UpdateServerInfoCommand.cs │ │ ├── UploadArchiveCommand.cs │ │ ├── UploadPackCommand.cs │ │ ├── VarCommand.cs │ │ ├── VerifyPackCommand.cs │ │ ├── VerifyTagCommand.cs │ │ └── WhatchangedCommand.cs │ ├── Tag.cs │ ├── Text.cs │ ├── Tree.cs │ └── UserInfoProvider.cs ├── GitSharp licence.txt ├── GitSharp.Core/ │ ├── AbbreviatedObjectId.cs │ ├── AbstractIndexTreeVisitor.cs │ ├── AlternateRepositoryDatabase.cs │ ├── AnyObjectId.cs │ ├── BinaryDelta.cs │ ├── BlobBasedConfig.cs │ ├── ByteArrayExtensions.cs │ ├── ByteArrayWindow.cs │ ├── ByteBufferWindow.cs │ ├── ByteWindow.cs │ ├── CachedObjectDatabase.cs │ ├── CachedObjectDirectory.cs │ ├── Codec.cs │ ├── Commit.cs │ ├── CompleteAttribute.cs │ ├── Config.cs │ ├── ConsoleUserInfoProvider.cs │ ├── Constants.cs │ ├── CoreConfig.cs │ ├── DeltaOfsPackedObjectLoader.cs │ ├── DeltaPackedObjectLoader.cs │ ├── DeltaRefPackedObjectLoader.cs │ ├── Diff/ │ │ ├── DiffFormatter.cs │ │ ├── Edit.cs │ │ ├── EditList.cs │ │ ├── MyersDiff.cs │ │ ├── RawText.cs │ │ └── Sequence.cs │ ├── DirectoryCache/ │ │ ├── BaseDirCacheEditor.cs │ │ ├── DirCache.cs │ │ ├── DirCacheBuildIterator.cs │ │ ├── DirCacheBuilder.cs │ │ ├── DirCacheEditor.cs │ │ ├── DirCacheEntry.cs │ │ ├── DirCacheIterator.cs │ │ └── DirCacheTree.cs │ ├── Ensure.cs │ ├── Exceptions/ │ │ ├── CancelledException.cs │ │ ├── CheckoutConflictException.cs │ │ ├── CompoundException.cs │ │ ├── ConfigInvalidException.cs │ │ ├── CorruptObjectException.cs │ │ ├── EntryExistsException.cs │ │ ├── ExceptionExtensions.cs │ │ ├── FileLockedException.cs │ │ ├── GitlinksNotSupportedException.cs │ │ ├── IncorrectObjectTypeException.cs │ │ ├── InvalidObjectIdException.cs │ │ ├── InvalidPackException.cs │ │ ├── InvalidPatternException.cs │ │ ├── MissingBundlePrerequisiteException.cs │ │ ├── MissingObjectException.cs │ │ ├── NoClosingBracketException.cs │ │ ├── NoRemoteRepositoryException.cs │ │ ├── ObjectWritingException.cs │ │ ├── PackMismatchException.cs │ │ ├── PackProtocolException.cs │ │ ├── RepositoryNotFoundException.cs │ │ ├── RevWalkException.cs │ │ ├── RevisionSyntaxException.cs │ │ ├── StopWalkException.cs │ │ ├── SymlinksNotSupportedException.cs │ │ ├── TransportException.cs │ │ └── UnmergedPathException.cs │ ├── FileBasedConfig.cs │ ├── FileMode.cs │ ├── FileTreeEntry.cs │ ├── FnMatch/ │ │ ├── AbstractHead.cs │ │ ├── CharacterHead.cs │ │ ├── FileNameMatcher.cs │ │ ├── GroupHead.cs │ │ ├── IHead.cs │ │ ├── LastHead.cs │ │ ├── RestrictedWildCardHead.cs │ │ └── WildCardHead.cs │ ├── ForceModified.cs │ ├── GitException.cs │ ├── GitIndex.cs │ ├── GitSharp.Core.csproj │ ├── GitlinkTreeEntry.cs │ ├── IgnoreHandler.cs │ ├── IndexChangedEventArgs.cs │ ├── IndexDiff.cs │ ├── IndexTreeVisitor.cs │ ├── IndexTreeWalker.cs │ ├── InflaterCache.cs │ ├── LockFile.cs │ ├── Merge/ │ │ ├── MergeAlgorithm.cs │ │ ├── MergeChunk.cs │ │ ├── MergeFormatter.cs │ │ ├── MergeResult.cs │ │ ├── MergeStrategy.cs │ │ ├── Merger.cs │ │ ├── StrategyOneSided.cs │ │ ├── StrategySimpleTwoWayInCore.cs │ │ ├── ThreeWayMergeStrategy.cs │ │ └── ThreeWayMerger.cs │ ├── MutableObjectId.cs │ ├── NullProgressMonitor.cs │ ├── ObjectChecker.cs │ ├── ObjectDatabase.cs │ ├── ObjectDirectory.cs │ ├── ObjectId.cs │ ├── ObjectIdRef.cs │ ├── ObjectIdSubclassMap.cs │ ├── ObjectLoader.cs │ ├── ObjectType.cs │ ├── ObjectWriter.cs │ ├── OffsetCache.cs │ ├── PackFile.cs │ ├── PackIndex.cs │ ├── PackIndexV1.cs │ ├── PackIndexV2.cs │ ├── PackIndexWriter.cs │ ├── PackIndexWriterV1.cs │ ├── PackIndexWriterV2.cs │ ├── PackLock.cs │ ├── PackOutputStream.cs │ ├── PackReverseIndex.cs │ ├── PackWriter.cs │ ├── PackedObjectLoader.cs │ ├── Patch/ │ │ ├── BinaryHunk.cs │ │ ├── CombinedFileHeader.cs │ │ ├── CombinedHunkHeader.cs │ │ ├── FileHeader.cs │ │ ├── FormatError.cs │ │ ├── HunkHeader.cs │ │ └── Patch.cs │ ├── PersonIdent.cs │ ├── Platform/ │ │ ├── Linux.cs │ │ ├── Mac.cs │ │ ├── Platform.cs │ │ └── Windows.cs │ ├── ProgressMonitor.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Ref.cs │ ├── RefComparator.cs │ ├── RefDatabase.cs │ ├── RefDirectory.cs │ ├── RefDirectoryRename.cs │ ├── RefDirectoryUpdate.cs │ ├── RefRename.cs │ ├── RefUpdate.cs │ ├── RefWriter.cs │ ├── ReflogReader.cs │ ├── RefsChangedEventArgs.cs │ ├── Repository.cs │ ├── RepositoryCache.cs │ ├── RepositoryChangedEventArgs.cs │ ├── RepositoryConfig.cs │ ├── RepositoryListener.cs │ ├── RepositoryState.cs │ ├── RevPlot/ │ │ ├── AbstractPlotRenderer.cs │ │ ├── PlotCommit.cs │ │ ├── PlotCommitList.cs │ │ ├── PlotLane.cs │ │ └── PlotWalk.cs │ ├── RevWalk/ │ │ ├── AbstractRevQueue.cs │ │ ├── BlockObjQueue.cs │ │ ├── BlockRevQueue.cs │ │ ├── BoundaryGenerator.cs │ │ ├── DateRevQueue.cs │ │ ├── DelayRevQueue.cs │ │ ├── EndGenerator.cs │ │ ├── FIFORevQueue.cs │ │ ├── Filter/ │ │ │ ├── AndRevFilter.cs │ │ │ ├── AuthorRevFilter.cs │ │ │ ├── CommitTimeRevFilter.cs │ │ │ ├── CommitterRevFilter.cs │ │ │ ├── MessageRevFilter.cs │ │ │ ├── NotRevFilter.cs │ │ │ ├── OrRevFilter.cs │ │ │ ├── PatternMatchRevFilter.cs │ │ │ ├── RevFilter.cs │ │ │ ├── RevFlagFilter.cs │ │ │ └── SubStringRevFilter.cs │ │ ├── FixUninterestingGenerator.cs │ │ ├── FooterKey.cs │ │ ├── FooterLine.cs │ │ ├── Generator.cs │ │ ├── LIFORevQueue.cs │ │ ├── MergeBaseGenerator.cs │ │ ├── ObjectWalk.cs │ │ ├── PendingGenerator.cs │ │ ├── RevBlob.cs │ │ ├── RevCommit.cs │ │ ├── RevCommitList.cs │ │ ├── RevFlag.cs │ │ ├── RevFlagSet.cs │ │ ├── RevObject.cs │ │ ├── RevObjectList.cs │ │ ├── RevSort.cs │ │ ├── RevTag.cs │ │ ├── RevTree.cs │ │ ├── RevWalk.cs │ │ ├── RewriteGenerator.cs │ │ ├── RewriteTreeFilter.cs │ │ ├── StartGenerator.cs │ │ └── TopoSortGenerator.cs │ ├── SubmoduleConfig.cs │ ├── SymbolicRef.cs │ ├── SymlinkTreeEntry.cs │ ├── SystemReader.cs │ ├── Tag.cs │ ├── TextProgressMonitor.cs │ ├── TransferConfig.cs │ ├── Transport/ │ │ ├── BaseConnection.cs │ │ ├── BaseFetchConnection.cs │ │ ├── BasePackConnection.cs │ │ ├── BasePackFetchConnection.cs │ │ ├── BasePackPushConnection.cs │ │ ├── BundleFetchConnection.cs │ │ ├── BundleWriter.cs │ │ ├── Daemon.cs │ │ ├── DaemonClient.cs │ │ ├── DaemonService.cs │ │ ├── DefaultSshSessionFactory.cs │ │ ├── FetchHeadRecord.cs │ │ ├── FetchProcess.cs │ │ ├── FetchResult.cs │ │ ├── HttpTransport.cs │ │ ├── IConnection.cs │ │ ├── IFetchConnection.cs │ │ ├── IPackTransport.cs │ │ ├── IPostReceiveHook.cs │ │ ├── IPreReceiveHook.cs │ │ ├── IPushConnection.cs │ │ ├── ITransportBundle.cs │ │ ├── IWalkTransport.cs │ │ ├── IndexPack.cs │ │ ├── LongMap.cs │ │ ├── OpenSshConfig.cs │ │ ├── OperationResult.cs │ │ ├── PackedObjectInfo.cs │ │ ├── PacketLineIn.cs │ │ ├── PacketLineOut.cs │ │ ├── PushProcess.cs │ │ ├── PushResult.cs │ │ ├── ReceiveCommand.cs │ │ ├── ReceivePack.cs │ │ ├── RefAdvertiser.cs │ │ ├── RefFilter.cs │ │ ├── RefSpec.cs │ │ ├── RemoteConfig.cs │ │ ├── RemoteRefUpdate.cs │ │ ├── SideBandInputStream.cs │ │ ├── SideBandOutputStream.cs │ │ ├── SideBandProgressMonitor.cs │ │ ├── SshConfigSessionFactory.cs │ │ ├── SshSessionFactory.cs │ │ ├── SshTransport.cs │ │ ├── TagOpt.cs │ │ ├── TcpTransport.cs │ │ ├── TrackingRefUpdate.cs │ │ ├── Transport.cs │ │ ├── TransportAmazonS3.cs │ │ ├── TransportBundleFile.cs │ │ ├── TransportBundleStream.cs │ │ ├── TransportGitAnon.cs │ │ ├── TransportGitSsh.cs │ │ ├── TransportHttp.cs │ │ ├── TransportLocal.cs │ │ ├── TransportSftp.cs │ │ ├── URIish.cs │ │ ├── UploadPack.cs │ │ ├── WalkEncryption.cs │ │ ├── WalkFetchConnection.cs │ │ ├── WalkPushConnection.cs │ │ └── WalkRemoteObjectDatabase.cs │ ├── Tree.cs │ ├── TreeEntry.cs │ ├── TreeIterator.cs │ ├── TreeVisitor.cs │ ├── TreeVisitorWithCurrentDirectory.cs │ ├── TreeWalk/ │ │ ├── AbstractTreeIterator.cs │ │ ├── CanonicalTreeParser.cs │ │ ├── EmptyTreeIterator.cs │ │ ├── FileTreeIterator.cs │ │ ├── Filter/ │ │ │ ├── AndTreeFilter.cs │ │ │ ├── NotTreeFilter.cs │ │ │ ├── OrTreeFilter.cs │ │ │ ├── PathFilter.cs │ │ │ ├── PathFilterGroup.cs │ │ │ ├── PathSuffixFilter.cs │ │ │ └── TreeFilter.cs │ │ ├── NameConflictTreeWalk.cs │ │ ├── TreeWalk.cs │ │ └── WorkingTreeIterator.cs │ ├── Treeish.cs │ ├── UnpackedObjectCache.cs │ ├── UnpackedObjectLoader.cs │ ├── UserConfig.cs │ ├── UserInfoProvider.cs │ ├── Util/ │ │ ├── ArrayExtensions.cs │ │ ├── AtomicReferenceArray.cs │ │ ├── BigEndianBitConverter.cs │ │ ├── CRC32.cs │ │ ├── CheckedOutputStream.cs │ │ ├── DateTimeExtensions.cs │ │ ├── DigestOutputStream.cs │ │ ├── EndianBinaryReader.cs │ │ ├── EndianBinaryWriter.cs │ │ ├── EndianBitConverter.cs │ │ ├── Endianness.cs │ │ ├── Extensions.cs │ │ ├── FS.cs │ │ ├── GenericComparer.cs │ │ ├── Hex.cs │ │ ├── ICharSequence.cs │ │ ├── IListUtil.cs │ │ ├── IO/ │ │ │ ├── InterruptTimer.cs │ │ │ ├── TimeoutStream.cs │ │ │ └── UnionInputStream.cs │ │ ├── IO.cs │ │ ├── Inspect.cs │ │ ├── Int32.cs │ │ ├── IntList.cs │ │ ├── JavaHelper/ │ │ │ ├── AtomicInteger.cs │ │ │ ├── AtomicReference.cs │ │ │ ├── AtomicValue.cs │ │ │ ├── Charset.cs │ │ │ └── Properties.cs │ │ ├── ListIterator.cs │ │ ├── LittleEndianBitConverter.cs │ │ ├── LongList.cs │ │ ├── MessageDigest.cs │ │ ├── MutableInteger.cs │ │ ├── NB.cs │ │ ├── NestedDictionary.cs │ │ ├── PathUtil.cs │ │ ├── PipeStream.cs │ │ ├── QuotedString.cs │ │ ├── RawCharSequence.cs │ │ ├── RawParseUtils.cs │ │ ├── RawSubstringPattern.cs │ │ ├── RefList.cs │ │ ├── RefMap.cs │ │ ├── Stream.cs │ │ ├── StringExtension.cs │ │ ├── StringUtils.cs │ │ ├── TemporaryBuffer.cs │ │ └── WeakReference.cs │ ├── WholePackedObjectLoader.cs │ ├── WindowCache.cs │ ├── WindowCacheConfig.cs │ ├── WindowCursor.cs │ ├── WorkDirCheckout.cs │ └── WriteTree.cs ├── GitSharp.Tests/ │ ├── Git/ │ │ └── CLI/ │ │ ├── CustomOptionTests.cs │ │ ├── OptionContextTest.cs │ │ ├── OptionSetTest.cs │ │ ├── OptionTest.cs │ │ └── Utils.cs │ ├── GitSharp/ │ │ ├── AbstractTreeNodeTests.cs │ │ ├── ApiTestCase.cs │ │ ├── BlobTests.cs │ │ ├── BranchTest.cs │ │ ├── CloneTests.cs │ │ ├── CommitDateTests.cs │ │ ├── CommitTests.cs │ │ ├── DiffTests.cs │ │ ├── EncodingTests.cs │ │ ├── FindGitDirectoryTests.cs │ │ ├── IgnoreTests.cs │ │ ├── IndexTest.cs │ │ ├── InitTests.cs │ │ ├── MergeTests.cs │ │ ├── ObjectEqualityTests.cs │ │ ├── RefModelTests.cs │ │ ├── RepositoryConfigTest.cs │ │ ├── RepositoryStatusTests.cs │ │ ├── RepositoryTests.cs │ │ ├── StatusTests.cs │ │ └── TextTests.cs │ ├── GitSharp.Core/ │ │ ├── AbbreviatedObjectIdTest.cs │ │ ├── CanReadMsysgitIndexFixture.cs │ │ ├── ConcurrentRepackTest.cs │ │ ├── ConstantsEncodingTest.cs │ │ ├── Crc32Tests.cs │ │ ├── Diff/ │ │ │ ├── DiffFormatterReflowTest.cs │ │ │ ├── DiffTestDataGenerator.cs │ │ │ ├── EditListTest.cs │ │ │ ├── EditTest.cs │ │ │ ├── MyersDiffPerformanceTest.cs │ │ │ ├── MyersDiffTest.cs │ │ │ └── RawTextTest.cs │ │ ├── DirectoryCache/ │ │ │ ├── DirCacheBasicTest.cs │ │ │ ├── DirCacheBuilderIteratorTest.cs │ │ │ ├── DirCacheBuilderTest.cs │ │ │ ├── DirCacheCGitCompatabilityTest.cs │ │ │ ├── DirCacheEntryTest.cs │ │ │ ├── DirCacheFindTest.cs │ │ │ ├── DirCacheIteratorTest.cs │ │ │ ├── DirCacheLargePathTest.cs │ │ │ └── DirCacheTreeTest.cs │ │ ├── FnMatch/ │ │ │ └── FileNameMatcherTest.cs │ │ ├── IgnoreHandlerTest.cs │ │ ├── IndexDiffTest.cs │ │ ├── IndexModifiedTests.cs │ │ ├── IndexTreeWalkerTest.cs │ │ ├── Merge/ │ │ │ ├── CherryPickTest.cs │ │ │ ├── MergeAlgorithmTest.cs │ │ │ └── SimpleMergeTest.cs │ │ ├── ObjectCheckerTests.cs │ │ ├── ObjectIdRefTest.cs │ │ ├── PackIndexTestCase.cs │ │ ├── PackIndexTests.cs │ │ ├── PackIndexV1Tests.cs │ │ ├── PackIndexV2Tests.cs │ │ ├── PackReverseIndexTest.cs │ │ ├── PackWriterTest.cs │ │ ├── Patch/ │ │ │ ├── BasePatchTest.cs │ │ │ ├── EditListTest.cs │ │ │ ├── FileHeaderTest.cs │ │ │ ├── GetTextTest.cs │ │ │ ├── PatchCcErrorTest.cs │ │ │ ├── PatchCcTest.cs │ │ │ ├── PatchErrorTest.cs │ │ │ └── PatchTest.cs │ │ ├── ReadTreeTest.cs │ │ ├── RefDirectoryTest.cs │ │ ├── RefTest.cs │ │ ├── RefUpdateTest.cs │ │ ├── ReflogConfigTest.cs │ │ ├── ReflogReaderTest.cs │ │ ├── RepositoryCacheTest.cs │ │ ├── RepositoryConfigTest.cs │ │ ├── RepositoryTestCase.cs │ │ ├── RevWalk/ │ │ │ ├── AlwaysEmptyRevQueueTest.cs │ │ │ ├── DateRevQueueTest.cs │ │ │ ├── FIFORevQueueTest.cs │ │ │ ├── FooterLineTest.cs │ │ │ ├── LIFORevQueueTest.cs │ │ │ ├── ObjectWalkTest.cs │ │ │ ├── RevCommitParseTest.cs │ │ │ ├── RevFlagSetTest.cs │ │ │ ├── RevObjectTest.cs │ │ │ ├── RevQueueTestCase.cs │ │ │ ├── RevTagParseTest.cs │ │ │ ├── RevWalkCullTest.cs │ │ │ ├── RevWalkFilterTest.cs │ │ │ ├── RevWalkMergeBaseTest.cs │ │ │ ├── RevWalkPathFilter1Test.cs │ │ │ ├── RevWalkPathFilter6012Test.cs │ │ │ ├── RevWalkSortTest.cs │ │ │ └── RevWalkTestCase.cs │ │ ├── SampleDataRepositoryTestCase.cs │ │ ├── SubmoduleTest.cs │ │ ├── SymbolicRefTest.cs │ │ ├── T0001_ObjectId.cs │ │ ├── T0001_PersonIdent.cs │ │ ├── T0002_Tree.cs │ │ ├── T0003_Basic_Config.cs │ │ ├── T0003_Basic_Write.cs │ │ ├── T0004_PackReader.cs │ │ ├── T0007_Index.cs │ │ ├── T0008_testparserev.cs │ │ ├── Transport/ │ │ │ ├── BaseConnectionTests.cs │ │ │ ├── BundleWriterTest.cs │ │ │ ├── IndexPackTests.cs │ │ │ ├── LongMapTest.cs │ │ │ ├── OpenSshConfigTest.cs │ │ │ ├── OperationResultTests.cs │ │ │ ├── PacketLineInTest.cs │ │ │ ├── PacketLineOutTest.cs │ │ │ ├── PushProcessTest.cs │ │ │ ├── RefSpecTests.cs │ │ │ ├── RemoteConfigTests.cs │ │ │ ├── SideBandOutputStreamTest.cs │ │ │ ├── TransportTest.cs │ │ │ └── URIishTests.cs │ │ ├── TreeIteratorLeafOnlyTest.cs │ │ ├── TreeIteratorPostOrderTest.cs │ │ ├── TreeIteratorPreOrderTest.cs │ │ ├── TreeWalk/ │ │ │ ├── AbstractTreeIteratorTest.cs │ │ │ ├── CanonicalTreeParserTest.cs │ │ │ ├── EmptyTreeIteratorTest.cs │ │ │ ├── FileTreeIteratorTest.cs │ │ │ ├── Filter/ │ │ │ │ ├── AlwaysCloneTreeFilter.cs │ │ │ │ ├── NotTreeFilterTest.cs │ │ │ │ ├── PathSuffixFilterTestCase.cs │ │ │ │ └── TreeFilterTest.cs │ │ │ ├── NameConflictTreeWalkTest.cs │ │ │ ├── PostOrderTreeWalkTest.cs │ │ │ └── TreeWalkBasicDiffTest.cs │ │ ├── Util/ │ │ │ ├── AssertHelper.cs │ │ │ ├── AssertHelperFixture.cs │ │ │ ├── ByteArrayExtensionsFixture.cs │ │ │ ├── CPUTimeStopWatch.cs │ │ │ ├── ExtensionsFixture.cs │ │ │ ├── IO/ │ │ │ │ └── TimeoutStreamTest.cs │ │ │ ├── IntListTest.cs │ │ │ ├── LinkedListFixture.cs │ │ │ ├── LocalDiskRepositoryTestCase.cs │ │ │ ├── Md5MessageDigestTest.cs │ │ │ ├── MockFileBasedConfig.cs │ │ │ ├── MockSystemReader.cs │ │ │ ├── NBTests.cs │ │ │ ├── PathUtils.cs │ │ │ ├── QuotedStringBourneStyleTest.cs │ │ │ ├── QuotedStringBourneUserPathStyleTest.cs │ │ │ ├── QuotedStringGitPathStyleTest.cs │ │ │ ├── RawParseUtils_HexParseTest.cs │ │ │ ├── RawParseUtils_LineMapTest.cs │ │ │ ├── RawParseUtils_MatchTest.cs │ │ │ ├── RefListTest.cs │ │ │ ├── RefMapTest.cs │ │ │ ├── Sha1MessageDigestTest.cs │ │ │ ├── StringExtensionsFixture.cs │ │ │ ├── StringUtilsTest.cs │ │ │ ├── TemporaryBufferTest.cs │ │ │ ├── TestRepository.cs │ │ │ ├── TestRng.cs │ │ │ ├── UnionInputStreamTest.cs │ │ │ └── VariousUtilityTests.cs │ │ ├── ValidRefNameTest.cs │ │ ├── WindowCacheGetTest.cs │ │ ├── WindowCacheReconfigureTest.cs │ │ ├── WorkDirCheckoutTest.cs │ │ ├── XInputStream.cs │ │ └── sample/ │ │ ├── README │ │ └── unpacked │ ├── GitSharp.Tests.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── README.txt │ └── Resources/ │ ├── CorruptIndex/ │ │ ├── .gitted/ │ │ │ ├── COMMIT_EDITMSG │ │ │ ├── HEAD │ │ │ ├── config │ │ │ ├── description │ │ │ ├── hooks/ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ ├── commit-msg.sample │ │ │ │ ├── post-commit.sample │ │ │ │ ├── post-receive.sample │ │ │ │ ├── post-update.sample │ │ │ │ ├── pre-applypatch.sample │ │ │ │ ├── pre-commit.sample │ │ │ │ ├── pre-rebase.sample │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ └── update.sample │ │ │ ├── index │ │ │ ├── info/ │ │ │ │ └── exclude │ │ │ ├── logs/ │ │ │ │ ├── HEAD │ │ │ │ └── refs/ │ │ │ │ └── heads/ │ │ │ │ └── master │ │ │ ├── objects/ │ │ │ │ ├── 1a/ │ │ │ │ │ └── 602d9bd07ce5272ddaa64e21da12dbca2b8c9f │ │ │ │ ├── 2e/ │ │ │ │ │ └── 65efe2a145dda7ee51d1741299f848e5bf752e │ │ │ │ ├── 63/ │ │ │ │ │ └── d8dbd40c23542e740659a7168a0ce3138ea748 │ │ │ │ ├── dc/ │ │ │ │ │ └── 8d7f3d2d19bdf3a6daa007102bc7bef76aa8ac │ │ │ │ ├── info/ │ │ │ │ │ └── marker.txt │ │ │ │ └── pack/ │ │ │ │ └── marker.txt │ │ │ └── refs/ │ │ │ └── heads/ │ │ │ └── master │ │ ├── a.txt │ │ └── b.txt │ ├── Diff/ │ │ ├── .gitattributes │ │ ├── E.patch │ │ ├── E_PostImage │ │ ├── E_PreImage │ │ ├── X.patch │ │ ├── X_PostImage │ │ ├── X_PreImage │ │ ├── Y.patch │ │ ├── Y_PostImage │ │ ├── Y_PreImage │ │ ├── Z.patch │ │ ├── Z_PostImage │ │ ├── Z_PreImage │ │ ├── testContext0.out │ │ ├── testContext1.out │ │ ├── testContext10.out │ │ ├── testContext100.out │ │ ├── testContext3.out │ │ └── testContext5.out │ ├── JapaneseRepo/ │ │ └── .gitted/ │ │ ├── HEAD │ │ ├── config │ │ ├── description │ │ ├── hooks/ │ │ │ ├── applypatch-msg.sample │ │ │ ├── commit-msg.sample │ │ │ ├── post-commit.sample │ │ │ ├── post-receive.sample │ │ │ ├── post-update.sample │ │ │ ├── pre-applypatch.sample │ │ │ ├── pre-commit.sample │ │ │ ├── pre-rebase.sample │ │ │ ├── prepare-commit-msg.sample │ │ │ └── update.sample │ │ ├── index │ │ ├── info/ │ │ │ └── exclude │ │ ├── logs/ │ │ │ ├── HEAD │ │ │ └── refs/ │ │ │ └── heads/ │ │ │ └── master │ │ ├── objects/ │ │ │ ├── 24/ │ │ │ │ └── ed0e20ceff5e2cdf768345b6853213f840ff8f │ │ │ ├── 2f/ │ │ │ │ └── 3c75408acf76bb7122b91c418d015252708552 │ │ │ ├── 4b/ │ │ │ │ └── 825dc642cb6eb9a060e54bf8d69288fbee4904 │ │ │ ├── 54/ │ │ │ │ └── 75030f2b57d9956d23ef4ead6f9a4983c234b5 │ │ │ ├── 6d/ │ │ │ │ └── c9b6c490154e9627a8aed8ca74039a34084677 │ │ │ ├── 9b/ │ │ │ │ └── c63090dd221bace8b2e5f278580946be26efdd │ │ │ ├── a8/ │ │ │ │ └── a51035f70bec2d3e00c0a11a33ff709a6ab40e │ │ │ ├── fe/ │ │ │ │ └── 0856a5873decc1a8e47f63c5707520121b2e9e │ │ │ ├── info/ │ │ │ │ └── marker.txt │ │ │ └── pack/ │ │ │ └── marker.txt │ │ └── refs/ │ │ └── heads/ │ │ └── master │ ├── OneFileRepository/ │ │ ├── .gitted/ │ │ │ ├── COMMIT_EDITMSG │ │ │ ├── HEAD │ │ │ ├── config │ │ │ ├── description │ │ │ ├── hooks/ │ │ │ │ ├── applypatch-msg.sample │ │ │ │ ├── commit-msg.sample │ │ │ │ ├── post-commit.sample │ │ │ │ ├── post-receive.sample │ │ │ │ ├── post-update.sample │ │ │ │ ├── pre-applypatch.sample │ │ │ │ ├── pre-commit.sample │ │ │ │ ├── pre-rebase.sample │ │ │ │ ├── prepare-commit-msg.sample │ │ │ │ └── update.sample │ │ │ ├── index │ │ │ ├── info/ │ │ │ │ └── exclude │ │ │ ├── logs/ │ │ │ │ ├── HEAD │ │ │ │ └── refs/ │ │ │ │ └── heads/ │ │ │ │ └── master │ │ │ ├── objects/ │ │ │ │ ├── 5a/ │ │ │ │ │ └── 44c05f31a48e1492e7b375e502d97c3e72a1bc │ │ │ │ ├── be/ │ │ │ │ │ └── cce7158b7ef8a86c4ddf2fe235df6923f94ec8 │ │ │ │ ├── f3/ │ │ │ │ │ └── ca78a01f1baa4eaddcc349c97dcab95a379981 │ │ │ │ ├── info/ │ │ │ │ │ └── marker.txt │ │ │ │ └── pack/ │ │ │ │ └── marker.txt │ │ │ └── refs/ │ │ │ └── heads/ │ │ │ └── master │ │ └── dummy.txt │ ├── Patch/ │ │ ├── .gitattributes │ │ ├── testEditList_Types.patch │ │ ├── testError_BodyTooLong.patch │ │ ├── testError_CcTruncatedOld.patch │ │ ├── testError_DisconnectedHunk.patch │ │ ├── testError_GarbageBetweenFiles.patch │ │ ├── testError_GitBinaryNoForwardHunk.patch │ │ ├── testError_TruncatedNew.patch │ │ ├── testError_TruncatedOld.patch │ │ ├── testGetText_BothISO88591.patch │ │ ├── testGetText_Convert.patch │ │ ├── testGetText_DiffCc.patch │ │ ├── testGetText_NoBinary.patch │ │ ├── testParse_AddNoNewline.patch │ │ ├── testParse_CcDeleteFile.patch │ │ ├── testParse_CcNewFile.patch │ │ ├── testParse_ConfigCaseInsensitive.patch │ │ ├── testParse_FixNoNewline.patch │ │ ├── testParse_GitBinaryDelta.patch │ │ ├── testParse_GitBinaryLiteral.patch │ │ ├── testParse_NoBinary.patch │ │ └── testParse_OneFileCc.patch │ ├── SubmoduleRepository.git/ │ │ ├── COMMIT_EDITMSG │ │ ├── HEAD │ │ ├── config │ │ ├── description │ │ ├── hooks/ │ │ │ ├── applypatch-msg.sample │ │ │ ├── commit-msg.sample │ │ │ ├── post-commit.sample │ │ │ ├── post-receive.sample │ │ │ ├── post-update.sample │ │ │ ├── pre-applypatch.sample │ │ │ ├── pre-commit.sample │ │ │ ├── pre-rebase.sample │ │ │ ├── prepare-commit-msg.sample │ │ │ └── update.sample │ │ ├── index │ │ ├── info/ │ │ │ └── exclude │ │ ├── logs/ │ │ │ ├── HEAD │ │ │ └── refs/ │ │ │ └── heads/ │ │ │ └── master │ │ ├── objects/ │ │ │ ├── 16/ │ │ │ │ └── 3678aef05371dc8636cbae9486233fddbede36 │ │ │ ├── 7c/ │ │ │ │ └── 0646bfd53c1f0ed45ffd81563f30017717ca58 │ │ │ ├── 83/ │ │ │ │ └── 36793a1b803478c1c654847373f0f106c467ce │ │ │ ├── 92/ │ │ │ │ └── 2522d0a1c9a031f5c6e11d3e20423e44806a3b │ │ │ ├── b8/ │ │ │ │ └── 1197d9c02c98247424be82a7dd55dc419f39e5 │ │ │ ├── c3/ │ │ │ │ └── 88fdefe1f4aa420eef11abd4e88fd38236dfb5 │ │ │ ├── info/ │ │ │ │ └── dummy │ │ │ └── pack/ │ │ │ └── dummy │ │ └── refs/ │ │ └── heads/ │ │ └── master │ ├── all_packed_objects.txt │ ├── create-second-pack │ ├── gitgit.index │ ├── gitgit.index.ZZZZ │ ├── gitgit.index.aaaa │ ├── gitgit.index.badchecksum │ ├── gitgit.lsfiles │ ├── gitgit.lstree │ ├── index_originating_from_msysgit │ ├── pack-3280af9c07ee18a87705ef50b0cc4cd20266cf12.idx │ ├── pack-3280af9c07ee18a87705ef50b0cc4cd20266cf12.pack │ ├── pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idx │ ├── pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.idxV2 │ ├── pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.pack │ ├── pack-546ff360fe3488adb20860ce3436a2d6373d2796.idx │ ├── pack-546ff360fe3488adb20860ce3436a2d6373d2796.pack │ ├── pack-9fb5b411fe6dfa89cc2e6b89d2bd8e5de02b5745.idx │ ├── pack-9fb5b411fe6dfa89cc2e6b89d2bd8e5de02b5745.pack │ ├── pack-cbdeda40019ae0e6e789088ea0f51f164f489d14.idx │ ├── pack-cbdeda40019ae0e6e789088ea0f51f164f489d14.pack │ ├── pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idx │ ├── pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.idxV2 │ ├── pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.pack │ ├── pack-e6d07037cbcf13376308a0a995d1fa48f8f76aaa.idx │ ├── pack-e6d07037cbcf13376308a0a995d1fa48f8f76aaa.pack │ ├── pack-huge.idx │ ├── packed-refs │ ├── sample.git/ │ │ ├── COMMIT_EDITMSG │ │ ├── HEAD │ │ ├── ORIG_HEAD │ │ ├── config │ │ ├── description │ │ ├── gitk.cache │ │ ├── hooks/ │ │ │ ├── applypatch-msg.sample │ │ │ ├── commit-msg.sample │ │ │ ├── post-commit.sample │ │ │ ├── post-receive.sample │ │ │ ├── post-update.sample │ │ │ ├── pre-applypatch.sample │ │ │ ├── pre-commit.sample │ │ │ ├── pre-rebase.sample │ │ │ ├── prepare-commit-msg.sample │ │ │ └── update.sample │ │ ├── index │ │ ├── info/ │ │ │ ├── exclude │ │ │ └── refs │ │ ├── logs/ │ │ │ ├── HEAD │ │ │ └── refs/ │ │ │ └── heads/ │ │ │ ├── first │ │ │ └── master │ │ ├── objects/ │ │ │ ├── 3f/ │ │ │ │ └── a4c1907a23c8c345ba65bd9bc17336b012259b │ │ │ ├── 66/ │ │ │ │ └── d7e337f35ff98d6bddd7e730655080454c3fdd │ │ │ ├── 76/ │ │ │ │ └── e984096c69db581a6d48eb444e5490d727ebac │ │ │ ├── a1/ │ │ │ │ └── 3973bc29346193c4a023fc83cc5b0645784262 │ │ │ ├── info/ │ │ │ │ └── packs │ │ │ └── pack/ │ │ │ ├── pack-845b2ba3349cc201321e752b01c5ada8102a9a08.idx │ │ │ └── pack-845b2ba3349cc201321e752b01c5ada8102a9a08.pack │ │ ├── packed-refs │ │ └── refs/ │ │ ├── heads/ │ │ │ ├── first │ │ │ └── master │ │ └── tags/ │ │ └── my_tag │ └── single_file_commit/ │ ├── .gitattributes │ ├── 16c0beaf7523eb3ef5df45bd42dd4fc6343de864 │ ├── 917c130bd4fa5bf2df0c399dc1b03401860aa448 │ ├── 95ea6a6859af6791464bd8b6de76ad5a6f9fad81 │ └── i-am-a-file ├── GitSharp.build ├── GitSharp.sln ├── Indentation.txt ├── Indentation.vssettings ├── JGit licence.txt ├── MiscUtil licence.txt ├── README.txt ├── Winterdom.IO.FileMap License.txt ├── generate-Docs.bat ├── lib/ │ ├── ICSharpCode.SharpZipLib.xml │ └── Winterdom.IO.FileMap.pdb ├── package-GitSharp.cmd ├── runtests-GitSharp.cmd ├── tools/ │ ├── docu/ │ │ ├── .gitignore │ │ ├── docu.XML │ │ ├── docu.pdb │ │ ├── generate_documentation.bat │ │ └── templates/ │ │ ├── !namespace/ │ │ │ ├── !type.htm.spark │ │ │ ├── _comment.spark │ │ │ ├── _events.spark │ │ │ ├── _fields.spark │ │ │ ├── _methods.spark │ │ │ ├── _namespaces.spark │ │ │ ├── _properties.spark │ │ │ ├── _remarks.spark │ │ │ ├── _types.spark │ │ │ ├── _value.spark │ │ │ └── index.html.spark │ │ ├── _footer.spark │ │ ├── _namespaces.spark │ │ ├── _types.spark │ │ ├── index.html.spark │ │ ├── js/ │ │ │ ├── jquery.scrollTo-min.js │ │ │ └── navigation.js │ │ └── main.css │ ├── nant/ │ │ ├── NAnt.CompressionTasks.pdb │ │ ├── NAnt.CompressionTasks.xml │ │ ├── NAnt.Core.pdb │ │ ├── NAnt.Core.xml │ │ ├── NAnt.DotNetTasks.pdb │ │ ├── NAnt.DotNetTasks.xml │ │ ├── NAnt.MSNetTasks.pdb │ │ ├── NAnt.MSNetTasks.xml │ │ ├── NAnt.NUnit.pdb │ │ ├── NAnt.NUnit.xml │ │ ├── NAnt.NUnit1Tasks.pdb │ │ ├── NAnt.NUnit1Tasks.xml │ │ ├── NAnt.NUnit2Tasks.pdb │ │ ├── NAnt.NUnit2Tasks.xml │ │ ├── NAnt.SourceControlTasks.pdb │ │ ├── NAnt.SourceControlTasks.xml │ │ ├── NAnt.VSNetTasks.pdb │ │ ├── NAnt.VSNetTasks.xml │ │ ├── NAnt.VisualCppTasks.pdb │ │ ├── NAnt.VisualCppTasks.xml │ │ ├── NAnt.Win32Tasks.pdb │ │ ├── NAnt.Win32Tasks.xml │ │ ├── NAnt.exe.config │ │ ├── NAnt.pdb │ │ ├── NAnt.xml │ │ ├── NDoc.Documenter.NAnt.pdb │ │ └── extensions/ │ │ └── common/ │ │ └── 2.0/ │ │ ├── NAnt.MSBuild.pdb │ │ └── NAnt.MSBuild.xml │ └── nunit/ │ └── nunit-console.exe.config └── version.txt ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ *~ bin obj *.user *.suo *.bak *.sln.cache _ReSharper* Reports */build */test-results *.pidb *.usertasks *.userprefs *.orig test-results dist build SharedAssemblyInfo.cs VersionAssemblyInfo.cs ================================================ FILE: ChangeLog ================================================ 2008-12-06 Miguel de Icaza * Lib/Constants.cs: Add a handful of extra contants. * Lib/Codec.cs: Put here the coding/encoding routines that were originally in egit's lib/Constants.java class * Lib/*: Align some API doc comments, add some API docs. * Lib/RefDatabase.cs (Peel): Implement. * Lib/Constants.cs: Put all the constants here (not sure where some new constants should have gone). * Lib/Ref.cs: Update to support `Peeled' property and `OriginalName' from newer eGits. 2008-12-03 Miguel de Icaza * test.cs: make the sample program dump all the refs. * Lib/Repository.cs: Expose GetAllRefs. * Lib/RefDatabase.cs (ReadOneLooseRef): Do not crash if the refName is not present in the looseKeys. (RefreshPackedRefs): If the packed-refs file does not exist, do not try to continue, it would otherwise crash. * Lib/WindowedFile.cs: Implement another file from the original Java implementation. * Lib/PackIndex.cs: Fix indentation of comment. * Lib/WindowCursor.cs: Implement. 2008-12-02 Miguel de Icaza * Lib/ByteArrayWindow.cs: Implement the functionality for ByteArrayWindow, do not derive from ByteWindow which is a design in the original Java implementation to use two different backends for storage. We could achieve the same in a cleaner way than the original implementation if we choose to do so using an interface. ================================================ FILE: Demo.txt ================================================ Git# demo browser (Windows only) has been moved to http://github.com/henon/GitSharp.Demo/tree ================================================ FILE: Git/CmdParserOptionSet.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * Copyright (C) 2009, Rolenun * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Collections.Generic; using NDesk.Options; namespace GitSharp.CLI { public class CmdParserOptionSet : OptionSet { protected override void InsertItem(int index, Option item) { base.InsertItem (index, item); } protected override OptionContext CreateOptionContext() { return new OptionContext (this); } protected override bool Parse(string option, OptionContext c) { string f, n, s, v; bool haveParts = GetOptionParts (option, out f, out n, out s, out v); Option nextOption = null; string newOption = option; if (haveParts) { nextOption = Contains (n) ? this [n] : null; newOption = f + n + (v != null ? s + v : ""); } if (c.Option != null) { // Prevent --a --b if (c.Option != null && haveParts) { throw new OptionException ( string.Format ("Found option `{0}' as value for option `{1}'.", option, c.OptionName), c.OptionName); } // have a option w/ required value; try to concat values. if (AppendValue (option, c)) { if (!option.EndsWith ("\\") && c.Option.MaxValueCount == c.OptionValues.Count) { c.Option.Invoke (c); } return true; } else base.Parse (newOption, c); } if (!haveParts || v == null) { // Not an option; let base handle as a non-option argument. return base.Parse (newOption, c); } if (nextOption.OptionValueType != OptionValueType.None && v.EndsWith ("\\")) { c.Option = nextOption; c.OptionValues.Add (v); c.OptionName = f + n; return true; } return base.Parse (newOption, c); } private bool AppendValue(string value, OptionContext c) { bool added = false; string[] seps = c.Option.GetValueSeparators (); foreach (var o in seps.Length != 0 ? value.Split(seps, StringSplitOptions.None) : new string[] { value }) { int idx = c.OptionValues.Count - 1; if (idx == -1 || !c.OptionValues[idx].EndsWith("\\")) { c.OptionValues.Add(o); added = true; } else { c.OptionValues[idx] += value; added = true; } } return added; } } } ================================================ FILE: Git/Command.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; /** * Annotation to document a {@link TextBuiltin}. * * This is an optional annotation for TextBuiltin subclasses and it carries * documentation forward into the runtime system describing what the command is * and why users may want to invoke it. */ [AttributeUsage(AttributeTargets.All, AllowMultiple = false)] public class Command : Attribute { public bool complete; public string usage; public bool common; public string helpUrl; public bool requiresRepository; public Command() { this.complete = false; this.common = false; this.usage = ""; this.helpUrl = ""; this.requiresRepository = false; } } ================================================ FILE: Git/CommandCatalog.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * Copyright (C) 2009, Rolenun * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Reflection; using System.Text; using System.Xml; using GitSharp; namespace GitSharp.CLI { /// /// List of all commands known by the command line tools. /// Commands are implementations of the TextBuiltin class, with a required /// command attribute to insert additional documentation and add some extra /// information such as if the command is common and completed. /// /// Commands may be registered by adding them to the Commands.xml file. /// The Commands.xml file should contain: /// a. The command name including namespace. /// b. The website address for command specific online help.(optional) /// public class CommandCatalog { /// /// Stores the command catalog. /// private SortedList commands = new SortedList(); /// /// Creates the command catalog from the Commands.xml file. /// public CommandCatalog() { const string commandsXmlPath = "GitSharp.CLI.Resources.Commands.xml"; Stream fileStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(commandsXmlPath); var doc = new XmlDocument(); doc.Load(fileStream); XmlNodeList xmlNodeList = doc.SelectNodes("/root/CommandList/Command"); foreach (XmlNode node in xmlNodeList) { XmlElement nameElement = node["Name"]; XmlElement helpElement = node["Help"]; if (nameElement != null) Load(nameElement.InnerText, helpElement.InnerText); } } /// /// Returns all commands starting with a specified string, sorted by command name. /// public List StartsWith(String s) { List matches = new List(); foreach (CommandRef c in commands.Values) { if (c.getName().StartsWith(s)) matches.Add(c); } return toSortedArray(matches); } /// /// Create and loads the command name into the command catalog. /// /// Specifies the command name to load. /// Specifies the command's website for faster reference. public void Load(String commandName, String commandHelp) { TextBuiltin clazz; Type commandType = Type.GetType(commandName); if (commandType == null) return; clazz = Activator.CreateInstance(commandType) as TextBuiltin; if (clazz == null) return; int index = clazz.ToString().LastIndexOf("."); string cmdName = clazz.ToString().Substring(index + 1).ToLower(); clazz.setCommandName(cmdName); clazz.setCommandHelp(commandHelp); CommandRef cr = new CommandRef(clazz); if (cr != null) commands.Add(cr.getName(), cr); } /// /// Locates a single command by its user friendly name. /// /// Specifies the name of the command. /// Returns the CommandRef containing the command's information. public CommandRef Get(String name) { CommandRef value = null; commands.TryGetValue(name, out value); return value; } /// /// Returns all known commands, sorted by command name. /// public IList All() { return commands.Values; } /// /// Returns all common commands, sorted by command name. /// public List Common() { List common = new List(); foreach (CommandRef c in commands.Values) { if (c.isCommon()) common.Add(c); } return toSortedArray(common); } /// /// Returns all incomplete commands, sorted by command name. /// public List Incomplete() { List incomplete = new List(); foreach (CommandRef c in commands.Values) { if (!c.isComplete()) incomplete.Add(c); } return toSortedArray(incomplete); } /// /// Returns all complete commands, sorted by command name. /// public List Complete() { List complete = new List(); foreach (CommandRef c in commands.Values) { if (c.isComplete()) complete.Add(c); } return toSortedArray(complete); } /// /// Sorts a list of specified commands by command name. /// /// Specifies the list of commands to be sorted. /// Returns the sorted list of commands. private List toSortedArray(List c) { c.Sort( delegate(CommandRef ref1, CommandRef ref2) { return ref1.getName().CompareTo(ref2.getName()); } ); return c; } } } ================================================ FILE: Git/CommandRef.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * Copyright (C) 2009, Rolenun * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Text; namespace GitSharp.CLI { /// /// Description of a command subcommand. /// /// These descriptions are lightweight compared to creating a command instance /// and are therefore suitable for catalogs of "known" commands without linking /// the command's implementation and creating a dummy instance of the command. /// public class CommandRef { private TextBuiltin impl; private String name; private String usage; private String cmdHelp; private bool requiresRepository; bool complete; bool common; public CommandRef(TextBuiltin clazz) : this(clazz, clazz.getCommandName()) { } public CommandRef(TextBuiltin clazz, String cn) { impl = (TextBuiltin)clazz; name = cn; Command cmd = impl.GetCommand(); if (cmd != null) { common = cmd.common; complete = cmd.complete; usage = cmd.usage; cmdHelp = clazz.getCommandHelp(); requiresRepository = cmd.requiresRepository; } } /// /// Returns the friendly command name. The command as invoked from the command line. /// public String getName() { return name; } /// /// Returns a one line description of the command's feature set. /// public String getUsage() { return usage; } /// /// Returns true if this command is considered to be commonly used. /// /// public bool isCommon() { return common; } /// /// Returns true if this command is considered to be completed. /// /// public bool isComplete() { return complete; } /// /// Returns true if this command requires a repository. /// /// public bool RequiresRepository() { return requiresRepository; } /// /// Returns the name of the class which implements this command. /// /// public String getImplementationClassName() { return impl.ToString(); } /// /// Returns a new instance of the command implementation. /// /// public TextBuiltin Create() { TextBuiltin c = Activator.CreateInstance(Type.GetType(impl.ToString())) as TextBuiltin; if (c != null) { c.setCommandHelp(cmdHelp); c.RequiresRepository = requiresRepository; return c; } else { return null; } } } } ================================================ FILE: Git/Commands/Add.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * Copyright (C) 2009, Rolenun * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Collections.Generic; using NDesk.Options; using GitSharp.Commands; namespace GitSharp.CLI { [Command(complete = false, common = true, requiresRepository = true, usage = "Add file contents to the index")] class Add : TextBuiltin { private AddCommand cmd = new AddCommand(); private static Boolean isHelp = false; #if ported private static Boolean isDryRun = false; private static Boolean isVerbose = false; private static Boolean isForced = false; private static Boolean isInteractive = false; private static Boolean isUpdateKnown = false; private static Boolean isUpdateAll = false; private static Boolean isIntentToAdd = false; private static Boolean isRefreshOnly = false; private static Boolean isIgnoreErrors = false; #endif override public void Run(String[] args) { options = new CmdParserOptionSet() { { "h|help", "Display this help information. To see online help, use: git help ", v=>OfflineHelp()}, #if ported { "n|dry-run", "Don't actually add the files, just show if they exist.", v=>{isDryRun = true;}}, { "v|verbose", "Be verbose.", v=> {isVerbose = true;}}, { "f|force", "Allow adding otherwise ignored files.", v=> {isForced = true;}}, { "i|interactive", "Interactive picking.", v=>{isInteractive = true;}}, { "p|patch", "Interactive patching.", v=>DoPatch()}, { "e|edit", "Open the diff vs. the index in an editor and let the user edit it.", v=>DoEdit()}, { "u|update", "Update tracked files.", v=> {isUpdateKnown = true;}}, { "A|all", "Add all files, noticing removal of tracked files.", v=>{isUpdateAll = true;}}, { "N|intent-to-add", "Record only the fact the path will be added later.", v=>{isIntentToAdd = true;}}, { "refresh", "Don't add the files, only refresh the index.", v=> {isRefreshOnly = true;}}, { "ignore-errors", "Just skip files which cannot be added because of errors.", v=>{isIgnoreErrors = true;}}, #endif }; try { List arguments = ParseOptions(args); if (arguments.Count > 0) { //Add the file(s) //DoAdd(arguments); try { cmd.Arguments = arguments; cmd.Execute(); } catch (ArgumentException e) { Console.WriteLine("Path does not exist: " + e.ParamName); Console.WriteLine("Adding path(s) has been aborted."); } } else if (args.Length <= 0) { //Display the modified files for the existing repository Console.WriteLine("Nothing specified, nothing added."); Console.WriteLine("Maybe you wanted to say 'git add .'?"); } else { OfflineHelp(); } } catch (OptionException e) { Console.WriteLine(e.Message); } } private void OfflineHelp() { if (!isHelp) { isHelp = true; Console.WriteLine("usage: git add [options] [--] ..."); Console.WriteLine(); options.WriteOptionDescriptions(Console.Out); } } private void DoAdd(List filesAdded) { Console.WriteLine("This command still needs to be implemented."); } private void DoEdit() { Console.WriteLine("This option still needs to be implemented."); } private void DoPatch() { Console.WriteLine("This option still needs to be implemented."); } } } ================================================ FILE: Git/Commands/Checkout.cs ================================================ /* * Copyright (C) 2008, Shawn O. Pearce * Copyright (C) 2009, Rolenun * * All rights reserved. * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * - Neither the name of the Git Development Community nor the * names of its contributors may be used to endorse or promote * products derived from this software without specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ using System; using System.Collections.Generic; using System.Text; using NDesk.Options; using GitSharp.Commands; namespace GitSharp.CLI { [Command(complete = false, common = true, requiresRepository = true, usage = "Checkout a branch or paths to the working tree")] public class Checkout : TextBuiltin { private CheckoutCommand cmd = new CheckoutCommand(); private static Boolean isHelp = false; #if ported private static Boolean isQuiet = false; private static Boolean isForced = false; private static Boolean isTracked = false; private static Boolean isNoTrack = false; private static Boolean isMerging = false; private static Boolean isOurs = false; private static Boolean isTheirs = false; private static Boolean isConflict = false; private static string branchName = ""; #endif override public void Run(string[] args) { options = new CmdParserOptionSet() { { "h|help", "Display this help information. To see online help, use: git help ", v=>OfflineHelp()}, { "q|quiet", "Quiet, suppress feedback messages", v => cmd.Quiet = false }, #if ported { "f|force", "Force checkout and ignore unmerged changes", v=>{isForced = true;}}, { "ours", "For unmerged paths, checkout stage #2 from the index", v=>{isOurs = true;}}, { "theirs", "For unmerged paths, checkout stage #3 from the index", v=>{isTheirs = true;}}, { "b|branch=", "Create a new {branch}",(string v) => branchName = v }, { "t|track", "Set the upstream configuration", v=>{isTracked = true;}}, { "no-track", "Do not set the upstream configuration", v=>{isNoTrack = true;}}, { "l", "Create the new branch's reflog", v=>RefLog()}, { "m|merge", "Perform a three-way merge between the current branch, your working tree contents " + "and the new branch", v=>{isMerging = true;}}, { "conflict","Same as merge above, but changes how the conflicting hunks are presented", isConflict = true}, { "p|patch", "Creates a diff and applies it in reverse order to the working tree", v=>Patch()} // [Mr Happy] this should be compatible w/ the CommandStub, haven't checked yet tho. //{ "f|force", "When switching branches, proceed even if the index or the working tree differs from HEAD", v => cmd.Force = true }, //{ "ours", "When checking out paths from the index, check out stage #2 ('ours') or #3 ('theirs') for unmerged paths", v => cmd.Ours = true }, //{ "theirs", "When checking out paths from the index, check out stage #2 ('ours') or #3 ('theirs') for unmerged paths", v => cmd.Theirs = true }, //{ "b=", "Create a new branch named and start it at ; see linkgit:git-branch[1] for details", v => cmd.B = v }, //{ "t|track", "When creating a new branch, set up "upstream" configuration", v => cmd.Track = true }, //{ "no-track", "Do not set up "upstream" configuration, even if the branch", v => cmd.NoTrack = true }, //{ "l", "Create the new branch's reflog; see linkgit:git-branch[1] for details", v => cmd.L = true }, //{ "m|merge", "When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context", v => cmd.Merge = true }, //{ "conflict=", "The same as --merge option above, but changes the way the conflicting hunks are presented, overriding the merge", v => cmd.Conflict = v }, //{ "p|patch", "Interactively select hunks in the difference between the (or the index, if unspecified) and the working tree", v => cmd.Patch = true }, #endif }; try { List arguments = ParseOptions(args); if ((arguments.Count > 0) || (args.Length <=0)) { //Checkout the new repository cmd.Arguments = arguments; cmd.Execute(); if (!cmd.Quiet) { //Display FileNotFound errors, but process checkout request for all found files first. foreach (string file in cmd.Results.FileNotFoundList) OutputStream.WriteLine("error: pathspec '" + file + "' did not match any file(s) known to GitSharp."); } } else { OfflineHelp(); } } catch (OptionException e) { Console.WriteLine(e.Message); } } private void OfflineHelp() { if (!isHelp) { isHelp = true; Console.WriteLine("usage:"); Console.WriteLine(" git checkout [-q] [-f] [-m] []"); Console.WriteLine(" git checkout [-q] [-f] [-m] [-b ] []"); Console.WriteLine(" git checkout [-f|--ours|--theirs|-m|--conflict= ]]> 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. 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. When passed to an external application, the argument will be quoted when appropriate. This does not apply to the parameter, which is always passed as is. A single command-line argument containing a space character. ]]> 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/**.

Case-Sensitivity

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

Default Excludes

There are a set of definitions that are excluded by default from all tasks that use filesets. They are: **/*~ **/#*# **/.#* **/%*% **/CVS **/CVS/** **/.cvsignore **/.svn **/.svn/** **/_svn **/_svn/** **/SCCS **/SCCS/** **/vssver.scc **/vssver2.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 . Adds a nested set of patterns, or references a standalone patternset. 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. Indicates whether include and exclude patterns must be treated in a case-sensitive way. The default is on Unix; otherwise, . 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. Specifies the execution mode for managed applications. For backward compatibility, the following string values can also be used in build files: Value Corresponding field "true" "false" Even if set to , the operating system can still run the program as a managed application. On Linux this can be done through binfmt_misc, while on Windows installing the .NET Framework redistributable caused managed applications to run on the MS CLR by default. Do not threat the program as a managed application. Leave it up to the CLR to determine which specific version of the CLR will be used to run the application. Forces an application to run against the currently targeted version of a given CLR. Specialized that also supports case-insensitive conversion of "true" to and "false" to . Initializes a new instance of the class. Converts the given object to the type of this converter, using the specified context and culture information. An that provides a format context. A object. If a is passed, the current culture is assumed. The to convert. An that represents the converted value. 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. Initializes a new instance of the class. The name pattern to include/exclude. If then the pattern will be used; otherwise, skipped. The default is . If then the pattern will be used; otherwise, skipped. The default is . Contains a collection of elements. Initializes a new instance of the class. Removes all items from the . Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new element was inserted. Adds the elements of a array to the end of the collection. The array of elements to be added to the end of the collection. Adds the elements of a to the end of the collection. The to be added to the end of the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Copies the entire collection to a compatible one-dimensional array, starting at the specified index of the target array. The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. The zero-based index in at which copying begins. Retrieves the index of a specified object in the collection. The object for which the index is returned. The index of the specified . If the is not currently a member of the collection, it returns -1. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Returns an enumerator that can iterate through the collection. A for the entire collection. Removes a member from the collection. The to remove from the collection. Gets or sets the element at the specified index. The zero-based index of the element to get or set. Enumerates the elements of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next element of the collection. if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first element in the collection. Gets the current element in the collection. The current element in the collection. Gets the current element in the collection. The current element in the collection. A set of patterns, mostly used to include or exclude certain files. The individual patterns support if and unless attributes to specify that the element should only be used if or unless a given condition is met. The and elements load patterns from a file. When the file is a relative path, it will be resolved relative to the project base directory in which the patternset is defined. Each line of this file is taken to be a pattern. The number sign (#) as the first non-blank character in a line denotes that all text following it is a comment: Patterns can be grouped to sets, and later be referenced by their . When used as a standalone element (global type), any properties that are referenced will be resolved when the definition is processed, not when it actually used. Passing a reference to a nested build file will not cause the properties to be re-evaluated. To improve reuse of globally defined patternsets, avoid referencing any properties altogether. Define a set of patterns that matches all .cs files that do not contain the text Test in their name. ]]> Define two sets. One holding C# sources, and one holding VB sources. Both sets only include test sources when the test property is set. A third set combines both C# and VB sources. ]]> Define a set from patterns in a file. ]]> Defines a patternset with patterns that are loaded from an external file, and shows the behavior when that patternset is passed as a reference to a nested build script. External file "c:\foo\build\service.lst" holding patterns of source files to include for the Foo.Service assembly: Main build script located in "c:\foo\default.build": ]]> Nested build script located in "c:\foo\services\default.build" which uses the patternset to feed sources files to the C# compiler: ]]> At the time when the patternset is used in the "service" build script, the following source files in "c:\foo\services\src" match the defined patterns: You should have observed that: although the patternset is used from the "service" build script, the path to the external file is resolved relative to the base directory of the "main" build script in which the patternset is defined. the "TraceListener.cs" file is included, even though the "build.debug" property was changed to false after the patternset was defined (but before it was passed to the nested build, and used). Initializes a new instance of the class. Adds a nested set of patterns, or references other standalone patternset. The to add. Defines a single pattern for files to include. Loads multiple patterns of files to include from a given file, set using the parameter. Defines a single pattern for files to exclude. Loads multiple patterns of files to exclude from a given file, set using the parameter. Contains HTTP proxy settings used to process requests to Internet resources. Initializes a new instance of the class. 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. The response file to load arguments 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. Reads a file filtering its content through the filter chain. The file to read. Chain of filters to apply when reading, or is no filters should be applied. The encoding used to read the file. If is , then the system's ANSI code page will be used to read the file. 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. Scans a list of directories for the specified filename. The list of directories to search. The name of the file to look for. Specifies whether the directory should be searched recursively. The directories are scanned in the order in which they are defined. The absolute path to the specified file, or null if the file was not found. Helper class for determining whether assemblies are located in the Global Assembly Cache. 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. Write the message of the specified and the inner exceptions to . The to write to . Creates a new instance of the class for the specified class in the specified. 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 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(""); } Initializes a new instance of the . On unix, patterns are matching case-sensitively; otherwise, they are matched case-insensitively. Initializes a new instance of the specifying whether patterns are to be match case-sensitively. Specifies whether patterns are to be matched case-sensititely. 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 or set a value indicating whether or not to use case-sensitive pattern matching. 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. Initialize a new instance of the class specifying whether or not string comparison should be case-sensitive. Specifies whether or not string comparison should be case-sensitive. 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 is 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 is . Gets a value indicating whether string comparison is case-sensitive. A value indicating whether string comparison is case-sensitive. Gets the value of the specified property. The name of the property to get the value of. The value of the specified property. 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. Resolves the specified assembly to a full path by matching it against the reference assemblies. The file name of the assembly to resolve (without path information). An absolute path to the assembly, or if the assembly could not be found or no reference assemblies are configured for the current framework. Whether the file name is matched case-sensitively depends on the operating system. Searches the list of tool paths of the current framework for the given file, and returns the absolute path if found. The file name of the tool to search for. The absolute path to if found in one of the configured tool paths; otherwise, . is . The configured tool paths are scanned in the order in which they are defined in the framework configuration. The file name of the tool to search should include the extension. Gets the value of the specified attribute from the specified node. The node of which the attribute value should be retrieved. The attribute of which the value should be returned. The value of the attribute with the specified name or if the attribute does not exist or has no value. Gets the name of the framework. The name of the framework. Gets the family of the framework. The family of the framework. Gets the description of the framework. The description of the framework. Gets the vendor of the framework. The vendor of the framework. Gets the version of the framework. The version of the framework. The framework is not valid. When is not configured, the framework is not considered valid. Gets the Common Language Runtime version of the framework. The Common Language Runtime version of the framework. The framework is not valid. When is , the framework is not considered valid. Gets the CLR type of the framework. The CLR type of the framework. The framework is not valid. Gets the Visual Studio version that corresponds with this framework. The Visual Studio version that corresponds with this framework. The framework is not valid. There is no version of Visual Studio 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. The framework is not valid. Gets the runtime information for this framework. The runtime information for the framework or if no runtime information is configured for the framework. The framework is not valid. Gets the directory where the system assemblies for the framework are located. The directory where the system assemblies for the framework are located. The framework is not valid. Gets the directory containing the SDK tools for the framework. The directory containing the SDK tools for the framework or a null reference if the configured sdk directory does not exist, or is not valid. The framework is not valid. Gets the used to initialize this framework. The used to initialize this framework. The framework is not valid. 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. The framework is not valid. Returns a value indicating whether the current framework is valid. if the framework is installed and correctly configured; otherwise, . Gets the reference assemblies for the current framework. The reference assemblies for the current framework. The framework is not valid. Gets the tool paths for the current framework. The tool paths for the current framework. The framework is not valid. Gets the . The . The defines the current namespace scope and provides methods for looking up namespace information. Initializes a new instance of the class. Initializes a new instance of the class with the specified capacity. Defines the types of frameworks. Frameworks that are supported on the current platform, but are not installed. Frameworks that are installed on the current system. Retrieves installation state attributes. Frameworks that typically target full desktop devices. Frameworks that target compact devices. Frameworks that run in a browser. Retrieves device attributes. Frameworks released as part of the open-source Mono project. Frameworks released by Microsoft. Retrieves vendor attributes. All frameworks supported on the current platform, regarless of their installation state, target device or vendor. Stores the file name, line number and column number to record a position in a text file. 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. The number of characters that the message should be indented. 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 . Returns a value indicating whether NAnt is running in 64-bit mode. if NAnt is running in 64-bit mode; otherwise, . Returns a value indicating whether NAnt is running in 32-bit mode. Note that even if the platform is 64-bit, NAnt may be running in 32-bit mode. if NAnt is running in 32-bit mode; otherwise, . Returns a value indicating whether NAnt is running on Windows. if NAnt is running on Windows; otherwise, . Central representation of a NAnt project. 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. Gets the list of supported frameworks filtered by the specified parameter. A bitwise combination of values that filter the frameworks to retrieve. An array of type that contains the frameworks specified by the parameter, sorted on name. Returns the of the given node in an XML file loaded by NAnt. The must be from an that has been loaded by NAnt. NAnt also does not process any of the following node types: As a result, no location information is available for these nodes. The to get the for. of the given node in an XML file loaded by NAnt, or if the node was not loaded from an XML file. is from an XML file that was not loaded by NAnt. -or was not processed by NAnt (eg. an XML declaration). Dispatches a event to the build listeners 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 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. The value specified is . The specified framework is not installed, or not configured correctly. We will use compiler tools and system assemblies for this framework in framework-related tasks. 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. 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 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 and argument count. The name of the function to lookup, including namespace prefix. The argument of the function to lookup. The in which the function is invoked. A representing the function, or if a function with the given name and arguments 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 containing the to scan. 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 containing the to scan. 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 containing the to scan. 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. 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. ================================================ FILE: tools/nant/NAnt.DotNetTasks.xml ================================================ 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. ]]> Create an executable assembly manifest from modules. ]]> 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. One or more modules to be compiled into an assembly. The name of the output file for the assembly manifest. The complete output path for the assembly manifest. Corresponds with the /out flag. The 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. Specifies a Win32 resource file (.res). Corresponds to /win32res[ource]: flag. Instructs the compiler to treat all warnings as errors. The default is . Corresponds to the /warnaserror[+|-] flag of the compiler. When this property is set to , any messages that would ordinarily be reported as warnings will instead be reported as errors. 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. Specifies whether to delay sign the assembly using only the public portion of the strong name key. The default is . Additional directories to search in for assembly references. Corresponds with the /lib[path]: flag. 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 . Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is . Gets the file extension required by the current compiler. The file extension required by the current compiler. Gets the 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. Automatically references assemblies if they have the same name as an imported namespace or as a type annotation when declaring a variable. The default is . Corresponds with the /autoref flag. Instructs the compiler not to import standard library, and changes to . The default is . Corresponds with the /noconfig flag. Specifies which platform version of common language runtime (CLR) can run the output file. The platform version of common language runtime (CLR) that can run the output file. Corresponds with the /platform flag. Causes the compiler to generate errors for implicit method overrides. The default is . Corresponds with the /versionsafe flag. Specifies the warning level for the compiler to display. Valid values are 0-4. The default is 4. The warning level for the compiler to display. Corresponds with the /warn flag. 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. Specifies whether to delay sign the assembly using only the public portion of the strong name key. Override to avoid exposing this to build authors, as the JScript.NET does not support this. Indicates whether the compiler for a given target framework supports the "keycontainer" option. The default is . . Override to avoid exposing this to build authors, as the JScript.NET does not support this. Indicates whether the compiler for a given target framework supports the "keyfile" option. The default is . . Override to avoid exposing this to build authors, as the JScript.NET does not support this. Indicates whether the compiler for a given target framework supports the "delaysign" option. The default is . . Override to avoid exposing this to build authors, as the JScript.NET does not support this. Specifies whether the compiler for the active target framework supports limiting the platform on which the compiled code can run. The default is . 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. 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. 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 supports assembly references, so this method will not be used anyway. Returns a list of external file references for the specified file. The resx file for which a list of external file references should be returned. A list of external file references for the specified file, or if does not exist or does not support external file references. 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.
Code
The must contain a single code element, which in turn contains the script code. This code can include extensions such as functions, or tasks. Once the script task has executed those extensions will be available for use in the buildfile. If no extensions have been defined, a static entry point named ScriptMain - which must have a single argument - is required.
Namespaces
The following namespaces are imported by default: System System.Collections System.IO System.Text NAnt.Core NAnt.Core.Attributes
Assembly References
The assembly references that are specified will be used to compile the script, and will be loaded into the NAnt appdomain. By default, only the NAnt.Core and mscorlib assemblies are referenced.
Run C# code that writes a message to the build log. <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. 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 list of reference assemblies of the current target framework. The reference assemblies of a given target framework are defined using <reference-assemblies> filesets in the <framework> node of the NAnt configuration file. 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. Specifies whether the generated assembly is strongly named and will be signed later. For backward compatibility, the following string values can also be used in build files: Value Corresponding field "true" "false" Not specified. Fully sign the assembly. Only place the public key in the assembly, allowing the signature to be added later. Specialized that also supports case-insensitive conversion of "true" to and "false" to . Initializes a new instance of the class. Converts the given object to the type of this converter, using the specified context and culture information. An that provides a format context. A object. If a is passed, the current culture is assumed. The to convert. An that represents the converted value. Represents an embedded resource. Do not yet expose this to build authors. Initializes a new instance of the 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 metadata file without assembly manifest. Returns a textual representation of the module, which can be used as argument for command-line tools. A textual representation of the path, file[,target]. The path of the module. File name where the module should be copied to before it is compiled into an assembly. Gets or sets the that contains the module. Contains a collection of items. Do not yet expose this to build authors. Initializes a new instance of the for the specified . The containing the collection. is . Returns an enumerator that can iterate through the collection. A for the entire collection. Copies the items of the collection to an , starting at a particular index. The one-dimensional that is the destination of the items copied from the collection. The must have zero-based indexing. The zero-based index in at which copying begins. Removes all items from the collection. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Removes an item at a specific index. The zero-based index of the item to remove. The parameter is less than 0 or greater than or equal to the value of the property of the . Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Adds the items of a to the end of the collection. The to be added to the end of the collection. Adds a to the end of the collection. The to be added to the end of the collection. The position into which the new item was inserted. Returns an enumerator that can iterate through the collection. A for the entire collection. Inserts a into the collection at the specified index. The zero-based index at which should be inserted. The to insert. Removes the specified from the collection. The to remove from the collection. Determines whether a is in the collection. The to locate in the collection. if is found in the collection; otherwise, . Gets the location of a in the collection. The object to locate. The zero-based location of the in the collection. If the is not currently a member of the collection, -1 is returned. Gets or sets the item at the specified index. The zero-based index of the item to get or set. The parameter is less than 0 or greater than or equal to the value of the property of the . Gets the list of elements contained in the instance. An containing the elements of the collection. Gets a value indicating whether access to the collection is synchronized (thread-safe). . Gets the number of items in the collection. The number of items in the collection. Gets an object that can be used to synchronize access to the collection. An object that can be used to synchronize access to the collection. Gets a value indicating whether the collection has a fixed size. . Gets a value indicating whether the collection has a fixed size. . Gets or sets the item at the specified index. The zero-based index of the item to get or set. The parameter is less than 0 or greater than or equal to the value of the property of the . Enumerates the items of a . Initializes a new instance of the class with the specified . The collection that should be enumerated. Advances the enumerator to the next item of the collection. if the enumerator was successfully advanced to the next item; if the enumerator has passed the end of the collection. Sets the enumerator to its initial position, which is before the first item in the collection. Gets the current item in the collection. The current item in the collection. Gets the current item in the collection. The current item in the collection. One or more modules to compile into an assembly. Define a global <moduleset> that can be referenced by other tasks or types. ]]> Initializes a new instance of the class. The base of the directory of this . The default is the project base directory. The modules to add to this . Represents a namespace to import. 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 whether prefixes should be dynamically generated by taking the path of the resource relative to the basedir and appending it to the specified prefix. The default is . 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.
================================================ FILE: tools/nant/NAnt.MSNetTasks.xml ================================================ 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. 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. ================================================ FILE: tools/nant/NAnt.NUnit.xml ================================================ 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. ================================================ FILE: tools/nant/NAnt.NUnit1Tasks.xml ================================================ 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. ================================================ FILE: tools/nant/NAnt.NUnit2Tasks.xml ================================================ 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. Assemblies to scan for missing assembly references. 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. List of files to scan for missing assembly references. 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 list of assemblies that can be scanned for missing assembly references. Holds the loaded assemblies. ================================================ FILE: tools/nant/NAnt.SourceControlTasks.xml ================================================ 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 . 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 .
================================================ FILE: tools/nant/NAnt.VSNetTasks.xml ================================================ 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, . Returns a number representing how much this file fits this project type. This enables the override in other providers. Do not return big numbers, mainly when compring only on filename. Analyses Microsoft Visual Studio .NET 2002 (Rainier) solution files. 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 name of platform to build the solution for. Gets the solution configuration to build. The directory where compiled targets will be placed. This overrides path settings contained in the solution/project. 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 matching the specified solution configuration. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. If the project is not configured to be built for the specified solution configuration, then no output files are added. Gets a value indicating whether building the project for the specified build configuration results in managed output. The build configuration. if the project output for the given build configuration is managed; otherwise, . Expands the given macro. The macro to expand. The expanded macro or if the macro is not supported. 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 list of all configurations defined in the project. Gets a list of project configurations that can be build. Project configurations that are not in this list do not need to be compiled. 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. Gets the complete set of output files for the project configuration matching the specified solution configuration. The solution configuration that is built. The set of output files to be updated. The key of the case-insensitive is the full path of the output file and the value is the path relative to the output directory. If the project is not configured to be built for the specified solution configuration, then no output files are added. 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 solution configuration that is built. The path of the type library to generate. The regasm tool is used to generate the type library. Unregister a type library for the specified assembly, and the types in that assembly. The project configuration that is built. The solution configuration that is built. The regasm tool is used to unregister the type library, and remove the COM registration for types in the specified assembly. 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. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class with the specified initial capacity. The appropriate number of entries that the can initially contain. Gets the platform that the configuration targets. The platform targeted by the configuration. Gets the path in which the output file will be created before its copied to the actual output path. Gets a value indicating whether to register the project output for use with COM components. if the project output should be registered for use with COM components; otherwise, . 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. MSBuild 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 Visual Studio 2005 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. Gets or sets the in memory representation of the project. The in memory representation of the project, or if the project is not (yet) loaded. This property will always be for projects that are not supported. Return a mapping between the configurations defined in the solution file and the project build configurations. Mapping between configurations defined in the solution file and the project build configurations, or if the project is not defined in a solution file. This mapping only includes project build configurations that are configured to be built for a given solution configuration. 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. 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.
================================================ FILE: tools/nant/NAnt.VisualCppTasks.xml ================================================ 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. The name of a module-definition file (.def) to be passed to the linker. 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. ================================================ FILE: tools/nant/NAnt.Win32Tasks.xml ================================================ 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. ================================================ FILE: tools/nant/NAnt.exe.config ================================================
true true sn lc false false true true sn lc true true true true true true true true true true true true true true true true true true true true true true sn lc true true true true true true true true true true true true true true true true true true true true true true true sn lc true The .NET Framework 1.1 SDK is not installed. true true true cfresgen sn lc The .NET Framework 2.0 SDK is not installed. true true true true true true true true true true true true true true true true true true true true sn lc true true true true true true true true true true true true true true true true true true true true true true true true true true sn lc true true ${csc.tool} true true true ${csc.supportsdocgeneration} true true true true mjs true ${mbas.tool} true ${resgen.tool} true sn true false true true gmcs true true true ${csc.supportsdocgeneration} true true true true mjs strict vbnc true ${resgen.tool} true ${resgen.supportsexternalfilereferences} sn true false true true gmcs true linq true true true true true true true mjs strict vbnc true true true sn true false true smcs true true true true true true true true true true sn false true true sn false true true Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. true ${path::combine(prefix, 'lib/mono/1.0/mcs.exe')} true true true ${csc.supportsdocgeneration} true true true true mjs true ${path::combine(prefix, 'lib/mono/1.0/mbas.exe')} true ${resgen.tool} true sn true false true Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. true gmcs true true true ${csc.supportsdocgeneration} true true true true mjs strict vbnc true ${resgen.tool} true ${resgen.supportsexternalfilereferences} sn true false true Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. true gmcs true linq true true true true true true true mjs strict vbnc true true true sn true false true Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/. smcs true true true true true true true true true true sn false ================================================ FILE: tools/nant/NAnt.xml ================================================ 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 Constructs the privatebinpath. For the common version dir, we do not use the framework version as defined in the NAnt configuration file but the CLR version since the assemblies in that directory are not specific to a certain family and the framwork version might differ between families (eg. mono 1.0 == .NET 1.1). The runtime framework. The base directory of the domain. The privatebinpath. Given an absolute directory and an absolute file name, returns a relative file name. An absolute directory. An absolute file name. A relative file name for the given absolute file name. Helper class for invoking the application entry point in NAnt.Core and passing the command-line arguments. 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. ================================================ FILE: tools/nant/extensions/common/2.0/NAnt.MSBuild.xml ================================================ NAnt.MSBuild Functions to return information for MSBuild system. Test whether project is VS2005 project and could be built using <msbuild> The name or path of the project file (csproj, vbproj, ...). True, if it is msbuild project, False otherwise. Initialize is guaranteed to be called by MSBuild at the start of the build before any events are raised. Analyses Microsoft Visual Studio .NET 2005 (Whidbey) solution files. ================================================ FILE: tools/nunit/nunit-console.exe.config ================================================ ================================================ FILE: version.txt ================================================ 0.3.0.0