コード例 #1
0
 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)
 {
 }
コード例 #2
0
    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)));
    }
コード例 #3
0
        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");
            }
        }
コード例 #4
0
 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;
 }