public static Dictionary <string, string> GetVariablesFor( SemanticVersion semanticVersion, AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch, bool addNumberOfCommitsSinceTagOnMasterBranchToFileVersion = true) { var bmd = semanticVersion.BuildMetaData; var formatter = bmd.Branch == "develop" ? new CiFeedFormatter() : null; var assemblyMetaData = AssemblyVersionsGenerator.Process( semanticVersion, assemblyVersioningScheme, addNumberOfCommitsSinceTagOnMasterBranchToFileVersion); var variables = new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase) { { Major, semanticVersion.Major.ToString() }, { Minor, semanticVersion.Minor.ToString() }, { Patch, semanticVersion.Patch.ToString() }, { PreReleaseTag, semanticVersion.PreReleaseTag }, { PreReleaseTagWithDash, semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag : null }, { BuildMetaData, bmd }, { FullBuildMetaData, bmd.ToString("f") }, { MajorMinorPatch, string.Format("{0}.{1}.{2}", semanticVersion.Major, semanticVersion.Minor, semanticVersion.Patch) }, { SemVer, semanticVersion.ToString(null, formatter) }, { LegacySemVer, semanticVersion.ToString("l", formatter) }, { LegacySemVerPadded, semanticVersion.ToString("lp", formatter) }, { AssemblySemVer, semanticVersion.ToString("j") + ".0" }, { FullSemVer, semanticVersion.ToString("f", formatter) }, { InformationalVersion, semanticVersion.ToString("i", formatter) }, { ClassicVersion, string.Format("{0}.{1}", semanticVersion.ToString("j"), (bmd.CommitsSinceTag ?? 0)) }, { ClassicVersionWithTag, string.Format("{0}.{1}{2}", semanticVersion.ToString("j"), bmd.CommitsSinceTag ?? 0, semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag : null) }, { BranchName, bmd.Branch }, { Sha, bmd.Sha }, { AssemblyVersion, assemblyMetaData.Version }, { AssemblyFileVersion, assemblyMetaData.FileVersion }, { OriginalRelease, string.Format("{0}.{1}", bmd.ReleaseDate.OriginalCommitSha, bmd.ReleaseDate.OriginalDate.UtcDateTime.ToString("u")) }, }; // Use ToLower() to fix a bug where Beta and beta are different in NuGet variables[NuGetVersionV2] = variables[LegacySemVerPadded].ToLower(); //variables[NuGetVersionV3] = variables[LegacySemVerPadded].ToLower(); // TODO: when v3 is released, determine what to use variables[NuGetVersion] = variables[NuGetVersionV2]; return(variables); }
public virtual void WriteIntegration(SemanticVersion semanticVersion, Action <string> writer) { if (semanticVersion == null) { return; } if (writer == null) { return; } writer(string.Format("Executing GenerateSetVersionMessage for '{0}'.", GetType().Name)); writer(GenerateSetVersionMessage(semanticVersion.ToString("f"))); writer(string.Format("Executing GenerateBuildLogOutput for '{0}'.", GetType().Name)); foreach (var buildParameter in BuildOutputFormatter.GenerateBuildLogOutput(semanticVersion, this)) { writer(buildParameter); } }
public static Dictionary <string, string> GetVariablesFor(SemanticVersion semanticVersion, Config configuration) { var bmd = semanticVersion.BuildMetaData; var formatter = bmd.Branch == "develop" ? new CiFeedFormatter() : null; var variables = new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase) { { Major, semanticVersion.Major.ToString() }, { Minor, semanticVersion.Minor.ToString() }, { Patch, semanticVersion.Patch.ToString() }, { PreReleaseTag, semanticVersion.PreReleaseTag }, { PreReleaseTagWithDash, semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag : null }, { BuildMetaData, bmd }, { FullBuildMetaData, bmd.ToString("f") }, { MajorMinorPatch, string.Format("{0}.{1}.{2}", semanticVersion.Major, semanticVersion.Minor, semanticVersion.Patch) }, { SemVer, semanticVersion.ToString(null, formatter) }, { LegacySemVer, semanticVersion.ToString("l", formatter) }, { LegacySemVerPadded, semanticVersion.ToString("lp", formatter) }, { AssemblySemVer, semanticVersion.GetAssemblyVersion(configuration.AssemblyVersioningScheme) }, { AssemblyFileSemVer, semanticVersion.GetAssemblyFileVersion(configuration.AssemblyVersioningScheme) }, { FullSemVer, semanticVersion.ToString("f", formatter) }, { InformationalVersion, semanticVersion.ToString("i", formatter) }, { ClassicVersion, string.Format("{0}.{1}", semanticVersion.ToString("j"), (bmd.CommitsSinceTag ?? 0)) }, { ClassicVersionWithTag, string.Format("{0}.{1}{2}", semanticVersion.ToString("j"), bmd.CommitsSinceTag ?? 0, semanticVersion.PreReleaseTag.HasTag() ? "-" + semanticVersion.PreReleaseTag : null) }, { BranchName, bmd.Branch }, { Sha, bmd.Sha }, }; // Use ToLower() to fix a bug where Beta and beta are different in NuGet variables[NuGetVersionV2] = variables[LegacySemVerPadded].ToLower(); //variables[NuGetVersionV3] = variables[LegacySemVerPadded].ToLower(); // TODO: when v3 is released, determine what to use variables[NuGetVersion] = variables[NuGetVersionV2]; return(variables); }