diff --git a/.gitignore b/.gitignore index 5183ddd0a3..35ab638835 100644 --- a/.gitignore +++ b/.gitignore @@ -126,8 +126,7 @@ src/Docker/**/content config.wyam.dll config.wyam.hash config.wyam.packages.xml -/tests/integration/core/build -/tests/integration/full/build +/tests/integration/build docs/output # NPM diff --git a/build/artifacts/Tasks/ArtifactsMsBuildCoreTest.cs b/build/artifacts/Tasks/ArtifactsMsBuildCoreTest.cs index 624964ee5e..4c106d1040 100644 --- a/build/artifacts/Tasks/ArtifactsMsBuildCoreTest.cs +++ b/build/artifacts/Tasks/ArtifactsMsBuildCoreTest.cs @@ -37,7 +37,7 @@ public override void Run(BuildContext context) _ => targetFramework }; - var cmd = $"{rootPrefix}/scripts/test-msbuild-task.sh --version {version} --nugetPath {rootPrefix}/nuget --repoPath {rootPrefix}/repo/tests/integration/core --targetframework {targetFramework}"; + var cmd = $"{rootPrefix}/scripts/test-msbuild-task.sh --version {version} --nugetPath {rootPrefix}/nuget --repoPath {rootPrefix}/repo/tests/integration --targetframework {targetFramework}"; context.DockerTestArtifact(dockerImage, cmd); } diff --git a/build/artifacts/Tasks/ArtifactsMsBuildFullTest.cs b/build/artifacts/Tasks/ArtifactsMsBuildFullTest.cs index 66fb26f978..9c191a96ab 100644 --- a/build/artifacts/Tasks/ArtifactsMsBuildFullTest.cs +++ b/build/artifacts/Tasks/ArtifactsMsBuildFullTest.cs @@ -22,15 +22,14 @@ public override void Run(BuildContext context) var nugetSource = context.MakeAbsolute(Paths.Nuget).FullPath; - context.Information("\nTesting msbuild task with dotnet build (for .net core)\n"); + context.Information("\nTesting msbuild task with dotnet build\n"); var frameworks = new[] { Constants.NetVersion60, Constants.NetVersion70 }; foreach (var framework in frameworks) { var dotnetMsBuildSettings = new DotNetMSBuildSettings(); - dotnetMsBuildSettings.WithProperty("TargetFrameworks", framework); - dotnetMsBuildSettings.WithProperty("TargetFramework", framework); + dotnetMsBuildSettings.SetTargetFramework(framework); dotnetMsBuildSettings.WithProperty("GitVersionMsBuildVersion", version); - var projPath = context.MakeAbsolute(Paths.Integration.Combine("core")); + var projPath = context.MakeAbsolute(Paths.Integration); context.DotNetBuild(projPath.FullPath, new DotNetBuildSettings { @@ -40,8 +39,8 @@ public override void Run(BuildContext context) Sources = new[] { nugetSource } }); - var netcoreExe = Paths.Integration.Combine("core").Combine("build").Combine(framework).CombineWithFilePath("app.dll"); - context.ValidateOutput("dotnet", netcoreExe.FullPath, context.Version.GitVersion.FullSemVer); + var exe = Paths.Integration.Combine("build").Combine(framework).CombineWithFilePath("app.dll"); + context.ValidateOutput("dotnet", exe.FullPath, context.Version.GitVersion.FullSemVer); } } } diff --git a/build/build/Tasks/Package/PackageNuget.cs b/build/build/Tasks/Package/PackageNuget.cs index 34154ef82e..eca9b72744 100644 --- a/build/build/Tasks/Package/PackageNuget.cs +++ b/build/build/Tasks/Package/PackageNuget.cs @@ -25,6 +25,7 @@ private static void PackageWithCli(BuildContext context) // GitVersion.MsBuild, global tool & core context.DotNetPack("./src/GitVersion.Core", settings); + context.DotNetPack("./src/GitVersion.BuildAgents", settings); settings.ArgumentCustomization = arg => arg.Append("/p:PackAsTool=true"); context.DotNetPack("./src/GitVersion.App", settings); diff --git a/src/GitTools.Testing/Internal/ProcessHelper.cs b/src/GitTools.Testing/Internal/ProcessHelper.cs index 66eb4c8750..5958141e16 100644 --- a/src/GitTools.Testing/Internal/ProcessHelper.cs +++ b/src/GitTools.Testing/Internal/ProcessHelper.cs @@ -196,7 +196,7 @@ void IDisposable.Dispose() { try { - SetErrorMode(this.oldMode); + _ = SetErrorMode(this.oldMode); } catch (Exception ex) when (ex is EntryPointNotFoundException or DllNotFoundException) { diff --git a/src/GitVersion.App.Tests/ArgumentParserOnBuildServerTests.cs b/src/GitVersion.App.Tests/ArgumentParserOnBuildServerTests.cs index 3e69433b3b..9c2ad9a05e 100644 --- a/src/GitVersion.App.Tests/ArgumentParserOnBuildServerTests.cs +++ b/src/GitVersion.App.Tests/ArgumentParserOnBuildServerTests.cs @@ -31,6 +31,7 @@ public void EmptyOnFetchDisabledBuildServerMeansNoFetchIsTrue() private class MockBuildAgent : ICurrentBuildAgent { + public bool IsDefault => false; public bool CanApplyToCurrentContext() => throw new NotImplementedException(); public void WriteIntegration(Action writer, VersionVariables variables, bool updateBuildNumber = true) => throw new NotImplementedException(); diff --git a/src/GitVersion.App.Tests/Helpers/ProgramFixture.cs b/src/GitVersion.App.Tests/Helpers/ProgramFixture.cs index 20979e643c..05a9cbfea2 100644 --- a/src/GitVersion.App.Tests/Helpers/ProgramFixture.cs +++ b/src/GitVersion.App.Tests/Helpers/ProgramFixture.cs @@ -27,7 +27,7 @@ public ProgramFixture(string workingDirectory = "") this.environment = new TestEnvironment(); - Overrides.Add(services => + WithOverrides(services => { services.AddSingleton(log); services.AddSingleton(consoleAdapter); @@ -46,6 +46,8 @@ public void WithEnv(params KeyValuePair[] envs) } } + public void WithOverrides(Action action) => Overrides.Add(action); + public Task Run(string arg) { var args = arg.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); diff --git a/src/GitVersion.App.Tests/PullRequestInBuildAgentTest.cs b/src/GitVersion.App.Tests/PullRequestInBuildAgentTest.cs index c5f40b9682..f69e6c8fc9 100644 --- a/src/GitVersion.App.Tests/PullRequestInBuildAgentTest.cs +++ b/src/GitVersion.App.Tests/PullRequestInBuildAgentTest.cs @@ -1,5 +1,6 @@ using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; +using GitVersion.Extensions; using LibGit2Sharp; namespace GitVersion.App.Tests; @@ -166,6 +167,7 @@ private static async Task VerifyPullRequestVersionIsCalculatedProperly(string pu } var programFixture = new ProgramFixture(fixture.RepositoryPath); + programFixture.WithOverrides(services => services.AddModule(new GitVersionBuildAgentsModule())); programFixture.WithEnv(env.ToArray()); var result = await programFixture.Run(); diff --git a/src/GitVersion.App/GitVersion.App.csproj b/src/GitVersion.App/GitVersion.App.csproj index 3522236520..77c7624a17 100644 --- a/src/GitVersion.App/GitVersion.App.csproj +++ b/src/GitVersion.App/GitVersion.App.csproj @@ -21,20 +21,21 @@ - - + + - - + + + - + - + diff --git a/src/GitVersion.App/Program.cs b/src/GitVersion.App/Program.cs index 373bce10af..368228d1cb 100644 --- a/src/GitVersion.App/Program.cs +++ b/src/GitVersion.App/Program.cs @@ -1,3 +1,4 @@ +using GitVersion.BuildAgents; using GitVersion.Extensions; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -23,6 +24,7 @@ private IHostBuilder CreateHostBuilder(string[] args) => { services.AddModule(new GitVersionCoreModule()); services.AddModule(new GitVersionLibGit2SharpModule()); + services.AddModule(new GitVersionBuildAgentsModule()); services.AddModule(new GitVersionAppModule()); services.AddSingleton(sp => diff --git a/src/GitVersion.Core.Tests/BuildAgents/AzurePipelinesTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/AzurePipelinesTests.cs similarity index 97% rename from src/GitVersion.Core.Tests/BuildAgents/AzurePipelinesTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/AzurePipelinesTests.cs index 8e52cdf004..31632810b3 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/AzurePipelinesTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/AzurePipelinesTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class AzurePipelinesTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/BitBucketPipelinesTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/BitBucketPipelinesTests.cs similarity index 96% rename from src/GitVersion.Core.Tests/BuildAgents/BitBucketPipelinesTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/BitBucketPipelinesTests.cs index ac928b2f6f..4c96a9c0a1 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/BitBucketPipelinesTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/BitBucketPipelinesTests.cs @@ -1,10 +1,9 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; using GitVersion.VersionCalculation; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class BitBucketPipelinesTests : TestBase @@ -17,8 +16,8 @@ public class BitBucketPipelinesTests : TestBase public void SetEnvironmentVariableForTest() { this.sp = ConfigureServices(services => services.AddSingleton()); - this.environment = sp.GetRequiredService(); - this.buildServer = sp.GetRequiredService(); + this.environment = this.sp.GetRequiredService(); + this.buildServer = this.sp.GetRequiredService(); this.environment.SetEnvironmentVariable(BitBucketPipelines.EnvironmentVariableName, "MyWorkspace"); } diff --git a/src/GitVersion.Core.Tests/BuildAgents/BuildKiteTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/BuildKiteTests.cs similarity index 97% rename from src/GitVersion.Core.Tests/BuildAgents/BuildKiteTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/BuildKiteTests.cs index 77fa670e7b..35c8569632 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/BuildKiteTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/BuildKiteTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class BuildKiteTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/BuildServerBaseTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/BuildServerBaseTests.cs similarity index 96% rename from src/GitVersion.Core.Tests/BuildAgents/BuildServerBaseTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/BuildServerBaseTests.cs index 89956199d2..ebd4459b29 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/BuildServerBaseTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/BuildServerBaseTests.cs @@ -1,11 +1,10 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Logging; using GitVersion.OutputVariables; using GitVersion.VersionCalculation; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class BuildServerBaseTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/CodeBuildTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/CodeBuildTests.cs similarity index 97% rename from src/GitVersion.Core.Tests/BuildAgents/CodeBuildTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/CodeBuildTests.cs index 1f25ff4915..ed4c6bdd8b 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/CodeBuildTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/CodeBuildTests.cs @@ -1,10 +1,9 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; using GitVersion.VersionCalculation; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public sealed class CodeBuildTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/ContinuaCiTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/ContinuaCiTests.cs similarity index 90% rename from src/GitVersion.Core.Tests/BuildAgents/ContinuaCiTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/ContinuaCiTests.cs index a70cb89a0f..1f2140b269 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/ContinuaCiTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/ContinuaCiTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class ContinuaCiTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/DroneTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/DroneTests.cs similarity index 98% rename from src/GitVersion.Core.Tests/BuildAgents/DroneTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/DroneTests.cs index 5dd049c390..497ac94cc0 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/DroneTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/DroneTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class DroneTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/EnvRunTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/EnvRunTests.cs similarity index 96% rename from src/GitVersion.Core.Tests/BuildAgents/EnvRunTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/EnvRunTests.cs index 3efb5d6d2c..027d4e1799 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/EnvRunTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/EnvRunTests.cs @@ -1,9 +1,8 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class EnvRunTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/GitHubActionsTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/GitHubActionsTests.cs similarity index 98% rename from src/GitVersion.Core.Tests/BuildAgents/GitHubActionsTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/GitHubActionsTests.cs index 23779866f1..2b0607b59c 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/GitHubActionsTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/GitHubActionsTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class GitHubActionsTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/GitLabCiTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/GitLabCiTests.cs similarity index 97% rename from src/GitVersion.Core.Tests/BuildAgents/GitLabCiTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/GitLabCiTests.cs index ac9ce630e1..b22526c8d5 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/GitLabCiTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/GitLabCiTests.cs @@ -1,10 +1,9 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; using GitVersion.VersionCalculation; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class GitLabCiTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/JenkinsTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/JenkinsTests.cs similarity index 98% rename from src/GitVersion.Core.Tests/BuildAgents/JenkinsTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/JenkinsTests.cs index 501271f026..9248fb4dc8 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/JenkinsTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/JenkinsTests.cs @@ -1,10 +1,9 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; using GitVersion.VersionCalculation; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class JenkinsTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/MyGetTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/MyGetTests.cs similarity index 94% rename from src/GitVersion.Core.Tests/BuildAgents/MyGetTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/MyGetTests.cs index c5bc335f4c..bb7a85782a 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/MyGetTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/MyGetTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class MyGetTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/SpaceAutomationTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/SpaceAutomationTests.cs similarity index 96% rename from src/GitVersion.Core.Tests/BuildAgents/SpaceAutomationTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/SpaceAutomationTests.cs index 31f1ebb0d4..6a9bda16f7 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/SpaceAutomationTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/SpaceAutomationTests.cs @@ -1,9 +1,7 @@ -using GitVersion; -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersionCore.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class SpaceAutomationTests : TestBase diff --git a/src/GitVersion.Core.Tests/BuildAgents/TeamCityTests.cs b/src/GitVersion.BuildAgents.Tests/Agents/TeamCityTests.cs similarity index 94% rename from src/GitVersion.Core.Tests/BuildAgents/TeamCityTests.cs rename to src/GitVersion.BuildAgents.Tests/Agents/TeamCityTests.cs index 5d342354b0..1a94b26a4e 100644 --- a/src/GitVersion.Core.Tests/BuildAgents/TeamCityTests.cs +++ b/src/GitVersion.BuildAgents.Tests/Agents/TeamCityTests.cs @@ -1,8 +1,7 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using Microsoft.Extensions.DependencyInjection; -namespace GitVersion.Core.Tests.BuildAgents; +namespace GitVersion.BuildAgents.Tests; [TestFixture] public class TeamCityTests : TestBase diff --git a/src/GitVersion.BuildAgents.Tests/GitVersion.BuildAgents.Tests.csproj b/src/GitVersion.BuildAgents.Tests/GitVersion.BuildAgents.Tests.csproj new file mode 100644 index 0000000000..1fd8bec47a --- /dev/null +++ b/src/GitVersion.BuildAgents.Tests/GitVersion.BuildAgents.Tests.csproj @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/GitVersion.Core/BuildAgents/AppVeyor.cs b/src/GitVersion.BuildAgents/Agents/AppVeyor.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/AppVeyor.cs rename to src/GitVersion.BuildAgents/Agents/AppVeyor.cs diff --git a/src/GitVersion.Core/BuildAgents/AzurePipelines.cs b/src/GitVersion.BuildAgents/Agents/AzurePipelines.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/AzurePipelines.cs rename to src/GitVersion.BuildAgents/Agents/AzurePipelines.cs diff --git a/src/GitVersion.Core/BuildAgents/BitBucketPipelines.cs b/src/GitVersion.BuildAgents/Agents/BitBucketPipelines.cs similarity index 92% rename from src/GitVersion.Core/BuildAgents/BitBucketPipelines.cs rename to src/GitVersion.BuildAgents/Agents/BitBucketPipelines.cs index 2dcd010e7d..29251e8b6f 100644 --- a/src/GitVersion.Core/BuildAgents/BitBucketPipelines.cs +++ b/src/GitVersion.BuildAgents/Agents/BitBucketPipelines.cs @@ -19,10 +19,7 @@ public class BitBucketPipelines : BuildAgentBase public void WithPropertyFile(string propertiesFileName) => this.file = propertiesFileName; - public override string[] GenerateSetParameterMessage(string name, string value) => new[] - { - $"GITVERSION_{name.ToUpperInvariant()}={value}" - }; + public override string[] GenerateSetParameterMessage(string name, string value) => new[] { $"GITVERSION_{name.ToUpperInvariant()}={value}" }; public override void WriteIntegration(Action writer, VersionVariables variables, bool updateBuildNumber = true) { @@ -59,7 +56,7 @@ public override void WriteIntegration(Action writer, VersionVariables v private string? EvaluateEnvironmentVariable(string variableName) { var branchName = Environment.GetEnvironmentVariable(variableName); - Log.Info("Evaluating environment variable {0} : {1}", variableName, branchName ?? "(null)"); + this.Log.Info("Evaluating environment variable {0} : {1}", variableName, branchName ?? "(null)"); return branchName; } } diff --git a/src/GitVersion.Core/BuildAgents/BuildKite.cs b/src/GitVersion.BuildAgents/Agents/BuildKite.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/BuildKite.cs rename to src/GitVersion.BuildAgents/Agents/BuildKite.cs diff --git a/src/GitVersion.Core/BuildAgents/CodeBuild.cs b/src/GitVersion.BuildAgents/Agents/CodeBuild.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/CodeBuild.cs rename to src/GitVersion.BuildAgents/Agents/CodeBuild.cs diff --git a/src/GitVersion.Core/BuildAgents/ContinuaCi.cs b/src/GitVersion.BuildAgents/Agents/ContinuaCi.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/ContinuaCi.cs rename to src/GitVersion.BuildAgents/Agents/ContinuaCi.cs diff --git a/src/GitVersion.Core/BuildAgents/Drone.cs b/src/GitVersion.BuildAgents/Agents/Drone.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/Drone.cs rename to src/GitVersion.BuildAgents/Agents/Drone.cs diff --git a/src/GitVersion.Core/BuildAgents/EnvRun.cs b/src/GitVersion.BuildAgents/Agents/EnvRun.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/EnvRun.cs rename to src/GitVersion.BuildAgents/Agents/EnvRun.cs diff --git a/src/GitVersion.Core/BuildAgents/GitHubActions.cs b/src/GitVersion.BuildAgents/Agents/GitHubActions.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/GitHubActions.cs rename to src/GitVersion.BuildAgents/Agents/GitHubActions.cs diff --git a/src/GitVersion.Core/BuildAgents/GitLabCi.cs b/src/GitVersion.BuildAgents/Agents/GitLabCi.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/GitLabCi.cs rename to src/GitVersion.BuildAgents/Agents/GitLabCi.cs diff --git a/src/GitVersion.Core/BuildAgents/Jenkins.cs b/src/GitVersion.BuildAgents/Agents/Jenkins.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/Jenkins.cs rename to src/GitVersion.BuildAgents/Agents/Jenkins.cs diff --git a/src/GitVersion.Core/BuildAgents/MyGet.cs b/src/GitVersion.BuildAgents/Agents/MyGet.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/MyGet.cs rename to src/GitVersion.BuildAgents/Agents/MyGet.cs diff --git a/src/GitVersion.Core/BuildAgents/SpaceAutomation.cs b/src/GitVersion.BuildAgents/Agents/SpaceAutomation.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/SpaceAutomation.cs rename to src/GitVersion.BuildAgents/Agents/SpaceAutomation.cs diff --git a/src/GitVersion.Core/BuildAgents/TeamCity.cs b/src/GitVersion.BuildAgents/Agents/TeamCity.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/TeamCity.cs rename to src/GitVersion.BuildAgents/Agents/TeamCity.cs diff --git a/src/GitVersion.Core/BuildAgents/TravisCI.cs b/src/GitVersion.BuildAgents/Agents/TravisCI.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/TravisCI.cs rename to src/GitVersion.BuildAgents/Agents/TravisCI.cs diff --git a/src/GitVersion.BuildAgents/GitVersion.BuildAgents.csproj b/src/GitVersion.BuildAgents/GitVersion.BuildAgents.csproj new file mode 100644 index 0000000000..50a5a34703 --- /dev/null +++ b/src/GitVersion.BuildAgents/GitVersion.BuildAgents.csproj @@ -0,0 +1,5 @@ + + + + + diff --git a/src/GitVersion.Core/BuildAgents/BuildServerModule.cs b/src/GitVersion.BuildAgents/GitVersionBuildAgentsModule.cs similarity index 64% rename from src/GitVersion.Core/BuildAgents/BuildServerModule.cs rename to src/GitVersion.BuildAgents/GitVersionBuildAgentsModule.cs index 5cd41175d0..c7ddd5fc37 100644 --- a/src/GitVersion.Core/BuildAgents/BuildServerModule.cs +++ b/src/GitVersion.BuildAgents/GitVersionBuildAgentsModule.cs @@ -2,7 +2,7 @@ namespace GitVersion.BuildAgents; -public class BuildServerModule : GitVersionModule +public class GitVersionBuildAgentsModule : GitVersionModule { public override void RegisterTypes(IServiceCollection services) { @@ -12,8 +12,5 @@ public override void RegisterTypes(IServiceCollection services) { services.AddSingleton(typeof(IBuildAgent), buildAgent); } - - services.AddSingleton(); - services.AddSingleton(sp => sp.GetRequiredService().Resolve()); } } diff --git a/src/GitVersion.BuildAgents/PublicAPI.Shipped.txt b/src/GitVersion.BuildAgents/PublicAPI.Shipped.txt new file mode 100644 index 0000000000..7dc5c58110 --- /dev/null +++ b/src/GitVersion.BuildAgents/PublicAPI.Shipped.txt @@ -0,0 +1 @@ +#nullable enable diff --git a/src/GitVersion.BuildAgents/PublicAPI.Unshipped.txt b/src/GitVersion.BuildAgents/PublicAPI.Unshipped.txt new file mode 100644 index 0000000000..c9a2b5ed60 --- /dev/null +++ b/src/GitVersion.BuildAgents/PublicAPI.Unshipped.txt @@ -0,0 +1,138 @@ +#nullable enable +GitVersion.BuildAgents.AppVeyor +GitVersion.BuildAgents.AppVeyor.AppVeyor(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.AzurePipelines +GitVersion.BuildAgents.AzurePipelines.AzurePipelines(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.BitBucketPipelines +GitVersion.BuildAgents.BitBucketPipelines.BitBucketPipelines(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.BitBucketPipelines.WithPropertyFile(string! propertiesFileName) -> void +GitVersion.BuildAgents.BuildKite +GitVersion.BuildAgents.BuildKite.BuildKite(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.CodeBuild +GitVersion.BuildAgents.CodeBuild.CodeBuild(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.CodeBuild.WithPropertyFile(string! propertiesFileName) -> void +GitVersion.BuildAgents.ContinuaCi +GitVersion.BuildAgents.ContinuaCi.ContinuaCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.Drone +GitVersion.BuildAgents.Drone.Drone(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.EnvRun +GitVersion.BuildAgents.EnvRun.EnvRun(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.GitHubActions +GitVersion.BuildAgents.GitHubActions.GitHubActions(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.GitLabCi +GitVersion.BuildAgents.GitLabCi.GitLabCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.GitLabCi.WithPropertyFile(string! propertiesFileName) -> void +GitVersion.BuildAgents.GitVersionBuildAgentsModule +GitVersion.BuildAgents.GitVersionBuildAgentsModule.GitVersionBuildAgentsModule() -> void +GitVersion.BuildAgents.Jenkins +GitVersion.BuildAgents.Jenkins.Jenkins(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.Jenkins.WithPropertyFile(string! propertiesFileName) -> void +GitVersion.BuildAgents.MyGet +GitVersion.BuildAgents.MyGet.MyGet(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.SpaceAutomation +GitVersion.BuildAgents.SpaceAutomation.SpaceAutomation(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.TeamCity +GitVersion.BuildAgents.TeamCity.TeamCity(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +GitVersion.BuildAgents.TravisCi +GitVersion.BuildAgents.TravisCi.TravisCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void +const GitVersion.BuildAgents.AppVeyor.EnvironmentVariableName = "APPVEYOR" -> string! +const GitVersion.BuildAgents.AzurePipelines.EnvironmentVariableName = "TF_BUILD" -> string! +const GitVersion.BuildAgents.BitBucketPipelines.BranchEnvironmentVariableName = "BITBUCKET_BRANCH" -> string! +const GitVersion.BuildAgents.BitBucketPipelines.EnvironmentVariableName = "BITBUCKET_WORKSPACE" -> string! +const GitVersion.BuildAgents.BitBucketPipelines.PullRequestEnvironmentVariableName = "BITBUCKET_PR_ID" -> string! +const GitVersion.BuildAgents.BitBucketPipelines.TagEnvironmentVariableName = "BITBUCKET_TAG" -> string! +const GitVersion.BuildAgents.BuildKite.EnvironmentVariableName = "BUILDKITE" -> string! +const GitVersion.BuildAgents.CodeBuild.SourceVersionEnvironmentVariableName = "CODEBUILD_SOURCE_VERSION" -> string! +const GitVersion.BuildAgents.CodeBuild.WebHookEnvironmentVariableName = "CODEBUILD_WEBHOOK_HEAD_REF" -> string! +const GitVersion.BuildAgents.ContinuaCi.EnvironmentVariableName = "ContinuaCI.Version" -> string! +const GitVersion.BuildAgents.Drone.EnvironmentVariableName = "DRONE" -> string! +const GitVersion.BuildAgents.EnvRun.EnvironmentVariableName = "ENVRUN_DATABASE" -> string! +const GitVersion.BuildAgents.GitHubActions.EnvironmentVariableName = "GITHUB_ACTIONS" -> string! +const GitVersion.BuildAgents.GitHubActions.GitHubSetEnvTempFileEnvironmentVariableName = "GITHUB_ENV" -> string! +const GitVersion.BuildAgents.GitLabCi.EnvironmentVariableName = "GITLAB_CI" -> string! +const GitVersion.BuildAgents.Jenkins.EnvironmentVariableName = "JENKINS_URL" -> string! +const GitVersion.BuildAgents.MyGet.EnvironmentVariableName = "BuildRunner" -> string! +const GitVersion.BuildAgents.SpaceAutomation.EnvironmentVariableName = "JB_SPACE_PROJECT_KEY" -> string! +const GitVersion.BuildAgents.TeamCity.EnvironmentVariableName = "TEAMCITY_VERSION" -> string! +const GitVersion.BuildAgents.TravisCi.EnvironmentVariableName = "TRAVIS" -> string! +override GitVersion.BuildAgents.AppVeyor.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.AppVeyor.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.AppVeyor.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.AppVeyor.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.AppVeyor.PreventFetch() -> bool +override GitVersion.BuildAgents.AzurePipelines.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.AzurePipelines.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.AzurePipelines.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.AzurePipelines.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.AzurePipelines.PreventFetch() -> bool +override GitVersion.BuildAgents.BitBucketPipelines.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.BitBucketPipelines.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.BitBucketPipelines.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.BitBucketPipelines.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.BitBucketPipelines.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void +override GitVersion.BuildAgents.BuildKite.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.BuildKite.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.BuildKite.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.BuildKite.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.BuildKite.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.BuildKite.PreventFetch() -> bool +override GitVersion.BuildAgents.CodeBuild.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.CodeBuild.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.CodeBuild.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.CodeBuild.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.CodeBuild.PreventFetch() -> bool +override GitVersion.BuildAgents.CodeBuild.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void +override GitVersion.BuildAgents.ContinuaCi.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.ContinuaCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.ContinuaCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.ContinuaCi.PreventFetch() -> bool +override GitVersion.BuildAgents.Drone.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.Drone.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.Drone.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.Drone.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.Drone.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.Drone.PreventFetch() -> bool +override GitVersion.BuildAgents.EnvRun.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.EnvRun.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.EnvRun.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.EnvRun.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.EnvRun.PreventFetch() -> bool +override GitVersion.BuildAgents.GitHubActions.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.GitHubActions.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.GitHubActions.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.GitHubActions.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.GitHubActions.PreventFetch() -> bool +override GitVersion.BuildAgents.GitHubActions.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void +override GitVersion.BuildAgents.GitLabCi.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.GitLabCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.GitLabCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.GitLabCi.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.GitLabCi.PreventFetch() -> bool +override GitVersion.BuildAgents.GitLabCi.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void +override GitVersion.BuildAgents.GitVersionBuildAgentsModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void +override GitVersion.BuildAgents.Jenkins.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.Jenkins.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.Jenkins.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.Jenkins.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.Jenkins.PreventFetch() -> bool +override GitVersion.BuildAgents.Jenkins.ShouldCleanUpRemotes() -> bool +override GitVersion.BuildAgents.Jenkins.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void +override GitVersion.BuildAgents.MyGet.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.MyGet.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.MyGet.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.MyGet.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string? +override GitVersion.BuildAgents.MyGet.PreventFetch() -> bool +override GitVersion.BuildAgents.SpaceAutomation.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.SpaceAutomation.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.SpaceAutomation.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.SpaceAutomation.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.TeamCity.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.TeamCity.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.TeamCity.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.TeamCity.GetCurrentBranch(bool usingDynamicRepos) -> string? +override GitVersion.BuildAgents.TeamCity.PreventFetch() -> bool +override GitVersion.BuildAgents.TravisCi.CanApplyToCurrentContext() -> bool +override GitVersion.BuildAgents.TravisCi.EnvironmentVariable.get -> string! +override GitVersion.BuildAgents.TravisCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! +override GitVersion.BuildAgents.TravisCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! +override GitVersion.BuildAgents.TravisCi.PreventFetch() -> bool diff --git a/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs b/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs index 14fc030a1b..4ae330abe0 100644 --- a/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs +++ b/src/GitVersion.Core.Tests/Core/GitVersionExecutorTests.cs @@ -1,4 +1,3 @@ -using GitVersion.BuildAgents; using GitVersion.Configuration; using GitVersion.Core.Tests.Helpers; using GitVersion.Helpers; @@ -14,6 +13,7 @@ namespace GitVersion.Core.Tests; [Parallelizable(ParallelScope.None)] public class GitVersionExecutorTests : TestBase { + private const string AzurePipelines = "TF_BUILD"; private IFileSystem fileSystem; private ILog log; private IGitVersionCache gitVersionCache; @@ -34,7 +34,7 @@ public void CacheKeySameAfterReNormalizing() }; var environment = new TestEnvironment(); - environment.SetEnvironmentVariable(AzurePipelines.EnvironmentVariableName, "true"); + environment.SetEnvironmentVariable(AzurePipelines, "true"); this.sp = GetServiceProvider(gitVersionOptions, environment: environment); @@ -514,7 +514,7 @@ public void CalculateVersionVariables_TwoBranchHasSameCommitHeadDetachedAndNotTa var gitVersionOptions = new GitVersionOptions { WorkingDirectory = worktreeFixture.RepositoryPath }; var environment = new TestEnvironment(); - environment.SetEnvironmentVariable(AzurePipelines.EnvironmentVariableName, "true"); + environment.SetEnvironmentVariable(AzurePipelines, "true"); this.sp = GetServiceProvider(gitVersionOptions, environment: environment); var sut = sp.GetRequiredService(); @@ -541,7 +541,7 @@ public void CalculateVersionVariables_TwoBranchHasSameCommitHeadDetachedAndTagge var gitVersionOptions = new GitVersionOptions { WorkingDirectory = worktreeFixture.RepositoryPath }; var environment = new TestEnvironment(); - environment.SetEnvironmentVariable(AzurePipelines.EnvironmentVariableName, "true"); + environment.SetEnvironmentVariable(AzurePipelines, "true"); this.sp = GetServiceProvider(gitVersionOptions, environment: environment); var sut = sp.GetRequiredService(); diff --git a/src/GitVersion.Core.Tests/Extensions/GitToolsTestingExtensions.cs b/src/GitVersion.Core.Tests/Extensions/GitToolsTestingExtensions.cs index d8896395cc..3e19e55de3 100644 --- a/src/GitVersion.Core.Tests/Extensions/GitToolsTestingExtensions.cs +++ b/src/GitVersion.Core.Tests/Extensions/GitToolsTestingExtensions.cs @@ -1,4 +1,3 @@ -using GitVersion.BuildAgents; using GitVersion.Configuration; using GitVersion.Core.Tests.Helpers; using GitVersion.Extensions; @@ -130,7 +129,7 @@ public static void InitializeRepo(this RemoteRepositoryFixture fixture) var options = Options.Create(gitVersionOptions); var environment = new TestEnvironment(); - environment.SetEnvironmentVariable(AzurePipelines.EnvironmentVariableName, "true"); + environment.SetEnvironmentVariable("TF_BUILD", "true"); var serviceProvider = ConfigureServices(services => { diff --git a/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj b/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj index 8c35ea12b5..22b4818119 100644 --- a/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj +++ b/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj @@ -9,10 +9,11 @@ - - + + + @@ -20,5 +21,7 @@ - + + + diff --git a/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs b/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs index 5784f11a65..a33dc9d46d 100644 --- a/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs +++ b/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs @@ -1,3 +1,4 @@ +using GitVersion.BuildAgents; using GitVersion.Extensions; using GitVersion.Logging; using Microsoft.Extensions.DependencyInjection; @@ -9,6 +10,7 @@ public class GitVersionCoreTestModule : IGitVersionModule public void RegisterTypes(IServiceCollection services) { services.AddModule(new GitVersionLibGit2SharpModule()); + services.AddModule(new GitVersionBuildAgentsModule()); services.AddModule(new GitVersionCoreModule()); services.AddSingleton(); diff --git a/src/GitVersion.Core.Tests/Helpers/TestFileSystem.cs b/src/GitVersion.Core.Tests/Helpers/TestFileSystem.cs index 5c972f4a20..28ad872cf2 100644 --- a/src/GitVersion.Core.Tests/Helpers/TestFileSystem.cs +++ b/src/GitVersion.Core.Tests/Helpers/TestFileSystem.cs @@ -56,8 +56,7 @@ public string ReadAllText(string path) public void WriteAllText(string? file, string fileContents) { var path = Path.GetFullPath(file ?? throw new ArgumentNullException(nameof(file))); - var encoding = this.fileSystem.ContainsKey(path) - ? EncodingHelper.DetectEncoding(this.fileSystem[path]) ?? Encoding.UTF8 + var encoding = fileSystem.TryGetValue(path, out var value) ? EncodingHelper.DetectEncoding(value) ?? Encoding.UTF8 : Encoding.UTF8; WriteAllText(path, fileContents, encoding); } diff --git a/src/GitVersion.Core.Tests/IntegrationTests/RemoteRepositoryScenarios.cs b/src/GitVersion.Core.Tests/IntegrationTests/RemoteRepositoryScenarios.cs index 832109fa10..13043c788c 100644 --- a/src/GitVersion.Core.Tests/IntegrationTests/RemoteRepositoryScenarios.cs +++ b/src/GitVersion.Core.Tests/IntegrationTests/RemoteRepositoryScenarios.cs @@ -1,4 +1,3 @@ -using GitVersion.BuildAgents; using GitVersion.Core.Tests.Helpers; using LibGit2Sharp; using Microsoft.Extensions.DependencyInjection; @@ -55,7 +54,7 @@ public void GivenARemoteGitRepositoryWithCommitsAndBranchesThenClonedLocalShould }; var options = Options.Create(gitVersionOptions); var environment = new TestEnvironment(); - environment.SetEnvironmentVariable(AzurePipelines.EnvironmentVariableName, "true"); + environment.SetEnvironmentVariable("TF_BUILD", "true"); var sp = ConfigureServices(services => { diff --git a/src/GitVersion.Core/BuildAgents/BuildAgentBase.cs b/src/GitVersion.Core/BuildAgents/BuildAgentBase.cs index f47c63ce36..06aeba8852 100644 --- a/src/GitVersion.Core/BuildAgents/BuildAgentBase.cs +++ b/src/GitVersion.Core/BuildAgents/BuildAgentBase.cs @@ -16,6 +16,7 @@ protected BuildAgentBase(IEnvironment environment, ILog log) } protected abstract string EnvironmentVariable { get; } + public virtual bool IsDefault => false; public abstract string? GenerateSetVersionMessage(VersionVariables variables); public abstract string[] GenerateSetParameterMessage(string name, string value); diff --git a/src/GitVersion.Core/BuildAgents/BuildAgentResolver.cs b/src/GitVersion.Core/BuildAgents/BuildAgentResolver.cs index 9b90e7076c..b86ac6642e 100644 --- a/src/GitVersion.Core/BuildAgents/BuildAgentResolver.cs +++ b/src/GitVersion.Core/BuildAgents/BuildAgentResolver.cs @@ -17,11 +17,10 @@ public BuildAgentResolver(IEnumerable buildAgents, ILog log) private ICurrentBuildAgent ResolveInternal() { - ICurrentBuildAgent instance = (ICurrentBuildAgent)this.buildAgents.Single(x => x is LocalBuild); + ICurrentBuildAgent instance = (ICurrentBuildAgent)this.buildAgents.Single(x => x.IsDefault); - foreach (var buildAgent in this.buildAgents.Where(x => x is not LocalBuild)) + foreach (var buildAgent in this.buildAgents.Where(x => x.IsDefault == false)) { - var agentName = buildAgent.GetType().Name; try { if (!buildAgent.CanApplyToCurrentContext()) continue; @@ -29,6 +28,7 @@ private ICurrentBuildAgent ResolveInternal() } catch (Exception ex) { + var agentName = buildAgent.GetType().Name; this.log.Warning($"Failed to check build agent '{agentName}': {ex.Message}"); } } diff --git a/src/GitVersion.Core/BuildAgents/Abstractions/IBuildAgent.cs b/src/GitVersion.Core/BuildAgents/IBuildAgent.cs similarity index 93% rename from src/GitVersion.Core/BuildAgents/Abstractions/IBuildAgent.cs rename to src/GitVersion.Core/BuildAgents/IBuildAgent.cs index 6a81aaafe2..ffb489f7a5 100644 --- a/src/GitVersion.Core/BuildAgents/Abstractions/IBuildAgent.cs +++ b/src/GitVersion.Core/BuildAgents/IBuildAgent.cs @@ -4,6 +4,8 @@ namespace GitVersion.BuildAgents; public interface IBuildAgent { + bool IsDefault { get; } + bool CanApplyToCurrentContext(); void WriteIntegration(Action writer, VersionVariables variables, bool updateBuildNumber = true); string? GetCurrentBranch(bool usingDynamicRepos); diff --git a/src/GitVersion.Core/BuildAgents/Abstractions/IBuildAgentResolver.cs b/src/GitVersion.Core/BuildAgents/IBuildAgentResolver.cs similarity index 100% rename from src/GitVersion.Core/BuildAgents/Abstractions/IBuildAgentResolver.cs rename to src/GitVersion.Core/BuildAgents/IBuildAgentResolver.cs diff --git a/src/GitVersion.Core/BuildAgents/LocalBuild.cs b/src/GitVersion.Core/BuildAgents/LocalBuild.cs index 65f19663be..1f8a4c156e 100644 --- a/src/GitVersion.Core/BuildAgents/LocalBuild.cs +++ b/src/GitVersion.Core/BuildAgents/LocalBuild.cs @@ -8,6 +8,9 @@ public class LocalBuild : BuildAgentBase public LocalBuild(IEnvironment environment, ILog log) : base(environment, log) { } + + public override bool IsDefault => true; + protected override string EnvironmentVariable => string.Empty; public override bool CanApplyToCurrentContext() => true; public override string? GenerateSetVersionMessage(VersionVariables variables) => null; diff --git a/src/GitVersion.Core/GitVersionCommonModule.cs b/src/GitVersion.Core/GitVersionCommonModule.cs new file mode 100644 index 0000000000..749b722fd4 --- /dev/null +++ b/src/GitVersion.Core/GitVersionCommonModule.cs @@ -0,0 +1,22 @@ +using GitVersion.BuildAgents; +using GitVersion.Logging; +using Microsoft.Extensions.DependencyInjection; + +namespace GitVersion; + +public class GitVersionCommonModule : IGitVersionModule +{ + public void RegisterTypes(IServiceCollection services) + { + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + services.AddSingleton(); + + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(sp => sp.GetRequiredService().Resolve()); + } +} diff --git a/src/GitVersion.Core/GitVersionCoreModule.cs b/src/GitVersion.Core/GitVersionCoreModule.cs index 87c379cf3e..9e9273cf46 100644 --- a/src/GitVersion.Core/GitVersionCoreModule.cs +++ b/src/GitVersion.Core/GitVersionCoreModule.cs @@ -1,8 +1,6 @@ -using GitVersion.BuildAgents; using GitVersion.Common; using GitVersion.Configuration; using GitVersion.Extensions; -using GitVersion.Logging; using GitVersion.VersionCalculation; using GitVersion.VersionCalculation.Caching; using GitVersion.VersionConverters; @@ -15,16 +13,10 @@ public class GitVersionCoreModule : IGitVersionModule { public void RegisterTypes(IServiceCollection services) { - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); - services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); @@ -37,7 +29,7 @@ public void RegisterTypes(IServiceCollection services) return new Lazy(() => contextFactory.Create(options.Value)); }); - services.AddModule(new BuildServerModule()); + services.AddModule(new GitVersionCommonModule()); services.AddModule(new ConfigurationModule()); services.AddModule(new VersionCalculationModule()); services.AddModule(new VersionConvertersModule()); diff --git a/src/GitVersion.Core/PublicAPI.Unshipped.txt b/src/GitVersion.Core/PublicAPI.Unshipped.txt index 808540ecb8..05202fd0f5 100644 --- a/src/GitVersion.Core/PublicAPI.Unshipped.txt +++ b/src/GitVersion.Core/PublicAPI.Unshipped.txt @@ -1,55 +1,4 @@ #nullable enable -abstract GitVersion.BuildAgents.BuildAgentBase.EnvironmentVariable.get -> string! -abstract GitVersion.BuildAgents.BuildAgentBase.GenerateSetParameterMessage(string! name, string! value) -> string![]! -abstract GitVersion.BuildAgents.BuildAgentBase.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string? -abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.DefaultResult.get -> string? -abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.GetPrompt(GitVersion.Configuration.GitVersionConfiguration! configuration, string! workingDirectory) -> string! -abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.HandleResult(string? result, System.Collections.Generic.Queue! steps, GitVersion.Configuration.GitVersionConfiguration! configuration, string! workingDirectory) -> GitVersion.Configuration.Init.StepResult! -abstract GitVersion.GitVersionModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void -abstract GitVersion.VersionCalculation.VersionStrategyBase.GetBaseVersions(GitVersion.Configuration.EffectiveBranchConfiguration! configuration) -> System.Collections.Generic.IEnumerable! -const GitVersion.BuildAgents.AppVeyor.EnvironmentVariableName = "APPVEYOR" -> string! -const GitVersion.BuildAgents.AzurePipelines.EnvironmentVariableName = "TF_BUILD" -> string! -const GitVersion.BuildAgents.BitBucketPipelines.BranchEnvironmentVariableName = "BITBUCKET_BRANCH" -> string! -const GitVersion.BuildAgents.BitBucketPipelines.EnvironmentVariableName = "BITBUCKET_WORKSPACE" -> string! -const GitVersion.BuildAgents.BitBucketPipelines.PullRequestEnvironmentVariableName = "BITBUCKET_PR_ID" -> string! -const GitVersion.BuildAgents.BitBucketPipelines.TagEnvironmentVariableName = "BITBUCKET_TAG" -> string! -const GitVersion.BuildAgents.BuildKite.EnvironmentVariableName = "BUILDKITE" -> string! -const GitVersion.BuildAgents.CodeBuild.SourceVersionEnvironmentVariableName = "CODEBUILD_SOURCE_VERSION" -> string! -const GitVersion.BuildAgents.CodeBuild.WebHookEnvironmentVariableName = "CODEBUILD_WEBHOOK_HEAD_REF" -> string! -const GitVersion.BuildAgents.ContinuaCi.EnvironmentVariableName = "ContinuaCI.Version" -> string! -const GitVersion.BuildAgents.Drone.EnvironmentVariableName = "DRONE" -> string! -const GitVersion.BuildAgents.EnvRun.EnvironmentVariableName = "ENVRUN_DATABASE" -> string! -const GitVersion.BuildAgents.GitHubActions.EnvironmentVariableName = "GITHUB_ACTIONS" -> string! -const GitVersion.BuildAgents.GitHubActions.GitHubSetEnvTempFileEnvironmentVariableName = "GITHUB_ENV" -> string! -const GitVersion.BuildAgents.GitLabCi.EnvironmentVariableName = "GITLAB_CI" -> string! -const GitVersion.BuildAgents.Jenkins.EnvironmentVariableName = "JENKINS_URL" -> string! -const GitVersion.BuildAgents.MyGet.EnvironmentVariableName = "BuildRunner" -> string! -const GitVersion.BuildAgents.SpaceAutomation.EnvironmentVariableName = "JB_SPACE_PROJECT_KEY" -> string! -const GitVersion.BuildAgents.TeamCity.EnvironmentVariableName = "TEAMCITY_VERSION" -> string! -const GitVersion.BuildAgents.TravisCi.EnvironmentVariableName = "TRAVIS" -> string! -const GitVersion.Configuration.ConfigurationFileLocator.DefaultFileName = "GitVersion.yml" -> string! -const GitVersion.Configuration.GitVersionConfiguration.DefaultLabelPrefix = "[vV]?" -> string! -const GitVersion.Configuration.GitVersionConfiguration.DevelopBranchKey = "develop" -> string! -const GitVersion.Configuration.GitVersionConfiguration.DevelopBranchRegex = "^dev(elop)?(ment)?$" -> string! -const GitVersion.Configuration.GitVersionConfiguration.FeatureBranchKey = "feature" -> string! -const GitVersion.Configuration.GitVersionConfiguration.FeatureBranchRegex = "^features?[/-]" -> string! -const GitVersion.Configuration.GitVersionConfiguration.HotfixBranchKey = "hotfix" -> string! -const GitVersion.Configuration.GitVersionConfiguration.HotfixBranchRegex = "^hotfix(es)?[/-]" -> string! -const GitVersion.Configuration.GitVersionConfiguration.MainBranchKey = "main" -> string! -const GitVersion.Configuration.GitVersionConfiguration.MainBranchRegex = "^master$|^main$" -> string! -const GitVersion.Configuration.GitVersionConfiguration.MasterBranchKey = "master" -> string! -const GitVersion.Configuration.GitVersionConfiguration.PullRequestBranchKey = "pull-request" -> string! -const GitVersion.Configuration.GitVersionConfiguration.PullRequestRegex = "^(pull|pull\\-requests|pr)[/-]" -> string! -const GitVersion.Configuration.GitVersionConfiguration.ReleaseBranchKey = "release" -> string! -const GitVersion.Configuration.GitVersionConfiguration.ReleaseBranchRegex = "^releases?[/-]" -> string! -const GitVersion.Configuration.GitVersionConfiguration.SupportBranchKey = "support" -> string! -const GitVersion.Configuration.GitVersionConfiguration.SupportBranchRegex = "^support[/-]" -> string! -const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultMajorPattern = "\\+semver:\\s?(breaking|major)" -> string! -const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultMinorPattern = "\\+semver:\\s?(feature|minor)" -> string! -const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultNoBumpPattern = "\\+semver:\\s?(none|skip)" -> string! -const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultPatchPattern = "\\+semver:\\s?(fix|patch)" -> string! -const GitVersion.VersionCalculation.MergeMessageVersionStrategy.MergeMessageStrategyPrefix = "Merge message" -> string! -const GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.WixVersionFileName = "GitVersion_WixVersion.wxi" -> string! GitVersion.AssemblyInfoData GitVersion.AssemblyInfoData.AssemblyInfoData() -> void GitVersion.AssemblyInfoData.EnsureAssemblyInfo -> bool @@ -72,13 +21,6 @@ GitVersion.BranchCommit.Commit.get -> GitVersion.ICommit! GitVersion.BranchCommit.Equals(GitVersion.BranchCommit? other) -> bool GitVersion.BugException GitVersion.BugException.BugException(string! message) -> void -GitVersion.BuildAgents.AppVeyor -GitVersion.BuildAgents.AppVeyor.AppVeyor(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.AzurePipelines -GitVersion.BuildAgents.AzurePipelines.AzurePipelines(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.BitBucketPipelines -GitVersion.BuildAgents.BitBucketPipelines.BitBucketPipelines(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.BitBucketPipelines.WithPropertyFile(string! propertiesFileName) -> void GitVersion.BuildAgents.BuildAgentBase GitVersion.BuildAgents.BuildAgentBase.BuildAgentBase(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void GitVersion.BuildAgents.BuildAgentBase.Environment.get -> GitVersion.IEnvironment! @@ -86,46 +28,18 @@ GitVersion.BuildAgents.BuildAgentBase.GenerateBuildLogOutput(GitVersion.OutputVa GitVersion.BuildAgents.BuildAgentResolver GitVersion.BuildAgents.BuildAgentResolver.BuildAgentResolver(System.Collections.Generic.IEnumerable! buildAgents, GitVersion.Logging.ILog! log) -> void GitVersion.BuildAgents.BuildAgentResolver.Resolve() -> GitVersion.BuildAgents.ICurrentBuildAgent! -GitVersion.BuildAgents.BuildKite -GitVersion.BuildAgents.BuildKite.BuildKite(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.BuildServerModule -GitVersion.BuildAgents.BuildServerModule.BuildServerModule() -> void -GitVersion.BuildAgents.CodeBuild -GitVersion.BuildAgents.CodeBuild.CodeBuild(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.CodeBuild.WithPropertyFile(string! propertiesFileName) -> void -GitVersion.BuildAgents.ContinuaCi -GitVersion.BuildAgents.ContinuaCi.ContinuaCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.Drone -GitVersion.BuildAgents.Drone.Drone(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.EnvRun -GitVersion.BuildAgents.EnvRun.EnvRun(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.GitHubActions -GitVersion.BuildAgents.GitHubActions.GitHubActions(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.GitLabCi -GitVersion.BuildAgents.GitLabCi.GitLabCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.GitLabCi.WithPropertyFile(string! propertiesFileName) -> void GitVersion.BuildAgents.IBuildAgent GitVersion.BuildAgents.IBuildAgent.CanApplyToCurrentContext() -> bool GitVersion.BuildAgents.IBuildAgent.GetCurrentBranch(bool usingDynamicRepos) -> string? +GitVersion.BuildAgents.IBuildAgent.IsDefault.get -> bool GitVersion.BuildAgents.IBuildAgent.PreventFetch() -> bool GitVersion.BuildAgents.IBuildAgent.ShouldCleanUpRemotes() -> bool GitVersion.BuildAgents.IBuildAgent.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void GitVersion.BuildAgents.IBuildAgentResolver GitVersion.BuildAgents.IBuildAgentResolver.Resolve() -> GitVersion.BuildAgents.ICurrentBuildAgent! GitVersion.BuildAgents.ICurrentBuildAgent -GitVersion.BuildAgents.Jenkins -GitVersion.BuildAgents.Jenkins.Jenkins(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.Jenkins.WithPropertyFile(string! propertiesFileName) -> void GitVersion.BuildAgents.LocalBuild GitVersion.BuildAgents.LocalBuild.LocalBuild(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.MyGet -GitVersion.BuildAgents.MyGet.MyGet(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.SpaceAutomation -GitVersion.BuildAgents.SpaceAutomation.SpaceAutomation(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.TeamCity -GitVersion.BuildAgents.TeamCity.TeamCity(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void -GitVersion.BuildAgents.TravisCi -GitVersion.BuildAgents.TravisCi.TravisCi(GitVersion.IEnvironment! environment, GitVersion.Logging.ILog! log) -> void GitVersion.CommitFilter GitVersion.CommitFilter.CommitFilter() -> void GitVersion.CommitFilter.ExcludeReachableFrom.get -> object? @@ -144,9 +58,9 @@ GitVersion.CommitSortStrategies.Topological = 1 -> GitVersion.CommitSortStrategi GitVersion.Common.IRepositoryStore GitVersion.Common.IRepositoryStore.ExcludingBranches(System.Collections.Generic.IEnumerable! branchesToExclude) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.FindBranch(string? branchName) -> GitVersion.IBranch? -GitVersion.Common.IRepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! -GitVersion.Common.IRepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.FindCommitBranchWasBranchedFrom(GitVersion.IBranch? branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> GitVersion.BranchCommit +GitVersion.Common.IRepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! +GitVersion.Common.IRepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.FindMainBranch(GitVersion.Configuration.GitVersionConfiguration! configuration) -> GitVersion.IBranch? GitVersion.Common.IRepositoryStore.FindMergeBase(GitVersion.IBranch? branch, GitVersion.IBranch? otherBranch) -> GitVersion.ICommit? GitVersion.Common.IRepositoryStore.FindMergeBase(GitVersion.ICommit! commit, GitVersion.ICommit! mainlineTip) -> GitVersion.ICommit? @@ -159,8 +73,8 @@ GitVersion.Common.IRepositoryStore.GetMainlineCommitLog(GitVersion.ICommit? base GitVersion.Common.IRepositoryStore.GetMergeBaseCommits(GitVersion.ICommit? mergeCommit, GitVersion.ICommit? mergedHead, GitVersion.ICommit? findMergeBase) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetNumberOfUncommittedChanges() -> int GitVersion.Common.IRepositoryStore.GetReleaseBranches(System.Collections.Generic.IEnumerable>! releaseBranchConfig) -> System.Collections.Generic.IEnumerable! -GitVersion.Common.IRepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! +GitVersion.Common.IRepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.GetTargetBranch(string? targetBranchName) -> GitVersion.IBranch! GitVersion.Common.IRepositoryStore.GetValidVersionTags(string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat, System.DateTimeOffset? olderThan = null) -> System.Collections.Generic.IEnumerable<(GitVersion.ITag! Tag, GitVersion.SemanticVersion! Semver, GitVersion.ICommit! Commit)>! GitVersion.Common.IRepositoryStore.GetVersionTagsOnBranch(GitVersion.IBranch! branch, string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat) -> System.Collections.Generic.IEnumerable! @@ -253,8 +167,8 @@ GitVersion.Configuration.EffectiveConfiguration.IsMainline.get -> bool GitVersion.Configuration.EffectiveConfiguration.IsReleaseBranch.get -> bool GitVersion.Configuration.EffectiveConfiguration.Label.get -> string! GitVersion.Configuration.EffectiveConfiguration.LabelNumberPattern.get -> string? -GitVersion.Configuration.EffectiveConfiguration.LabelPrefix.get -> string? GitVersion.Configuration.EffectiveConfiguration.LabelPreReleaseWeight.get -> int +GitVersion.Configuration.EffectiveConfiguration.LabelPrefix.get -> string? GitVersion.Configuration.EffectiveConfiguration.MajorVersionBumpMessage.get -> string? GitVersion.Configuration.EffectiveConfiguration.MinorVersionBumpMessage.get -> string? GitVersion.Configuration.EffectiveConfiguration.NextVersion.get -> string? @@ -293,10 +207,10 @@ GitVersion.Configuration.GitVersionConfiguration.Ignore.get -> GitVersion.Config GitVersion.Configuration.GitVersionConfiguration.Ignore.set -> void GitVersion.Configuration.GitVersionConfiguration.Increment.get -> GitVersion.IncrementStrategy? GitVersion.Configuration.GitVersionConfiguration.Increment.set -> void -GitVersion.Configuration.GitVersionConfiguration.LabelPrefix.get -> string? -GitVersion.Configuration.GitVersionConfiguration.LabelPrefix.set -> void GitVersion.Configuration.GitVersionConfiguration.LabelPreReleaseWeight.get -> int? GitVersion.Configuration.GitVersionConfiguration.LabelPreReleaseWeight.set -> void +GitVersion.Configuration.GitVersionConfiguration.LabelPrefix.get -> string? +GitVersion.Configuration.GitVersionConfiguration.LabelPrefix.set -> void GitVersion.Configuration.GitVersionConfiguration.MajorVersionBumpMessage.get -> string? GitVersion.Configuration.GitVersionConfiguration.MajorVersionBumpMessage.set -> void GitVersion.Configuration.GitVersionConfiguration.MergeMessageFormats.get -> System.Collections.Generic.Dictionary! @@ -442,6 +356,9 @@ GitVersion.GitToolsException.GitToolsException(string! messageFormat, params obj GitVersion.GitVersionCalculateTool GitVersion.GitVersionCalculateTool.CalculateVersionVariables() -> GitVersion.OutputVariables.VersionVariables! GitVersion.GitVersionCalculateTool.GitVersionCalculateTool(GitVersion.Logging.ILog! log, GitVersion.VersionCalculation.INextVersionCalculator! nextVersionCalculator, GitVersion.VersionCalculation.IVariableProvider! variableProvider, GitVersion.IGitPreparer! gitPreparer, GitVersion.VersionCalculation.Caching.IGitVersionCache! gitVersionCache, GitVersion.VersionCalculation.Caching.IGitVersionCacheKeyFactory! cacheKeyFactory, Microsoft.Extensions.Options.IOptions! options, System.Lazy! versionContext) -> void +GitVersion.GitVersionCommonModule +GitVersion.GitVersionCommonModule.GitVersionCommonModule() -> void +GitVersion.GitVersionCommonModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void GitVersion.GitVersionContext GitVersion.GitVersionContext.Configuration.get -> GitVersion.Configuration.GitVersionConfiguration! GitVersion.GitVersionContext.CurrentBranch.get -> GitVersion.IBranch! @@ -513,8 +430,8 @@ GitVersion.IBranch.IsTracking.get -> bool GitVersion.IBranch.Tip.get -> GitVersion.ICommit? GitVersion.IBranchCollection GitVersion.IBranchCollection.ExcludeBranches(System.Collections.Generic.IEnumerable! branchesToExclude) -> System.Collections.Generic.IEnumerable! -GitVersion.IBranchCollection.this[string! name].get -> GitVersion.IBranch? GitVersion.IBranchCollection.UpdateTrackedBranch(GitVersion.IBranch! branch, string! remoteTrackingReferenceName) -> void +GitVersion.IBranchCollection.this[string! name].get -> GitVersion.IBranch? GitVersion.ICommit GitVersion.ICommit.Message.get -> string! GitVersion.ICommit.Parents.get -> System.Collections.Generic.IEnumerable! @@ -581,16 +498,15 @@ GitVersion.IMutatingGitRepository.CreateBranchForPullRequestBranch(GitVersion.Au GitVersion.IMutatingGitRepository.Fetch(string! remote, System.Collections.Generic.IEnumerable! refSpecs, GitVersion.AuthenticationInfo! auth, string? logMessage) -> void GitVersion.INamedReference GitVersion.INamedReference.Name.get -> GitVersion.ReferenceName! -GitVersion.IncrementStrategy -GitVersion.IncrementStrategy.Inherit = 4 -> GitVersion.IncrementStrategy -GitVersion.IncrementStrategy.Major = 1 -> GitVersion.IncrementStrategy -GitVersion.IncrementStrategy.Minor = 2 -> GitVersion.IncrementStrategy -GitVersion.IncrementStrategy.None = 0 -> GitVersion.IncrementStrategy -GitVersion.IncrementStrategy.Patch = 3 -> GitVersion.IncrementStrategy -GitVersion.IncrementStrategyExtensions GitVersion.IObjectId GitVersion.IObjectId.Sha.get -> string! GitVersion.IObjectId.ToString(int prefixLength) -> string! +GitVersion.IRefSpec +GitVersion.IRefSpec.Destination.get -> string! +GitVersion.IRefSpec.Direction.get -> GitVersion.RefSpecDirection +GitVersion.IRefSpec.Source.get -> string! +GitVersion.IRefSpec.Specification.get -> string! +GitVersion.IRefSpecCollection GitVersion.IReference GitVersion.IReference.ReferenceTargetId.get -> GitVersion.IObjectId? GitVersion.IReference.TargetIdentifier.get -> string! @@ -598,15 +514,9 @@ GitVersion.IReferenceCollection GitVersion.IReferenceCollection.Add(string! name, string! canonicalRefNameOrObject, bool allowOverwrite = false) -> void GitVersion.IReferenceCollection.FromGlob(string! prefix) -> System.Collections.Generic.IEnumerable! GitVersion.IReferenceCollection.Head.get -> GitVersion.IReference? +GitVersion.IReferenceCollection.UpdateTarget(GitVersion.IReference! directRef, GitVersion.IObjectId! targetId) -> void GitVersion.IReferenceCollection.this[GitVersion.ReferenceName! referenceName].get -> GitVersion.IReference? GitVersion.IReferenceCollection.this[string! name].get -> GitVersion.IReference? -GitVersion.IReferenceCollection.UpdateTarget(GitVersion.IReference! directRef, GitVersion.IObjectId! targetId) -> void -GitVersion.IRefSpec -GitVersion.IRefSpec.Destination.get -> string! -GitVersion.IRefSpec.Direction.get -> GitVersion.RefSpecDirection -GitVersion.IRefSpec.Source.get -> string! -GitVersion.IRefSpec.Specification.get -> string! -GitVersion.IRefSpecCollection GitVersion.IRemote GitVersion.IRemote.FetchRefSpecs.get -> System.Collections.Generic.IEnumerable! GitVersion.IRemote.Name.get -> string! @@ -615,12 +525,19 @@ GitVersion.IRemote.RefSpecs.get -> System.Collections.Generic.IEnumerable string! GitVersion.IRemoteCollection GitVersion.IRemoteCollection.Remove(string! remoteName) -> void -GitVersion.IRemoteCollection.this[string! name].get -> GitVersion.IRemote? GitVersion.IRemoteCollection.Update(string! remoteName, string! refSpec) -> void +GitVersion.IRemoteCollection.this[string! name].get -> GitVersion.IRemote? GitVersion.ITag GitVersion.ITag.PeeledTargetCommit() -> GitVersion.ICommit? GitVersion.ITag.TargetSha.get -> string? GitVersion.ITagCollection +GitVersion.IncrementStrategy +GitVersion.IncrementStrategy.Inherit = 4 -> GitVersion.IncrementStrategy +GitVersion.IncrementStrategy.Major = 1 -> GitVersion.IncrementStrategy +GitVersion.IncrementStrategy.Minor = 2 -> GitVersion.IncrementStrategy +GitVersion.IncrementStrategy.None = 0 -> GitVersion.IncrementStrategy +GitVersion.IncrementStrategy.Patch = 3 -> GitVersion.IncrementStrategy +GitVersion.IncrementStrategyExtensions GitVersion.LockedFileException GitVersion.LockedFileException.LockedFileException(System.Exception! inner) -> void GitVersion.Logging.ConsoleAdapter @@ -687,8 +604,8 @@ GitVersion.Logging.Verbosity.Verbose = 3 -> GitVersion.Logging.Verbosity GitVersion.MergeMessage GitVersion.MergeMessage.FormatName.get -> string? GitVersion.MergeMessage.IsMergedPullRequest.get -> bool -GitVersion.MergeMessage.MergedBranch.get -> string! GitVersion.MergeMessage.MergeMessage(string? mergeMessage, GitVersion.Configuration.GitVersionConfiguration! configuration) -> void +GitVersion.MergeMessage.MergedBranch.get -> string! GitVersion.MergeMessage.PullRequestNumber.get -> int? GitVersion.MergeMessage.TargetBranch.get -> string? GitVersion.MergeMessage.Version.get -> GitVersion.SemanticVersion? @@ -723,12 +640,12 @@ GitVersion.OutputVariables.VersionVariables.PreReleaseTagWithDash.get -> string? GitVersion.OutputVariables.VersionVariables.SemVer.get -> string! GitVersion.OutputVariables.VersionVariables.Sha.get -> string? GitVersion.OutputVariables.VersionVariables.ShortSha.get -> string? -GitVersion.OutputVariables.VersionVariables.this[string! variable].get -> string? GitVersion.OutputVariables.VersionVariables.TryGetValue(string! variable, out string? variableValue) -> bool GitVersion.OutputVariables.VersionVariables.UncommittedChanges.get -> string? GitVersion.OutputVariables.VersionVariables.VersionSourceSha.get -> string? GitVersion.OutputVariables.VersionVariables.VersionVariables(string! major, string! minor, string! patch, string? buildMetaData, string? fullBuildMetaData, string? branchName, string? escapedBranchName, string? sha, string? shortSha, string! majorMinorPatch, string! semVer, string! fullSemVer, string? assemblySemVer, string? assemblySemFileVer, string? preReleaseTag, string? preReleaseTagWithDash, string? preReleaseLabel, string? preReleaseLabelWithDash, string? preReleaseNumber, string! weightedPreReleaseNumber, string? informationalVersion, string? commitDate, string? versionSourceSha, string? commitsSinceVersionSource, string? uncommittedChanges) -> void GitVersion.OutputVariables.VersionVariables.WeightedPreReleaseNumber.get -> string! +GitVersion.OutputVariables.VersionVariables.this[string! variable].get -> string? GitVersion.OutputVariables.VersionVariablesJsonModel GitVersion.OutputVariables.VersionVariablesJsonModel.AssemblySemFileVer.get -> string? GitVersion.OutputVariables.VersionVariablesJsonModel.AssemblySemFileVer.set -> void @@ -785,6 +702,9 @@ GitVersion.OutputVariables.VersionVariablesJsonNumberConverter GitVersion.OutputVariables.VersionVariablesJsonNumberConverter.VersionVariablesJsonNumberConverter() -> void GitVersion.OutputVariables.VersionVariablesJsonStringConverter GitVersion.OutputVariables.VersionVariablesJsonStringConverter.VersionVariablesJsonStringConverter() -> void +GitVersion.RefSpecDirection +GitVersion.RefSpecDirection.Fetch = 0 -> GitVersion.RefSpecDirection +GitVersion.RefSpecDirection.Push = 1 -> GitVersion.RefSpecDirection GitVersion.ReferenceName GitVersion.ReferenceName.Canonical.get -> string! GitVersion.ReferenceName.CompareTo(GitVersion.ReferenceName? other) -> int @@ -797,9 +717,6 @@ GitVersion.ReferenceName.IsRemoteBranch.get -> bool GitVersion.ReferenceName.IsTag.get -> bool GitVersion.ReferenceName.ReferenceName(string! canonical) -> void GitVersion.ReferenceName.WithoutRemote.get -> string! -GitVersion.RefSpecDirection -GitVersion.RefSpecDirection.Fetch = 0 -> GitVersion.RefSpecDirection -GitVersion.RefSpecDirection.Push = 1 -> GitVersion.RefSpecDirection GitVersion.RepositoryInfo GitVersion.RepositoryInfo.ClonePath -> string? GitVersion.RepositoryInfo.CommitId -> string? @@ -809,9 +726,9 @@ GitVersion.RepositoryInfo.TargetUrl -> string? GitVersion.RepositoryStore GitVersion.RepositoryStore.ExcludingBranches(System.Collections.Generic.IEnumerable! branchesToExclude) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.FindBranch(string? branchName) -> GitVersion.IBranch? -GitVersion.RepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! -GitVersion.RepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.FindCommitBranchWasBranchedFrom(GitVersion.IBranch? branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> GitVersion.BranchCommit +GitVersion.RepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! +GitVersion.RepositoryStore.FindCommitBranchesWasBranchedFrom(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.FindMainBranch(GitVersion.Configuration.GitVersionConfiguration! configuration) -> GitVersion.IBranch? GitVersion.RepositoryStore.FindMergeBase(GitVersion.IBranch? branch, GitVersion.IBranch? otherBranch) -> GitVersion.ICommit? GitVersion.RepositoryStore.FindMergeBase(GitVersion.ICommit! commit, GitVersion.ICommit! mainlineTip) -> GitVersion.ICommit? @@ -824,8 +741,8 @@ GitVersion.RepositoryStore.GetMainlineCommitLog(GitVersion.ICommit? baseVersionS GitVersion.RepositoryStore.GetMergeBaseCommits(GitVersion.ICommit? mergeCommit, GitVersion.ICommit? mergedHead, GitVersion.ICommit? findMergeBase) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.GetNumberOfUncommittedChanges() -> int GitVersion.RepositoryStore.GetReleaseBranches(System.Collections.Generic.IEnumerable>! releaseBranchConfig) -> System.Collections.Generic.IEnumerable! -GitVersion.RepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! excludedBranches) -> System.Collections.Generic.IEnumerable! +GitVersion.RepositoryStore.GetSourceBranches(GitVersion.IBranch! branch, GitVersion.Configuration.GitVersionConfiguration! configuration, params GitVersion.IBranch![]! excludedBranches) -> System.Collections.Generic.IEnumerable! GitVersion.RepositoryStore.GetTargetBranch(string? targetBranchName) -> GitVersion.IBranch! GitVersion.RepositoryStore.GetValidVersionTags(string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat, System.DateTimeOffset? olderThan = null) -> System.Collections.Generic.IEnumerable<(GitVersion.ITag! Tag, GitVersion.SemanticVersion! Semver, GitVersion.ICommit! Commit)>! GitVersion.RepositoryStore.GetVersionTagsOnBranch(GitVersion.IBranch! branch, string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat) -> System.Collections.Generic.IEnumerable! @@ -886,8 +803,8 @@ GitVersion.SemanticVersionFormatValues.PreReleaseLabelWithDash.get -> string? GitVersion.SemanticVersionFormatValues.PreReleaseNumber.get -> string? GitVersion.SemanticVersionFormatValues.PreReleaseTag.get -> string? GitVersion.SemanticVersionFormatValues.PreReleaseTagWithDash.get -> string? -GitVersion.SemanticVersionFormatValues.SemanticVersionFormatValues(GitVersion.SemanticVersion! semver, GitVersion.Configuration.EffectiveConfiguration! configuration) -> void GitVersion.SemanticVersionFormatValues.SemVer.get -> string! +GitVersion.SemanticVersionFormatValues.SemanticVersionFormatValues(GitVersion.SemanticVersion! semver, GitVersion.Configuration.EffectiveConfiguration! configuration) -> void GitVersion.SemanticVersionFormatValues.Sha.get -> string? GitVersion.SemanticVersionFormatValues.ShortSha.get -> string? GitVersion.SemanticVersionFormatValues.UncommittedChanges.get -> string! @@ -956,10 +873,6 @@ GitVersion.VersionCalculation.IIncrementStrategyFinder.GetIncrementForCommits(Gi GitVersion.VersionCalculation.IMainlineVersionCalculator GitVersion.VersionCalculation.IMainlineVersionCalculator.CreateVersionBuildMetaData(GitVersion.ICommit? baseVersionSource) -> GitVersion.SemanticVersionBuildMetaData! GitVersion.VersionCalculation.IMainlineVersionCalculator.FindMainlineModeVersion(GitVersion.VersionCalculation.BaseVersion! baseVersion) -> GitVersion.SemanticVersion! -GitVersion.VersionCalculation.IncrementStrategyFinder -GitVersion.VersionCalculation.IncrementStrategyFinder.DetermineIncrementedField(GitVersion.GitVersionContext! context, GitVersion.VersionCalculation.BaseVersion! baseVersion, GitVersion.Configuration.EffectiveConfiguration! configuration) -> GitVersion.VersionField -GitVersion.VersionCalculation.IncrementStrategyFinder.GetIncrementForCommits(GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! commits) -> GitVersion.VersionField? -GitVersion.VersionCalculation.IncrementStrategyFinder.IncrementStrategyFinder(GitVersion.IGitRepository! repository) -> void GitVersion.VersionCalculation.INextVersionCalculator GitVersion.VersionCalculation.INextVersionCalculator.FindVersion() -> GitVersion.VersionCalculation.NextVersion! GitVersion.VersionCalculation.IVariableProvider @@ -968,6 +881,10 @@ GitVersion.VersionCalculation.IVersionFilter GitVersion.VersionCalculation.IVersionFilter.Exclude(GitVersion.VersionCalculation.BaseVersion! version, out string? reason) -> bool GitVersion.VersionCalculation.IVersionStrategy GitVersion.VersionCalculation.IVersionStrategy.GetBaseVersions(GitVersion.Configuration.EffectiveBranchConfiguration! configuration) -> System.Collections.Generic.IEnumerable! +GitVersion.VersionCalculation.IncrementStrategyFinder +GitVersion.VersionCalculation.IncrementStrategyFinder.DetermineIncrementedField(GitVersion.GitVersionContext! context, GitVersion.VersionCalculation.BaseVersion! baseVersion, GitVersion.Configuration.EffectiveConfiguration! configuration) -> GitVersion.VersionField +GitVersion.VersionCalculation.IncrementStrategyFinder.GetIncrementForCommits(GitVersion.Configuration.GitVersionConfiguration! configuration, System.Collections.Generic.IEnumerable! commits) -> GitVersion.VersionField? +GitVersion.VersionCalculation.IncrementStrategyFinder.IncrementStrategyFinder(GitVersion.IGitRepository! repository) -> void GitVersion.VersionCalculation.MergeMessageVersionStrategy GitVersion.VersionCalculation.MergeMessageVersionStrategy.MergeMessageVersionStrategy(GitVersion.Logging.ILog! log, System.Lazy! versionContext, GitVersion.Common.IRepositoryStore! repositoryStore) -> void GitVersion.VersionCalculation.MinDateVersionFilter @@ -1004,15 +921,15 @@ GitVersion.VersionCalculation.VersionCalculationModule.RegisterTypes(Microsoft.E GitVersion.VersionCalculation.VersionCalculationModule.VersionCalculationModule() -> void GitVersion.VersionCalculation.VersionInBranchNameVersionStrategy GitVersion.VersionCalculation.VersionInBranchNameVersionStrategy.VersionInBranchNameVersionStrategy(GitVersion.Common.IRepositoryStore! repositoryStore, System.Lazy! versionContext) -> void -GitVersion.VersionCalculation.VersioningMode -GitVersion.VersionCalculation.VersioningMode.ContinuousDelivery = 0 -> GitVersion.VersionCalculation.VersioningMode -GitVersion.VersionCalculation.VersioningMode.ContinuousDeployment = 1 -> GitVersion.VersionCalculation.VersioningMode -GitVersion.VersionCalculation.VersioningMode.Mainline = 2 -> GitVersion.VersionCalculation.VersioningMode GitVersion.VersionCalculation.VersionStrategyBase GitVersion.VersionCalculation.VersionStrategyBase.Context.get -> GitVersion.GitVersionContext! GitVersion.VersionCalculation.VersionStrategyBase.VersionStrategyBase(System.Lazy! versionContext) -> void GitVersion.VersionCalculation.VersionStrategyModule GitVersion.VersionCalculation.VersionStrategyModule.VersionStrategyModule() -> void +GitVersion.VersionCalculation.VersioningMode +GitVersion.VersionCalculation.VersioningMode.ContinuousDelivery = 0 -> GitVersion.VersionCalculation.VersioningMode +GitVersion.VersionCalculation.VersioningMode.ContinuousDeployment = 1 -> GitVersion.VersionCalculation.VersioningMode +GitVersion.VersionCalculation.VersioningMode.Mainline = 2 -> GitVersion.VersionCalculation.VersioningMode GitVersion.VersionConverters.AssemblyInfo.AssemblyInfoContext GitVersion.VersionConverters.AssemblyInfo.AssemblyInfoContext.AssemblyInfoContext() -> void GitVersion.VersionConverters.AssemblyInfo.AssemblyInfoContext.AssemblyInfoContext(string! workingDirectory, bool ensureAssemblyInfo, params string![]! assemblyInfoFiles) -> void @@ -1068,7 +985,7 @@ GitVersion.VersionConverters.WixUpdater.WixVersionContext.WorkingDirectory.get - GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.Dispose() -> void GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.Execute(GitVersion.OutputVariables.VersionVariables! variables, GitVersion.VersionConverters.WixUpdater.WixVersionContext context) -> void -GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.WixVersionFileUpdater(GitVersion.IFileSystem! fileSystem, GitVersion.Logging.ILog! log) -> void +GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.WixVersionFileUpdater(GitVersion.Logging.ILog! log, GitVersion.IFileSystem! fileSystem) -> void GitVersion.VersionField GitVersion.VersionField.Major = 3 -> GitVersion.VersionField GitVersion.VersionField.Minor = 2 -> GitVersion.VersionField @@ -1079,93 +996,44 @@ GitVersion.WarningException.WarningException(string! message) -> void GitVersion.WixInfo GitVersion.WixInfo.ShouldUpdate -> bool GitVersion.WixInfo.WixInfo() -> void +abstract GitVersion.BuildAgents.BuildAgentBase.EnvironmentVariable.get -> string! +abstract GitVersion.BuildAgents.BuildAgentBase.GenerateSetParameterMessage(string! name, string! value) -> string![]! +abstract GitVersion.BuildAgents.BuildAgentBase.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string? +abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.DefaultResult.get -> string? +abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.GetPrompt(GitVersion.Configuration.GitVersionConfiguration! configuration, string! workingDirectory) -> string! +abstract GitVersion.Configuration.Init.Wizard.ConfigInitWizardStep.HandleResult(string? result, System.Collections.Generic.Queue! steps, GitVersion.Configuration.GitVersionConfiguration! configuration, string! workingDirectory) -> GitVersion.Configuration.Init.StepResult! +abstract GitVersion.GitVersionModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void +abstract GitVersion.VersionCalculation.VersionStrategyBase.GetBaseVersions(GitVersion.Configuration.EffectiveBranchConfiguration! configuration) -> System.Collections.Generic.IEnumerable! +const GitVersion.Configuration.ConfigurationFileLocator.DefaultFileName = "GitVersion.yml" -> string! +const GitVersion.Configuration.GitVersionConfiguration.DefaultLabelPrefix = "[vV]?" -> string! +const GitVersion.Configuration.GitVersionConfiguration.DevelopBranchKey = "develop" -> string! +const GitVersion.Configuration.GitVersionConfiguration.DevelopBranchRegex = "^dev(elop)?(ment)?$" -> string! +const GitVersion.Configuration.GitVersionConfiguration.FeatureBranchKey = "feature" -> string! +const GitVersion.Configuration.GitVersionConfiguration.FeatureBranchRegex = "^features?[/-]" -> string! +const GitVersion.Configuration.GitVersionConfiguration.HotfixBranchKey = "hotfix" -> string! +const GitVersion.Configuration.GitVersionConfiguration.HotfixBranchRegex = "^hotfix(es)?[/-]" -> string! +const GitVersion.Configuration.GitVersionConfiguration.MainBranchKey = "main" -> string! +const GitVersion.Configuration.GitVersionConfiguration.MainBranchRegex = "^master$|^main$" -> string! +const GitVersion.Configuration.GitVersionConfiguration.MasterBranchKey = "master" -> string! +const GitVersion.Configuration.GitVersionConfiguration.PullRequestBranchKey = "pull-request" -> string! +const GitVersion.Configuration.GitVersionConfiguration.PullRequestRegex = "^(pull|pull\\-requests|pr)[/-]" -> string! +const GitVersion.Configuration.GitVersionConfiguration.ReleaseBranchKey = "release" -> string! +const GitVersion.Configuration.GitVersionConfiguration.ReleaseBranchRegex = "^releases?[/-]" -> string! +const GitVersion.Configuration.GitVersionConfiguration.SupportBranchKey = "support" -> string! +const GitVersion.Configuration.GitVersionConfiguration.SupportBranchRegex = "^support[/-]" -> string! +const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultMajorPattern = "\\+semver:\\s?(breaking|major)" -> string! +const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultMinorPattern = "\\+semver:\\s?(feature|minor)" -> string! +const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultNoBumpPattern = "\\+semver:\\s?(none|skip)" -> string! +const GitVersion.VersionCalculation.IncrementStrategyFinder.DefaultPatchPattern = "\\+semver:\\s?(fix|patch)" -> string! +const GitVersion.VersionCalculation.MergeMessageVersionStrategy.MergeMessageStrategyPrefix = "Merge message" -> string! +const GitVersion.VersionConverters.WixUpdater.WixVersionFileUpdater.WixVersionFileName = "GitVersion_WixVersion.wxi" -> string! override GitVersion.BranchCommit.Equals(object? obj) -> bool override GitVersion.BranchCommit.GetHashCode() -> int -override GitVersion.BuildAgents.AppVeyor.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.AppVeyor.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.AppVeyor.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.AppVeyor.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.AppVeyor.PreventFetch() -> bool -override GitVersion.BuildAgents.AzurePipelines.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.AzurePipelines.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.AzurePipelines.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.AzurePipelines.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.AzurePipelines.PreventFetch() -> bool -override GitVersion.BuildAgents.BitBucketPipelines.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.BitBucketPipelines.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.BitBucketPipelines.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.BitBucketPipelines.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.BitBucketPipelines.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void -override GitVersion.BuildAgents.BuildKite.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.BuildKite.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.BuildKite.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.BuildKite.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.BuildKite.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.BuildKite.PreventFetch() -> bool -override GitVersion.BuildAgents.BuildServerModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void -override GitVersion.BuildAgents.CodeBuild.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.CodeBuild.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.CodeBuild.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.CodeBuild.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.CodeBuild.PreventFetch() -> bool -override GitVersion.BuildAgents.CodeBuild.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void -override GitVersion.BuildAgents.ContinuaCi.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.ContinuaCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.ContinuaCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.ContinuaCi.PreventFetch() -> bool -override GitVersion.BuildAgents.Drone.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.Drone.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.Drone.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.Drone.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.Drone.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.Drone.PreventFetch() -> bool -override GitVersion.BuildAgents.EnvRun.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.EnvRun.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.EnvRun.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.EnvRun.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.EnvRun.PreventFetch() -> bool -override GitVersion.BuildAgents.GitHubActions.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.GitHubActions.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.GitHubActions.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.GitHubActions.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.GitHubActions.PreventFetch() -> bool -override GitVersion.BuildAgents.GitHubActions.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void -override GitVersion.BuildAgents.GitLabCi.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.GitLabCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.GitLabCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.GitLabCi.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.GitLabCi.PreventFetch() -> bool -override GitVersion.BuildAgents.GitLabCi.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void -override GitVersion.BuildAgents.Jenkins.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.Jenkins.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.Jenkins.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.Jenkins.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.Jenkins.PreventFetch() -> bool -override GitVersion.BuildAgents.Jenkins.ShouldCleanUpRemotes() -> bool -override GitVersion.BuildAgents.Jenkins.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void override GitVersion.BuildAgents.LocalBuild.CanApplyToCurrentContext() -> bool override GitVersion.BuildAgents.LocalBuild.EnvironmentVariable.get -> string! override GitVersion.BuildAgents.LocalBuild.GenerateSetParameterMessage(string! name, string! value) -> string![]! override GitVersion.BuildAgents.LocalBuild.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string? -override GitVersion.BuildAgents.MyGet.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.MyGet.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.MyGet.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.MyGet.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string? -override GitVersion.BuildAgents.MyGet.PreventFetch() -> bool -override GitVersion.BuildAgents.SpaceAutomation.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.SpaceAutomation.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.SpaceAutomation.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.SpaceAutomation.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.TeamCity.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.TeamCity.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.TeamCity.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.TeamCity.GetCurrentBranch(bool usingDynamicRepos) -> string? -override GitVersion.BuildAgents.TeamCity.PreventFetch() -> bool -override GitVersion.BuildAgents.TravisCi.CanApplyToCurrentContext() -> bool -override GitVersion.BuildAgents.TravisCi.EnvironmentVariable.get -> string! -override GitVersion.BuildAgents.TravisCi.GenerateSetParameterMessage(string! name, string! value) -> string![]! -override GitVersion.BuildAgents.TravisCi.GenerateSetVersionMessage(GitVersion.OutputVariables.VersionVariables! variables) -> string! -override GitVersion.BuildAgents.TravisCi.PreventFetch() -> bool +override GitVersion.BuildAgents.LocalBuild.IsDefault.get -> bool override GitVersion.Configuration.GitVersionConfiguration.ToString() -> string! override GitVersion.Configuration.Init.EditConfigStep.DefaultResult.get -> string? override GitVersion.Configuration.Init.EditConfigStep.GetPrompt(GitVersion.Configuration.GitVersionConfiguration! configuration, string! workingDirectory) -> string! @@ -1290,8 +1158,8 @@ static GitVersion.Extensions.StringExtensions.IsTrue(this string? value) -> bool static GitVersion.Extensions.StringExtensions.IsValidPath(this string? path) -> bool static GitVersion.Extensions.StringExtensions.RegexReplace(this string! input, string! pattern, string! replace, System.Text.RegularExpressions.RegexOptions options = System.Text.RegularExpressions.RegexOptions.None) -> string! static GitVersion.GitVersionModule.FindAllDerivedTypes(System.Reflection.Assembly? assembly) -> System.Collections.Generic.IEnumerable! -static GitVersion.Helpers.EncodingHelper.DetectEncoding(string? filename) -> System.Text.Encoding? static GitVersion.Helpers.EncodingHelper.DetectEncoding(System.Collections.Generic.IList! bytes) -> System.Text.Encoding? +static GitVersion.Helpers.EncodingHelper.DetectEncoding(string? filename) -> System.Text.Encoding? static GitVersion.Helpers.PathHelper.Combine(string? path1) -> string! static GitVersion.Helpers.PathHelper.Combine(string? path1, string? path2) -> string! static GitVersion.Helpers.PathHelper.Combine(string? path1, string? path2, string? path3) -> string! @@ -1333,19 +1201,20 @@ static GitVersion.OutputVariables.VersionVariables.FromFile(string! filePath, Gi static GitVersion.OutputVariables.VersionVariables.FromJson(string! json) -> GitVersion.OutputVariables.VersionVariables! static GitVersion.ReferenceName.FromBranchName(string! branchName) -> GitVersion.ReferenceName! static GitVersion.ReferenceName.Parse(string! canonicalName) -> GitVersion.ReferenceName! +static GitVersion.SemanticVersion.Parse(string! version, string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat = GitVersion.SemanticVersionFormat.Strict) -> GitVersion.SemanticVersion! +static GitVersion.SemanticVersion.TryParse(string! version, string? tagPrefixRegex, out GitVersion.SemanticVersion? semanticVersion, GitVersion.SemanticVersionFormat format = GitVersion.SemanticVersionFormat.Strict) -> bool static GitVersion.SemanticVersion.operator !=(GitVersion.SemanticVersion? v1, GitVersion.SemanticVersion? v2) -> bool static GitVersion.SemanticVersion.operator <(GitVersion.SemanticVersion! v1, GitVersion.SemanticVersion! v2) -> bool static GitVersion.SemanticVersion.operator <=(GitVersion.SemanticVersion! v1, GitVersion.SemanticVersion! v2) -> bool static GitVersion.SemanticVersion.operator ==(GitVersion.SemanticVersion? v1, GitVersion.SemanticVersion? v2) -> bool static GitVersion.SemanticVersion.operator >(GitVersion.SemanticVersion! v1, GitVersion.SemanticVersion! v2) -> bool static GitVersion.SemanticVersion.operator >=(GitVersion.SemanticVersion! v1, GitVersion.SemanticVersion! v2) -> bool -static GitVersion.SemanticVersion.Parse(string! version, string? tagPrefixRegex, GitVersion.SemanticVersionFormat versionFormat = GitVersion.SemanticVersionFormat.Strict) -> GitVersion.SemanticVersion! -static GitVersion.SemanticVersion.TryParse(string! version, string? tagPrefixRegex, out GitVersion.SemanticVersion? semanticVersion, GitVersion.SemanticVersionFormat format = GitVersion.SemanticVersionFormat.Strict) -> bool +static GitVersion.SemanticVersionBuildMetaData.Parse(string? buildMetaData) -> GitVersion.SemanticVersionBuildMetaData! static GitVersion.SemanticVersionBuildMetaData.implicit operator GitVersion.SemanticVersionBuildMetaData!(string! preReleaseTag) -> GitVersion.SemanticVersionBuildMetaData! static GitVersion.SemanticVersionBuildMetaData.implicit operator string?(GitVersion.SemanticVersionBuildMetaData? preReleaseTag) -> string? static GitVersion.SemanticVersionBuildMetaData.operator !=(GitVersion.SemanticVersionBuildMetaData? left, GitVersion.SemanticVersionBuildMetaData? right) -> bool static GitVersion.SemanticVersionBuildMetaData.operator ==(GitVersion.SemanticVersionBuildMetaData? left, GitVersion.SemanticVersionBuildMetaData? right) -> bool -static GitVersion.SemanticVersionBuildMetaData.Parse(string? buildMetaData) -> GitVersion.SemanticVersionBuildMetaData! +static GitVersion.SemanticVersionPreReleaseTag.Parse(string? preReleaseTag) -> GitVersion.SemanticVersionPreReleaseTag! static GitVersion.SemanticVersionPreReleaseTag.implicit operator GitVersion.SemanticVersionPreReleaseTag!(string? preReleaseTag) -> GitVersion.SemanticVersionPreReleaseTag! static GitVersion.SemanticVersionPreReleaseTag.implicit operator string?(GitVersion.SemanticVersionPreReleaseTag? preReleaseTag) -> string? static GitVersion.SemanticVersionPreReleaseTag.operator !=(GitVersion.SemanticVersionPreReleaseTag? left, GitVersion.SemanticVersionPreReleaseTag? right) -> bool @@ -1354,7 +1223,6 @@ static GitVersion.SemanticVersionPreReleaseTag.operator <=(GitVersion.SemanticVe static GitVersion.SemanticVersionPreReleaseTag.operator ==(GitVersion.SemanticVersionPreReleaseTag? left, GitVersion.SemanticVersionPreReleaseTag? right) -> bool static GitVersion.SemanticVersionPreReleaseTag.operator >(GitVersion.SemanticVersionPreReleaseTag? left, GitVersion.SemanticVersionPreReleaseTag? right) -> bool static GitVersion.SemanticVersionPreReleaseTag.operator >=(GitVersion.SemanticVersionPreReleaseTag? left, GitVersion.SemanticVersionPreReleaseTag? right) -> bool -static GitVersion.SemanticVersionPreReleaseTag.Parse(string? preReleaseTag) -> GitVersion.SemanticVersionPreReleaseTag! static GitVersion.VersionCalculation.NextVersion.operator !=(GitVersion.VersionCalculation.NextVersion! left, GitVersion.VersionCalculation.NextVersion! right) -> bool static GitVersion.VersionCalculation.NextVersion.operator <(GitVersion.VersionCalculation.NextVersion! left, GitVersion.VersionCalculation.NextVersion! right) -> bool static GitVersion.VersionCalculation.NextVersion.operator <=(GitVersion.VersionCalculation.NextVersion! left, GitVersion.VersionCalculation.NextVersion! right) -> bool @@ -1368,6 +1236,7 @@ static readonly GitVersion.Helpers.StringComparerUtils.OsDependentComparison -> static readonly GitVersion.Logging.Disposable.Empty -> System.IDisposable! virtual GitVersion.BuildAgents.BuildAgentBase.CanApplyToCurrentContext() -> bool virtual GitVersion.BuildAgents.BuildAgentBase.GetCurrentBranch(bool usingDynamicRepos) -> string? +virtual GitVersion.BuildAgents.BuildAgentBase.IsDefault.get -> bool virtual GitVersion.BuildAgents.BuildAgentBase.PreventFetch() -> bool virtual GitVersion.BuildAgents.BuildAgentBase.ShouldCleanUpRemotes() -> bool virtual GitVersion.BuildAgents.BuildAgentBase.WriteIntegration(System.Action! writer, GitVersion.OutputVariables.VersionVariables! variables, bool updateBuildNumber = true) -> void diff --git a/src/GitVersion.Core/VersionConverters/WixUpdater/WixVersionFileUpdater.cs b/src/GitVersion.Core/VersionConverters/WixUpdater/WixVersionFileUpdater.cs index ca9bf494e3..f3897f1cc9 100644 --- a/src/GitVersion.Core/VersionConverters/WixUpdater/WixVersionFileUpdater.cs +++ b/src/GitVersion.Core/VersionConverters/WixUpdater/WixVersionFileUpdater.cs @@ -15,7 +15,7 @@ public sealed class WixVersionFileUpdater : IWixVersionFileUpdater private string? wixVersionFile; public const string WixVersionFileName = "GitVersion_WixVersion.wxi"; - public WixVersionFileUpdater(IFileSystem fileSystem, ILog log) + public WixVersionFileUpdater(ILog log, IFileSystem fileSystem) { this.fileSystem = fileSystem.NotNull(); this.log = log.NotNull(); diff --git a/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj b/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj index 6a431fd6cd..29d33d4e42 100644 --- a/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj +++ b/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj @@ -1,27 +1,28 @@ - - - - + + + + - - - + + + + - - - - - - - - - - + + + + + + + + + + diff --git a/src/GitVersion.MsBuild.Tests/Tasks/TestTaskBase.cs b/src/GitVersion.MsBuild.Tests/Tasks/TestTaskBase.cs index 7ab34da291..ec9c529db7 100644 --- a/src/GitVersion.MsBuild.Tests/Tasks/TestTaskBase.cs +++ b/src/GitVersion.MsBuild.Tests/Tasks/TestTaskBase.cs @@ -1,6 +1,7 @@ using GitVersion.BuildAgents; using GitVersion.Configuration; using GitVersion.Core.Tests.Helpers; +using GitVersion.Extensions; using GitVersion.Helpers; using GitVersion.MsBuild.Tests.Helpers; using LibGit2Sharp; @@ -20,7 +21,7 @@ protected static MsBuildTaskFixtureResult ExecuteMsBuildTask(T task) where { var fixture = CreateLocalRepositoryFixture(); task.SolutionDirectory = fixture.RepositoryPath; - + task.WithOverrides(services => services.AddModule(new GitVersionBuildAgentsModule())); var msbuildFixture = new MsBuildTaskFixture(fixture); var result = msbuildFixture.Execute(task); if (result.Success == false) Console.WriteLine(result.Log); @@ -44,6 +45,7 @@ protected static MsBuildTaskFixtureResult ExecuteMsBuildTaskInAzurePipeline services.AddModule(new GitVersionBuildAgentsModule())); var msbuildFixture = new MsBuildTaskFixture(fixture); var environmentVariables = new List>(env.ToArray()); if (buildNumber != null) @@ -66,6 +68,7 @@ protected static MsBuildTaskFixtureResult ExecuteMsBuildTaskInGitHubActions services.AddModule(new GitVersionBuildAgentsModule())); var msbuildFixture = new MsBuildTaskFixture(fixture); msbuildFixture.WithEnv( new KeyValuePair("GITHUB_ACTIONS", "true"), diff --git a/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj b/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj index 9e91390ac5..434ff33998 100644 --- a/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj +++ b/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj @@ -17,6 +17,7 @@ + diff --git a/src/GitVersion.MsBuild/GitVersionMsBuildModule.cs b/src/GitVersion.MsBuild/GitVersionMsBuildModule.cs new file mode 100644 index 0000000000..86dc34ea69 --- /dev/null +++ b/src/GitVersion.MsBuild/GitVersionMsBuildModule.cs @@ -0,0 +1,18 @@ +using GitVersion.BuildAgents; +using GitVersion.Extensions; +using GitVersion.VersionConverters; +using Microsoft.Extensions.DependencyInjection; + +namespace GitVersion.MsBuild; + +public class GitVersionMsBuildModule : IGitVersionModule +{ + public void RegisterTypes(IServiceCollection services) + { + services.AddSingleton(); + + services.AddModule(new GitVersionCommonModule()); + services.AddModule(new GitVersionBuildAgentsModule()); + services.AddModule(new VersionConvertersModule()); + } +} diff --git a/src/GitVersion.MsBuild/GitVersionTaskBase.cs b/src/GitVersion.MsBuild/GitVersionTaskBase.cs index 4af337e7d7..cb74cc0c5f 100644 --- a/src/GitVersion.MsBuild/GitVersionTaskBase.cs +++ b/src/GitVersion.MsBuild/GitVersionTaskBase.cs @@ -1,5 +1,6 @@ using Microsoft.Build.Framework; using Microsoft.Build.Utilities; +using Microsoft.Extensions.DependencyInjection; namespace GitVersion.MsBuild; @@ -20,4 +21,8 @@ public abstract class GitVersionTaskBase : ITask public bool Execute() => OnExecute(); protected abstract bool OnExecute(); + + public Action? Overrides { get; set; } + + public void WithOverrides(Action overrides) => Overrides = overrides; } diff --git a/src/GitVersion.MsBuild/GitVersionTaskModule.cs b/src/GitVersion.MsBuild/GitVersionTaskModule.cs deleted file mode 100644 index 7d334c14a4..0000000000 --- a/src/GitVersion.MsBuild/GitVersionTaskModule.cs +++ /dev/null @@ -1,34 +0,0 @@ -using GitVersion.BuildAgents; -using GitVersion.Extensions; -using GitVersion.Logging; -using GitVersion.VersionConverters.AssemblyInfo; -using GitVersion.VersionConverters.GitVersionInfo; -using GitVersion.VersionConverters.OutputGenerator; -using GitVersion.VersionConverters.WixUpdater; -using Microsoft.Extensions.DependencyInjection; - -namespace GitVersion.MsBuild; - -public class GitVersionTaskModule : IGitVersionModule -{ - public void RegisterTypes(IServiceCollection services) - { - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - - services.AddSingleton(); - - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - services.AddSingleton(); - - services.AddSingleton(); - services.AddModule(new BuildServerModule()); - services.AddSingleton(sp => sp.GetRequiredService().Resolve()); - } -} diff --git a/src/GitVersion.MsBuild/GitVersionTasks.cs b/src/GitVersion.MsBuild/GitVersionTasks.cs index 5164ce6008..4a1a215de3 100644 --- a/src/GitVersion.MsBuild/GitVersionTasks.cs +++ b/src/GitVersion.MsBuild/GitVersionTasks.cs @@ -69,9 +69,9 @@ private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task) gitVersionOptions.Output.Add(OutputType.BuildServer); services.AddSingleton(Options.Create(gitVersionOptions)); - services.AddModule(new GitVersionTaskModule()); - + services.AddModule(new GitVersionMsBuildModule()); services.AddSingleton(new MsBuildAdapter(task.Log)); + task.Overrides?.Invoke(services); var sp = services.BuildServiceProvider(); Configure(sp, task); diff --git a/src/GitVersion.MsBuild/PublicAPI.Unshipped.txt b/src/GitVersion.MsBuild/PublicAPI.Unshipped.txt index 21a5456ecf..fa8e867a7c 100644 --- a/src/GitVersion.MsBuild/PublicAPI.Unshipped.txt +++ b/src/GitVersion.MsBuild/PublicAPI.Unshipped.txt @@ -1,6 +1,8 @@ #nullable enable -abstract GitVersion.MsBuild.GitVersionTaskBase.OnExecute() -> bool GitVersion.MsBuild.FileHelper +GitVersion.MsBuild.GitVersionMsBuildModule +GitVersion.MsBuild.GitVersionMsBuildModule.GitVersionMsBuildModule() -> void +GitVersion.MsBuild.GitVersionMsBuildModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void GitVersion.MsBuild.GitVersionTaskBase GitVersion.MsBuild.GitVersionTaskBase.BuildEngine.get -> Microsoft.Build.Framework.IBuildEngine! GitVersion.MsBuild.GitVersionTaskBase.BuildEngine.set -> void @@ -9,19 +11,19 @@ GitVersion.MsBuild.GitVersionTaskBase.GitVersionTaskBase() -> void GitVersion.MsBuild.GitVersionTaskBase.HostObject.get -> Microsoft.Build.Framework.ITaskHost! GitVersion.MsBuild.GitVersionTaskBase.HostObject.set -> void GitVersion.MsBuild.GitVersionTaskBase.Log.get -> Microsoft.Build.Utilities.TaskLoggingHelper! +GitVersion.MsBuild.GitVersionTaskBase.Overrides.get -> System.Action? +GitVersion.MsBuild.GitVersionTaskBase.Overrides.set -> void GitVersion.MsBuild.GitVersionTaskBase.SolutionDirectory.get -> string! GitVersion.MsBuild.GitVersionTaskBase.SolutionDirectory.set -> void GitVersion.MsBuild.GitVersionTaskBase.VersionFile.get -> string! GitVersion.MsBuild.GitVersionTaskBase.VersionFile.set -> void +GitVersion.MsBuild.GitVersionTaskBase.WithOverrides(System.Action! overrides) -> void GitVersion.MsBuild.GitVersionTaskExecutor GitVersion.MsBuild.GitVersionTaskExecutor.GenerateGitVersionInformation(GitVersion.MsBuild.Tasks.GenerateGitVersionInformation! task) -> void GitVersion.MsBuild.GitVersionTaskExecutor.GetVersion(GitVersion.MsBuild.Tasks.GetVersion! task) -> void GitVersion.MsBuild.GitVersionTaskExecutor.GitVersionTaskExecutor(GitVersion.IFileSystem! fileSystem, GitVersion.IGitVersionOutputTool! gitVersionOutputTool, Microsoft.Extensions.Options.IOptions! options) -> void GitVersion.MsBuild.GitVersionTaskExecutor.UpdateAssemblyInfo(GitVersion.MsBuild.Tasks.UpdateAssemblyInfo! task) -> void GitVersion.MsBuild.GitVersionTaskExecutor.WriteVersionInfoToBuildLog(GitVersion.MsBuild.Tasks.WriteVersionInfoToBuildLog! task) -> void -GitVersion.MsBuild.GitVersionTaskModule -GitVersion.MsBuild.GitVersionTaskModule.GitVersionTaskModule() -> void -GitVersion.MsBuild.GitVersionTaskModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void GitVersion.MsBuild.GitVersionTasks GitVersion.MsBuild.IGitVersionTaskExecutor GitVersion.MsBuild.IGitVersionTaskExecutor.GenerateGitVersionInformation(GitVersion.MsBuild.Tasks.GenerateGitVersionInformation! task) -> void @@ -107,6 +109,7 @@ GitVersion.MsBuild.Tasks.UpdateAssemblyInfo.ProjectFile.set -> void GitVersion.MsBuild.Tasks.UpdateAssemblyInfo.UpdateAssemblyInfo() -> void GitVersion.MsBuild.Tasks.WriteVersionInfoToBuildLog GitVersion.MsBuild.Tasks.WriteVersionInfoToBuildLog.WriteVersionInfoToBuildLog() -> void +abstract GitVersion.MsBuild.GitVersionTaskBase.OnExecute() -> bool override GitVersion.MsBuild.Tasks.GenerateGitVersionInformation.OnExecute() -> bool override GitVersion.MsBuild.Tasks.GetVersion.OnExecute() -> bool override GitVersion.MsBuild.Tasks.UpdateAssemblyInfo.OnExecute() -> bool diff --git a/src/GitVersion.sln b/src/GitVersion.sln index 66280ae5d5..8536e0e4d7 100644 --- a/src/GitVersion.sln +++ b/src/GitVersion.sln @@ -32,6 +32,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitTools.Testing", "GitTool EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitVersion.LibGit2Sharp", "GitVersion.LibGit2Sharp\GitVersion.LibGit2Sharp.csproj", "{093AFCF2-68F4-49B1-8173-7CB88467E783}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersion.BuildAgents", "GitVersion.BuildAgents\GitVersion.BuildAgents.csproj", "{B1C486D2-2B07-42D6-86AE-3F9AD50F27C8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersion.BuildAgents.Tests", "GitVersion.BuildAgents.Tests\GitVersion.BuildAgents.Tests.csproj", "{85060C01-6DAF-48E9-9D7E-AEDA8FFEB0DD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -70,6 +74,14 @@ Global {093AFCF2-68F4-49B1-8173-7CB88467E783}.Debug|Any CPU.Build.0 = Debug|Any CPU {093AFCF2-68F4-49B1-8173-7CB88467E783}.Release|Any CPU.ActiveCfg = Release|Any CPU {093AFCF2-68F4-49B1-8173-7CB88467E783}.Release|Any CPU.Build.0 = Release|Any CPU + {B1C486D2-2B07-42D6-86AE-3F9AD50F27C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1C486D2-2B07-42D6-86AE-3F9AD50F27C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1C486D2-2B07-42D6-86AE-3F9AD50F27C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1C486D2-2B07-42D6-86AE-3F9AD50F27C8}.Release|Any CPU.Build.0 = Release|Any CPU + {85060C01-6DAF-48E9-9D7E-AEDA8FFEB0DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {85060C01-6DAF-48E9-9D7E-AEDA8FFEB0DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {85060C01-6DAF-48E9-9D7E-AEDA8FFEB0DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {85060C01-6DAF-48E9-9D7E-AEDA8FFEB0DD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/tests/integration/Directory.Build.props b/tests/integration/Directory.Build.props index d42029f862..20e3939c27 100644 --- a/tests/integration/Directory.Build.props +++ b/tests/integration/Directory.Build.props @@ -10,15 +10,11 @@ https://api.nuget.org/v3/index.json - - - all runtime; build; native; contentfiles; analyzers; buildtransitive - diff --git a/tests/integration/core/app.csproj b/tests/integration/app.csproj similarity index 100% rename from tests/integration/core/app.csproj rename to tests/integration/app.csproj diff --git a/tests/scripts/test-msbuild-task.sh b/tests/scripts/test-msbuild-task.sh index 9999e37afc..62b8a3f8fd 100644 --- a/tests/scripts/test-msbuild-task.sh +++ b/tests/scripts/test-msbuild-task.sh @@ -1,5 +1,5 @@ #!/usr/bin/sh -# sh /scripts/test-msbuild-task.sh --version 5.7.1-beta1.56 --nugetPath /nuget --repoPath /repo/tests/integration/core --targetframework net5.0 +# sh /scripts/test-msbuild-task.sh --version 5.7.1-beta1.56 --nugetPath /nuget --repoPath /repo/tests/integration --targetframework net7.0 while test "$#" -gt 0 do case $1 in