public TestEffectiveConfiguration( AssemblyVersioningScheme assemblyVersioningScheme = AssemblyVersioningScheme.MajorMinorPatch, AssemblyInformationalVersioningScheme assemblyInformationalVersioningScheme = AssemblyInformationalVersioningScheme.FullInformationalVersion, VersioningMode versioningMode = VersioningMode.ContinuousDelivery, string gitTagPrefix = "v", string tag = "", string nextVersion = null, string branchPrefixToTrim = "", bool preventIncrementForMergedBranchVersion = false, string tagNumberPattern = null, string continuousDeploymentFallbackTag = "ci", bool trackMergeTarget = false, string majorMessage = null, string minorMessage = null, string patchMessage = null, CommitMessageIncrementMode commitMessageMode = CommitMessageIncrementMode.Enabled, int legacySemVerPadding = 4, int buildMetaDataPadding = 4) : base(assemblyVersioningScheme, assemblyInformationalVersioningScheme, versioningMode, gitTagPrefix, tag, nextVersion, IncrementStrategy.Patch, branchPrefixToTrim, preventIncrementForMergedBranchVersion, tagNumberPattern, continuousDeploymentFallbackTag, trackMergeTarget, majorMessage, minorMessage, patchMessage, commitMessageMode, legacySemVerPadding, buildMetaDataPadding) { }
static void VerifyAssemblyVersion(AssemblyVersioningScheme avs, AssemblyInformationalVersioningScheme aivs) { var semanticVersion = new SemanticVersion { Major = 2, Minor = 3, Patch = 4, PreReleaseTag = "beta.5", BuildMetaData = new SemanticVersionBuildMetaData(6, "master", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")), }; var assemblyInfoBuilder = new AssemblyInfoBuilder(); var config = new TestEffectiveConfiguration(assemblyVersioningScheme: avs, assemblyInformationalVersioningScheme: aivs); var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false); var assemblyInfoText = assemblyInfoBuilder.GetAssemblyInfoText(versionVariables, "Fake"); Approvals.Verify(assemblyInfoText); var compilation = CSharpCompilation.Create("Fake.dll") .WithOptions(new CSharpCompilationOptions(OutputKind.NetModule)) .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location)) .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText)); var emitResult = compilation.Emit(new MemoryStream()); Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor))); }
public static string GetAssemblyInformationalVersion( this SemanticVersion sv, AssemblyInformationalVersioningScheme scheme) { switch (scheme) { case AssemblyInformationalVersioningScheme.FullInformationalVersion: return(sv.ToString("i")); case AssemblyInformationalVersioningScheme.NugetVersion: return(sv.ToString("lp")); default: throw new ArgumentException(string.Format("Unexpected value ({0}).", scheme), "scheme"); } }
public EffectiveConfiguration( AssemblyVersioningScheme assemblyVersioningScheme, AssemblyInformationalVersioningScheme assemblyInformationalVersioningScheme, VersioningMode versioningMode, string gitTagPrefix, string tag, string nextVersion, IncrementStrategy increment, string branchPrefixToTrim, bool preventIncrementForMergedBranchVersion, string tagNumberPattern, string continuousDeploymentFallbackTag, bool trackMergeTarget, string majorVersionBumpMessage, string minorVersionBumpMessage, string patchVersionBumpMessage, CommitMessageIncrementMode commitMessageIncrementing, int legacySemVerPaddding, int buildMetaDataPadding ) { AssemblyVersioningScheme = assemblyVersioningScheme; AssemblyInformationalVersioningScheme = assemblyInformationalVersioningScheme; VersioningMode = versioningMode; GitTagPrefix = gitTagPrefix; Tag = tag; NextVersion = nextVersion; Increment = increment; BranchPrefixToTrim = branchPrefixToTrim; PreventIncrementForMergedBranchVersion = preventIncrementForMergedBranchVersion; TagNumberPattern = tagNumberPattern; ContinuousDeploymentFallbackTag = continuousDeploymentFallbackTag; TrackMergeTarget = trackMergeTarget; MajorVersionBumpMessage = majorVersionBumpMessage; MinorVersionBumpMessage = minorVersionBumpMessage; PatchVersionBumpMessage = patchVersionBumpMessage; CommitMessageIncrementing = commitMessageIncrementing; LegacySemVerPadding = legacySemVerPaddding; BuildMetaDataPadding = buildMetaDataPadding; }