/MSBuildVersioning/HgVersionTokenReplacer.cs
C# | 27 lines | 22 code | 2 blank | 3 comment | 0 complexity | 4ba97069aff85988787a6472fff914ed MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Text.RegularExpressions;
-
- namespace MSBuildVersioning
- {
- /// <summary>
- /// Replaces tokens in a string with information from a <c>HgInfoProvider</c>.
- /// </summary>
- public class HgVersionTokenReplacer : VersionTokenReplacer
- {
- public HgVersionTokenReplacer(HgInfoProvider infoProvider)
- {
- SourceControlInfoProvider = infoProvider;
-
- AddToken("REVNUM", () => infoProvider.GetRevisionNumber().ToString());
- AddToken("REVNUM_MOD", x => (infoProvider.GetRevisionNumber() % x).ToString());
- AddToken("REVNUM_DIV", x => (infoProvider.GetRevisionNumber() / x).ToString());
- AddToken("REVID", () => infoProvider.GetRevisionId());
- AddToken("REVIDLONG", () => infoProvider.GetLongRevisionId());
- AddToken("DIRTY", () => infoProvider.IsWorkingCopyDirty() ? "1" : "0");
- AddToken("BRANCH", () => infoProvider.GetBranch());
- AddToken("TAGS", () => infoProvider.GetTags());
- }
- }
- }