From 50d6bfc2d320ad11b7aa8239c1f25287f28dc5ca Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Mon, 20 Nov 2023 02:45:30 +0100 Subject: [PATCH 1/2] Extract GitVersion Configuration into a separate project The major change in this commit is the extraction of the GitVersion configuration-related code into a separate project. This includes branch configuration, GitFlow and GitHub workflows, caching strategies and modules. In the refactored structure, other projects now reference this configuration project. The definition of the `IBranchConfiguration` has changed and includes a new method for providing an empty configuration. Some necessary code and file shifting has occurred to support this new structure. --- .../GitVersion.App.Tests.csproj | 1 + src/GitVersion.App/GitVersion.App.csproj | 1 + src/GitVersion.App/Program.cs | 2 ++ .../BranchConfiguration.cs | 7 +++++ .../BranchConfigurationBuilder.cs | 0 .../ConfigurationBuilder.cs | 0 .../ConfigurationBuilderBase.cs | 0 .../ConfigurationException.cs | 0 .../ConfigurationFileLocator.cs | 0 .../ConfigurationHelper.cs | 0 .../ConfigurationProvider.cs | 0 .../ConfigurationSerializer.cs | 0 .../EmptyConfigurationBuilder.cs | 0 .../GitFlowConfigurationBuilder.cs | 0 .../GitHubFlowConfigurationBuilder.cs | 0 .../GitVersion.Configuration.csproj | 29 +++++++++++++++++++ .../GitVersionCacheKeyFactory.cs | 0 .../GitVersionConfiguration.cs | 0 .../GitVersionConfigurationModule.cs} | 4 ++- .../IgnoreConfiguration.cs | 0 .../IgnoreConfigurationBuilder.cs | 0 .../Init/BuildServer/AppVeyorSetup.cs | 0 .../Init/BuildServer/AppveyorPublicPrivate.cs | 0 .../Init/BuildServer/ProjectVisibility.cs | 0 .../Init/BuildServer/SetupBuildScripts.cs | 0 .../Init/EditConfigStep.cs | 0 .../Init/GitVersionInitModule.cs | 0 .../AssemblyVersioningSchemeSetting.cs | 0 .../Init/SetConfig/ConfigureBranch.cs | 0 .../Init/SetConfig/ConfigureBranches.cs | 0 .../Init/SetConfig/GlobalModeSetting.cs | 0 .../Init/SetConfig/SetBranchIncrementMode.cs | 0 .../Init/SetConfig/SetBranchTag.cs | 0 .../Init/SetNextVersion.cs | 0 .../Init/StepResult.cs | 0 .../Init/Wizard/ConfigInitStepFactory.cs | 0 .../Init/Wizard/ConfigInitWizard.cs | 0 .../Init/Wizard/ConfigInitWizardStep.cs | 0 .../Init/Wizard/FinishedSetupStep.cs | 0 .../Init/Wizard/GitFlowSetupStep.cs | 0 .../Init/Wizard/GitHubFlowStep.cs | 0 .../Init/Wizard/IConfigInitStepFactory.cs | 0 .../Init/Wizard/IConfigInitWizard.cs | 0 .../Init/Wizard/PickBranchingStrategy1Step.cs | 0 .../Init/Wizard/PickBranchingStrategy2Step.cs | 0 .../Init/Wizard/PickBranchingStrategy3Step.cs | 0 .../Init/Wizard/PickBranchingStrategyStep.cs | 0 .../PublicAPI.Shipped.txt | 1 + .../PublicAPI.Unshipped.txt | 12 ++++++++ .../SupportedWorkflows/GitFlow/v1.yml | 0 .../SupportedWorkflows/GitHubFlow/v1.yml | 0 .../SupportedWorkflows/WorkflowManager.cs | 0 .../GitVersion.Core.Tests.csproj | 1 + .../Helpers/GitVersionCoreTestModule.cs | 2 ++ .../Configuration/IBranchConfiguration.cs | 2 ++ .../IConfigurationFileLocator.cs | 0 .../IConfigurationProvider.cs | 0 .../IgnoreConfigurationExtensions.cs | 15 ---------- .../ConfigurationExtensions.cs | 16 ++++++---- src/GitVersion.Core/GitVersion.Core.csproj | 6 +--- src/GitVersion.Core/GitVersionCoreModule.cs | 3 -- src/GitVersion.Core/PublicAPI.Unshipped.txt | 13 ++------- .../GitVersion.MsBuild.Tests.csproj | 1 + .../GitVersion.MsBuild.csproj | 1 + src/GitVersion.MsBuild/GitVersionTasks.cs | 2 ++ src/GitVersion.Output/GitVersionOutputTool.cs | 2 -- .../IGitVersionOutputTool.cs | 1 - src/GitVersion.Output/PublicAPI.Unshipped.txt | 1 - .../GitVersion.Schema.csproj | 1 + src/GitVersion.sln | 7 +++++ 70 files changed, 86 insertions(+), 45 deletions(-) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/BranchConfiguration.cs (95%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/BranchConfigurationBuilder.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationBuilder.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationBuilderBase.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationException.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationFileLocator.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationHelper.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationProvider.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/ConfigurationSerializer.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/EmptyConfigurationBuilder.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/GitFlowConfigurationBuilder.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/GitHubFlowConfigurationBuilder.cs (100%) create mode 100644 src/GitVersion.Configuration/GitVersion.Configuration.csproj rename src/{GitVersion.Core/VersionCalculation/Caching => GitVersion.Configuration}/GitVersionCacheKeyFactory.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/GitVersionConfiguration.cs (100%) rename src/{GitVersion.Core/Configuration/ConfigurationModule.cs => GitVersion.Configuration/GitVersionConfigurationModule.cs} (69%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/IgnoreConfiguration.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/IgnoreConfigurationBuilder.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/BuildServer/AppVeyorSetup.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/BuildServer/AppveyorPublicPrivate.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/BuildServer/ProjectVisibility.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/BuildServer/SetupBuildScripts.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/EditConfigStep.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/GitVersionInitModule.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/AssemblyVersioningSchemeSetting.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/ConfigureBranch.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/ConfigureBranches.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/GlobalModeSetting.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/SetBranchIncrementMode.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetConfig/SetBranchTag.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/SetNextVersion.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/StepResult.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/ConfigInitStepFactory.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/ConfigInitWizard.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/ConfigInitWizardStep.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/FinishedSetupStep.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/GitFlowSetupStep.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/GitHubFlowStep.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/IConfigInitStepFactory.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/IConfigInitWizard.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/PickBranchingStrategy1Step.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/PickBranchingStrategy2Step.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/PickBranchingStrategy3Step.cs (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/Init/Wizard/PickBranchingStrategyStep.cs (100%) create mode 100644 src/GitVersion.Configuration/PublicAPI.Shipped.txt create mode 100644 src/GitVersion.Configuration/PublicAPI.Unshipped.txt rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/SupportedWorkflows/GitFlow/v1.yml (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/SupportedWorkflows/GitHubFlow/v1.yml (100%) rename src/{GitVersion.Core/Configuration => GitVersion.Configuration}/SupportedWorkflows/WorkflowManager.cs (100%) rename src/GitVersion.Core/Configuration/{Abstractions => }/IConfigurationFileLocator.cs (100%) rename src/GitVersion.Core/Configuration/{Abstractions => }/IConfigurationProvider.cs (100%) delete mode 100644 src/GitVersion.Core/Configuration/IgnoreConfigurationExtensions.cs rename src/GitVersion.Core/{Configuration => Extensions}/ConfigurationExtensions.cs (93%) diff --git a/src/GitVersion.App.Tests/GitVersion.App.Tests.csproj b/src/GitVersion.App.Tests/GitVersion.App.Tests.csproj index 53bd14bd0b..886927b318 100644 --- a/src/GitVersion.App.Tests/GitVersion.App.Tests.csproj +++ b/src/GitVersion.App.Tests/GitVersion.App.Tests.csproj @@ -4,6 +4,7 @@ + diff --git a/src/GitVersion.App/GitVersion.App.csproj b/src/GitVersion.App/GitVersion.App.csproj index 6b750ebedd..d95c3d5819 100644 --- a/src/GitVersion.App/GitVersion.App.csproj +++ b/src/GitVersion.App/GitVersion.App.csproj @@ -27,6 +27,7 @@ + diff --git a/src/GitVersion.App/Program.cs b/src/GitVersion.App/Program.cs index a30560349e..9984539bc6 100644 --- a/src/GitVersion.App/Program.cs +++ b/src/GitVersion.App/Program.cs @@ -1,4 +1,5 @@ using GitVersion.Agents; +using GitVersion.Configuration; using GitVersion.Extensions; using GitVersion.Output; using Microsoft.Extensions.Configuration; @@ -26,6 +27,7 @@ private IHostBuilder CreateHostBuilder(string[] args) => services.AddModule(new GitVersionCoreModule()); services.AddModule(new GitVersionLibGit2SharpModule()); services.AddModule(new GitVersionBuildAgentsModule()); + services.AddModule(new GitVersionConfigurationModule()); services.AddModule(new GitVersionOutputModule()); services.AddModule(new GitVersionAppModule()); diff --git a/src/GitVersion.Core/Configuration/BranchConfiguration.cs b/src/GitVersion.Configuration/BranchConfiguration.cs similarity index 95% rename from src/GitVersion.Core/Configuration/BranchConfiguration.cs rename to src/GitVersion.Configuration/BranchConfiguration.cs index 451f647cc4..19cfa26714 100644 --- a/src/GitVersion.Core/Configuration/BranchConfiguration.cs +++ b/src/GitVersion.Configuration/BranchConfiguration.cs @@ -98,4 +98,11 @@ public virtual IBranchConfiguration Inherit(IBranchConfiguration configuration) PreReleaseWeight = PreReleaseWeight ?? configuration.PreReleaseWeight }; } + + public IBranchConfiguration Empty() => new BranchConfiguration + { + RegularExpression = string.Empty, + Label = ConfigurationConstants.BranchNamePlaceholder, + Increment = IncrementStrategy.Inherit + }; } diff --git a/src/GitVersion.Core/Configuration/BranchConfigurationBuilder.cs b/src/GitVersion.Configuration/BranchConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/BranchConfigurationBuilder.cs rename to src/GitVersion.Configuration/BranchConfigurationBuilder.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationBuilder.cs b/src/GitVersion.Configuration/ConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationBuilder.cs rename to src/GitVersion.Configuration/ConfigurationBuilder.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationBuilderBase.cs b/src/GitVersion.Configuration/ConfigurationBuilderBase.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationBuilderBase.cs rename to src/GitVersion.Configuration/ConfigurationBuilderBase.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationException.cs b/src/GitVersion.Configuration/ConfigurationException.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationException.cs rename to src/GitVersion.Configuration/ConfigurationException.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationFileLocator.cs b/src/GitVersion.Configuration/ConfigurationFileLocator.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationFileLocator.cs rename to src/GitVersion.Configuration/ConfigurationFileLocator.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationHelper.cs b/src/GitVersion.Configuration/ConfigurationHelper.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationHelper.cs rename to src/GitVersion.Configuration/ConfigurationHelper.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationProvider.cs b/src/GitVersion.Configuration/ConfigurationProvider.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationProvider.cs rename to src/GitVersion.Configuration/ConfigurationProvider.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationSerializer.cs b/src/GitVersion.Configuration/ConfigurationSerializer.cs similarity index 100% rename from src/GitVersion.Core/Configuration/ConfigurationSerializer.cs rename to src/GitVersion.Configuration/ConfigurationSerializer.cs diff --git a/src/GitVersion.Core/Configuration/EmptyConfigurationBuilder.cs b/src/GitVersion.Configuration/EmptyConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/EmptyConfigurationBuilder.cs rename to src/GitVersion.Configuration/EmptyConfigurationBuilder.cs diff --git a/src/GitVersion.Core/Configuration/GitFlowConfigurationBuilder.cs b/src/GitVersion.Configuration/GitFlowConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/GitFlowConfigurationBuilder.cs rename to src/GitVersion.Configuration/GitFlowConfigurationBuilder.cs diff --git a/src/GitVersion.Core/Configuration/GitHubFlowConfigurationBuilder.cs b/src/GitVersion.Configuration/GitHubFlowConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/GitHubFlowConfigurationBuilder.cs rename to src/GitVersion.Configuration/GitHubFlowConfigurationBuilder.cs diff --git a/src/GitVersion.Configuration/GitVersion.Configuration.csproj b/src/GitVersion.Configuration/GitVersion.Configuration.csproj new file mode 100644 index 0000000000..a37fea4b0f --- /dev/null +++ b/src/GitVersion.Configuration/GitVersion.Configuration.csproj @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/GitVersion.Core/VersionCalculation/Caching/GitVersionCacheKeyFactory.cs b/src/GitVersion.Configuration/GitVersionCacheKeyFactory.cs similarity index 100% rename from src/GitVersion.Core/VersionCalculation/Caching/GitVersionCacheKeyFactory.cs rename to src/GitVersion.Configuration/GitVersionCacheKeyFactory.cs diff --git a/src/GitVersion.Core/Configuration/GitVersionConfiguration.cs b/src/GitVersion.Configuration/GitVersionConfiguration.cs similarity index 100% rename from src/GitVersion.Core/Configuration/GitVersionConfiguration.cs rename to src/GitVersion.Configuration/GitVersionConfiguration.cs diff --git a/src/GitVersion.Core/Configuration/ConfigurationModule.cs b/src/GitVersion.Configuration/GitVersionConfigurationModule.cs similarity index 69% rename from src/GitVersion.Core/Configuration/ConfigurationModule.cs rename to src/GitVersion.Configuration/GitVersionConfigurationModule.cs index ab3655c0da..f710fc6465 100644 --- a/src/GitVersion.Core/Configuration/ConfigurationModule.cs +++ b/src/GitVersion.Configuration/GitVersionConfigurationModule.cs @@ -1,15 +1,17 @@ using GitVersion.Configuration.Init; using GitVersion.Extensions; +using GitVersion.VersionCalculation.Caching; using Microsoft.Extensions.DependencyInjection; namespace GitVersion.Configuration; -public class ConfigurationModule : IGitVersionModule +public class GitVersionConfigurationModule : IGitVersionModule { public void RegisterTypes(IServiceCollection services) { services.AddModule(new GitVersionInitModule()); + services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); } diff --git a/src/GitVersion.Core/Configuration/IgnoreConfiguration.cs b/src/GitVersion.Configuration/IgnoreConfiguration.cs similarity index 100% rename from src/GitVersion.Core/Configuration/IgnoreConfiguration.cs rename to src/GitVersion.Configuration/IgnoreConfiguration.cs diff --git a/src/GitVersion.Core/Configuration/IgnoreConfigurationBuilder.cs b/src/GitVersion.Configuration/IgnoreConfigurationBuilder.cs similarity index 100% rename from src/GitVersion.Core/Configuration/IgnoreConfigurationBuilder.cs rename to src/GitVersion.Configuration/IgnoreConfigurationBuilder.cs diff --git a/src/GitVersion.Core/Configuration/Init/BuildServer/AppVeyorSetup.cs b/src/GitVersion.Configuration/Init/BuildServer/AppVeyorSetup.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/BuildServer/AppVeyorSetup.cs rename to src/GitVersion.Configuration/Init/BuildServer/AppVeyorSetup.cs diff --git a/src/GitVersion.Core/Configuration/Init/BuildServer/AppveyorPublicPrivate.cs b/src/GitVersion.Configuration/Init/BuildServer/AppveyorPublicPrivate.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/BuildServer/AppveyorPublicPrivate.cs rename to src/GitVersion.Configuration/Init/BuildServer/AppveyorPublicPrivate.cs diff --git a/src/GitVersion.Core/Configuration/Init/BuildServer/ProjectVisibility.cs b/src/GitVersion.Configuration/Init/BuildServer/ProjectVisibility.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/BuildServer/ProjectVisibility.cs rename to src/GitVersion.Configuration/Init/BuildServer/ProjectVisibility.cs diff --git a/src/GitVersion.Core/Configuration/Init/BuildServer/SetupBuildScripts.cs b/src/GitVersion.Configuration/Init/BuildServer/SetupBuildScripts.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/BuildServer/SetupBuildScripts.cs rename to src/GitVersion.Configuration/Init/BuildServer/SetupBuildScripts.cs diff --git a/src/GitVersion.Core/Configuration/Init/EditConfigStep.cs b/src/GitVersion.Configuration/Init/EditConfigStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/EditConfigStep.cs rename to src/GitVersion.Configuration/Init/EditConfigStep.cs diff --git a/src/GitVersion.Core/Configuration/Init/GitVersionInitModule.cs b/src/GitVersion.Configuration/Init/GitVersionInitModule.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/GitVersionInitModule.cs rename to src/GitVersion.Configuration/Init/GitVersionInitModule.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/AssemblyVersioningSchemeSetting.cs b/src/GitVersion.Configuration/Init/SetConfig/AssemblyVersioningSchemeSetting.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/AssemblyVersioningSchemeSetting.cs rename to src/GitVersion.Configuration/Init/SetConfig/AssemblyVersioningSchemeSetting.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/ConfigureBranch.cs b/src/GitVersion.Configuration/Init/SetConfig/ConfigureBranch.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/ConfigureBranch.cs rename to src/GitVersion.Configuration/Init/SetConfig/ConfigureBranch.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/ConfigureBranches.cs b/src/GitVersion.Configuration/Init/SetConfig/ConfigureBranches.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/ConfigureBranches.cs rename to src/GitVersion.Configuration/Init/SetConfig/ConfigureBranches.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/GlobalModeSetting.cs b/src/GitVersion.Configuration/Init/SetConfig/GlobalModeSetting.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/GlobalModeSetting.cs rename to src/GitVersion.Configuration/Init/SetConfig/GlobalModeSetting.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/SetBranchIncrementMode.cs b/src/GitVersion.Configuration/Init/SetConfig/SetBranchIncrementMode.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/SetBranchIncrementMode.cs rename to src/GitVersion.Configuration/Init/SetConfig/SetBranchIncrementMode.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetConfig/SetBranchTag.cs b/src/GitVersion.Configuration/Init/SetConfig/SetBranchTag.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetConfig/SetBranchTag.cs rename to src/GitVersion.Configuration/Init/SetConfig/SetBranchTag.cs diff --git a/src/GitVersion.Core/Configuration/Init/SetNextVersion.cs b/src/GitVersion.Configuration/Init/SetNextVersion.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/SetNextVersion.cs rename to src/GitVersion.Configuration/Init/SetNextVersion.cs diff --git a/src/GitVersion.Core/Configuration/Init/StepResult.cs b/src/GitVersion.Configuration/Init/StepResult.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/StepResult.cs rename to src/GitVersion.Configuration/Init/StepResult.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitStepFactory.cs b/src/GitVersion.Configuration/Init/Wizard/ConfigInitStepFactory.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitStepFactory.cs rename to src/GitVersion.Configuration/Init/Wizard/ConfigInitStepFactory.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitWizard.cs b/src/GitVersion.Configuration/Init/Wizard/ConfigInitWizard.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitWizard.cs rename to src/GitVersion.Configuration/Init/Wizard/ConfigInitWizard.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitWizardStep.cs b/src/GitVersion.Configuration/Init/Wizard/ConfigInitWizardStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/ConfigInitWizardStep.cs rename to src/GitVersion.Configuration/Init/Wizard/ConfigInitWizardStep.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/FinishedSetupStep.cs b/src/GitVersion.Configuration/Init/Wizard/FinishedSetupStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/FinishedSetupStep.cs rename to src/GitVersion.Configuration/Init/Wizard/FinishedSetupStep.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/GitFlowSetupStep.cs b/src/GitVersion.Configuration/Init/Wizard/GitFlowSetupStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/GitFlowSetupStep.cs rename to src/GitVersion.Configuration/Init/Wizard/GitFlowSetupStep.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/GitHubFlowStep.cs b/src/GitVersion.Configuration/Init/Wizard/GitHubFlowStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/GitHubFlowStep.cs rename to src/GitVersion.Configuration/Init/Wizard/GitHubFlowStep.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/IConfigInitStepFactory.cs b/src/GitVersion.Configuration/Init/Wizard/IConfigInitStepFactory.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/IConfigInitStepFactory.cs rename to src/GitVersion.Configuration/Init/Wizard/IConfigInitStepFactory.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/IConfigInitWizard.cs b/src/GitVersion.Configuration/Init/Wizard/IConfigInitWizard.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/IConfigInitWizard.cs rename to src/GitVersion.Configuration/Init/Wizard/IConfigInitWizard.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy1Step.cs b/src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy1Step.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy1Step.cs rename to src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy1Step.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy2Step.cs b/src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy2Step.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy2Step.cs rename to src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy2Step.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy3Step.cs b/src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy3Step.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategy3Step.cs rename to src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategy3Step.cs diff --git a/src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategyStep.cs b/src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategyStep.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Init/Wizard/PickBranchingStrategyStep.cs rename to src/GitVersion.Configuration/Init/Wizard/PickBranchingStrategyStep.cs diff --git a/src/GitVersion.Configuration/PublicAPI.Shipped.txt b/src/GitVersion.Configuration/PublicAPI.Shipped.txt new file mode 100644 index 0000000000..91b0e1a43b --- /dev/null +++ b/src/GitVersion.Configuration/PublicAPI.Shipped.txt @@ -0,0 +1 @@ +#nullable enable \ No newline at end of file diff --git a/src/GitVersion.Configuration/PublicAPI.Unshipped.txt b/src/GitVersion.Configuration/PublicAPI.Unshipped.txt new file mode 100644 index 0000000000..0e8718d52c --- /dev/null +++ b/src/GitVersion.Configuration/PublicAPI.Unshipped.txt @@ -0,0 +1,12 @@ +#nullable enable +GitVersion.Configuration.ConfigurationException +GitVersion.Configuration.ConfigurationException.ConfigurationException() -> void +GitVersion.Configuration.ConfigurationException.ConfigurationException(string! message, System.Exception! innerException) -> void +GitVersion.Configuration.ConfigurationException.ConfigurationException(string! messageFormat, params object![]! args) -> void +GitVersion.Configuration.ConfigurationException.ConfigurationException(string! msg) -> void +GitVersion.Configuration.GitVersionConfigurationModule +GitVersion.Configuration.GitVersionConfigurationModule.GitVersionConfigurationModule() -> void +GitVersion.Configuration.GitVersionConfigurationModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void +GitVersion.Configuration.Init.GitVersionInitModule +GitVersion.Configuration.Init.GitVersionInitModule.GitVersionInitModule() -> void +GitVersion.Configuration.Init.GitVersionInitModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void \ No newline at end of file diff --git a/src/GitVersion.Core/Configuration/SupportedWorkflows/GitFlow/v1.yml b/src/GitVersion.Configuration/SupportedWorkflows/GitFlow/v1.yml similarity index 100% rename from src/GitVersion.Core/Configuration/SupportedWorkflows/GitFlow/v1.yml rename to src/GitVersion.Configuration/SupportedWorkflows/GitFlow/v1.yml diff --git a/src/GitVersion.Core/Configuration/SupportedWorkflows/GitHubFlow/v1.yml b/src/GitVersion.Configuration/SupportedWorkflows/GitHubFlow/v1.yml similarity index 100% rename from src/GitVersion.Core/Configuration/SupportedWorkflows/GitHubFlow/v1.yml rename to src/GitVersion.Configuration/SupportedWorkflows/GitHubFlow/v1.yml diff --git a/src/GitVersion.Core/Configuration/SupportedWorkflows/WorkflowManager.cs b/src/GitVersion.Configuration/SupportedWorkflows/WorkflowManager.cs similarity index 100% rename from src/GitVersion.Core/Configuration/SupportedWorkflows/WorkflowManager.cs rename to src/GitVersion.Configuration/SupportedWorkflows/WorkflowManager.cs diff --git a/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj b/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj index 05bd23ccfa..b0117056d7 100644 --- a/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj +++ b/src/GitVersion.Core.Tests/GitVersion.Core.Tests.csproj @@ -13,6 +13,7 @@ + diff --git a/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs b/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs index 8748672d2d..e6410ceb26 100644 --- a/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs +++ b/src/GitVersion.Core.Tests/Helpers/GitVersionCoreTestModule.cs @@ -1,4 +1,5 @@ using GitVersion.Agents; +using GitVersion.Configuration; using GitVersion.Extensions; using GitVersion.Logging; using GitVersion.Output; @@ -13,6 +14,7 @@ public void RegisterTypes(IServiceCollection services) services.AddModule(new GitVersionLibGit2SharpModule()); services.AddModule(new GitVersionBuildAgentsModule()); services.AddModule(new GitVersionOutputModule()); + services.AddModule(new GitVersionConfigurationModule()); services.AddModule(new GitVersionCoreModule()); services.AddSingleton(); diff --git a/src/GitVersion.Core/Configuration/IBranchConfiguration.cs b/src/GitVersion.Core/Configuration/IBranchConfiguration.cs index be21e24a08..5a276c2e67 100644 --- a/src/GitVersion.Core/Configuration/IBranchConfiguration.cs +++ b/src/GitVersion.Core/Configuration/IBranchConfiguration.cs @@ -38,5 +38,7 @@ public bool IsMatch(string branchName) IReadOnlyCollection IsSourceBranchFor { get; } + IBranchConfiguration Empty(); + IBranchConfiguration Inherit(IBranchConfiguration configuration); } diff --git a/src/GitVersion.Core/Configuration/Abstractions/IConfigurationFileLocator.cs b/src/GitVersion.Core/Configuration/IConfigurationFileLocator.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Abstractions/IConfigurationFileLocator.cs rename to src/GitVersion.Core/Configuration/IConfigurationFileLocator.cs diff --git a/src/GitVersion.Core/Configuration/Abstractions/IConfigurationProvider.cs b/src/GitVersion.Core/Configuration/IConfigurationProvider.cs similarity index 100% rename from src/GitVersion.Core/Configuration/Abstractions/IConfigurationProvider.cs rename to src/GitVersion.Core/Configuration/IConfigurationProvider.cs diff --git a/src/GitVersion.Core/Configuration/IgnoreConfigurationExtensions.cs b/src/GitVersion.Core/Configuration/IgnoreConfigurationExtensions.cs deleted file mode 100644 index c442ad829b..0000000000 --- a/src/GitVersion.Core/Configuration/IgnoreConfigurationExtensions.cs +++ /dev/null @@ -1,15 +0,0 @@ -using GitVersion.Extensions; -using GitVersion.VersionCalculation; - -namespace GitVersion.Configuration; - -internal static class IgnoreConfigurationExtensions -{ - public static IEnumerable ToFilters(this IIgnoreConfiguration source) - { - source.NotNull(); - - if (source.Shas.Any()) yield return new ShaVersionFilter(source.Shas); - if (source.Before.HasValue) yield return new MinDateVersionFilter(source.Before.Value); - } -} diff --git a/src/GitVersion.Core/Configuration/ConfigurationExtensions.cs b/src/GitVersion.Core/Extensions/ConfigurationExtensions.cs similarity index 93% rename from src/GitVersion.Core/Configuration/ConfigurationExtensions.cs rename to src/GitVersion.Core/Extensions/ConfigurationExtensions.cs index 52edbd91c9..39286f9db7 100644 --- a/src/GitVersion.Core/Configuration/ConfigurationExtensions.cs +++ b/src/GitVersion.Core/Extensions/ConfigurationExtensions.cs @@ -1,5 +1,6 @@ using System.Text.RegularExpressions; using GitVersion.Extensions; +using GitVersion.VersionCalculation; namespace GitVersion.Configuration; @@ -20,15 +21,18 @@ public static EffectiveConfiguration GetEffectiveConfiguration(this IGitVersionC public static IBranchConfiguration GetBranchConfiguration(this IGitVersionConfiguration configuration, ReferenceName branchName) { var branchConfiguration = GetBranchConfigurations(configuration, branchName.WithoutOrigin).FirstOrDefault(); - branchConfiguration ??= new BranchConfiguration - { - RegularExpression = string.Empty, - Label = ConfigurationConstants.BranchNamePlaceholder, - Increment = IncrementStrategy.Inherit - }; + branchConfiguration ??= configuration.Empty(); return branchConfiguration; } + public static IEnumerable ToFilters(this IIgnoreConfiguration source) + { + source.NotNull(); + + if (source.Shas.Any()) yield return new ShaVersionFilter(source.Shas); + if (source.Before.HasValue) yield return new MinDateVersionFilter(source.Before.Value); + } + private static IEnumerable GetBranchConfigurations(IGitVersionConfiguration configuration, string branchName) { IBranchConfiguration? unknownBranchConfiguration = null; diff --git a/src/GitVersion.Core/GitVersion.Core.csproj b/src/GitVersion.Core/GitVersion.Core.csproj index b0070ba8a6..65a85948fd 100644 --- a/src/GitVersion.Core/GitVersion.Core.csproj +++ b/src/GitVersion.Core/GitVersion.Core.csproj @@ -11,11 +11,6 @@ $(AssemblyName) - - - - - @@ -30,6 +25,7 @@ + diff --git a/src/GitVersion.Core/GitVersionCoreModule.cs b/src/GitVersion.Core/GitVersionCoreModule.cs index 7db12aa0d0..8aa8632ca1 100644 --- a/src/GitVersion.Core/GitVersionCoreModule.cs +++ b/src/GitVersion.Core/GitVersionCoreModule.cs @@ -1,5 +1,4 @@ using GitVersion.Common; -using GitVersion.Configuration; using GitVersion.Extensions; using GitVersion.VersionCalculation; using GitVersion.VersionCalculation.Caching; @@ -13,7 +12,6 @@ public class GitVersionCoreModule : IGitVersionModule public void RegisterTypes(IServiceCollection services) { services.AddSingleton(); - services.AddSingleton(); services.AddSingleton(); @@ -29,7 +27,6 @@ public void RegisterTypes(IServiceCollection services) }); services.AddModule(new GitVersionCommonModule()); - services.AddModule(new ConfigurationModule()); services.AddModule(new VersionCalculationModule()); } } diff --git a/src/GitVersion.Core/PublicAPI.Unshipped.txt b/src/GitVersion.Core/PublicAPI.Unshipped.txt index 6dd9c51760..1b637ab304 100644 --- a/src/GitVersion.Core/PublicAPI.Unshipped.txt +++ b/src/GitVersion.Core/PublicAPI.Unshipped.txt @@ -88,15 +88,7 @@ GitVersion.Common.IRepositoryStore.GetTaggedSemanticVersionsOnBranch(GitVersion. GitVersion.Common.IRepositoryStore.GetTargetBranch(string? targetBranchName) -> GitVersion.IBranch! GitVersion.Common.IRepositoryStore.GetVersionTagsOnBranch(GitVersion.IBranch! branch, string? tagPrefix, GitVersion.SemanticVersionFormat format) -> System.Collections.Generic.IEnumerable! GitVersion.Common.IRepositoryStore.IsCommitOnBranch(GitVersion.ICommit? baseVersionSource, GitVersion.IBranch! branch, GitVersion.ICommit! firstMatchingCommit) -> bool -GitVersion.Configuration.ConfigurationException -GitVersion.Configuration.ConfigurationException.ConfigurationException() -> void -GitVersion.Configuration.ConfigurationException.ConfigurationException(string! message, System.Exception! innerException) -> void -GitVersion.Configuration.ConfigurationException.ConfigurationException(string! messageFormat, params object![]! args) -> void -GitVersion.Configuration.ConfigurationException.ConfigurationException(string! msg) -> void GitVersion.Configuration.ConfigurationExtensions -GitVersion.Configuration.ConfigurationModule -GitVersion.Configuration.ConfigurationModule.ConfigurationModule() -> void -GitVersion.Configuration.ConfigurationModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void GitVersion.Configuration.EffectiveBranchConfiguration GitVersion.Configuration.EffectiveBranchConfiguration.Branch.get -> GitVersion.IBranch! GitVersion.Configuration.EffectiveBranchConfiguration.EffectiveBranchConfiguration(GitVersion.Configuration.EffectiveConfiguration! Value, GitVersion.IBranch! Branch) -> void @@ -137,6 +129,7 @@ GitVersion.Configuration.EffectiveConfiguration.VersionInBranchRegex.get -> Syst GitVersion.Configuration.EffectiveConfiguration.VersioningMode.get -> GitVersion.VersionCalculation.VersioningMode GitVersion.Configuration.IBranchConfiguration GitVersion.Configuration.IBranchConfiguration.CommitMessageIncrementing.get -> GitVersion.VersionCalculation.CommitMessageIncrementMode? +GitVersion.Configuration.IBranchConfiguration.Empty() -> GitVersion.Configuration.IBranchConfiguration! GitVersion.Configuration.IBranchConfiguration.Increment.get -> GitVersion.IncrementStrategy GitVersion.Configuration.IBranchConfiguration.Inherit(GitVersion.Configuration.IBranchConfiguration! configuration) -> GitVersion.Configuration.IBranchConfiguration! GitVersion.Configuration.IBranchConfiguration.IsMainline.get -> bool? @@ -188,9 +181,6 @@ GitVersion.Configuration.IIgnoreConfiguration GitVersion.Configuration.IIgnoreConfiguration.Before.get -> System.DateTimeOffset? GitVersion.Configuration.IIgnoreConfiguration.IsEmpty.get -> bool GitVersion.Configuration.IIgnoreConfiguration.Shas.get -> System.Collections.Generic.IReadOnlyCollection! -GitVersion.Configuration.Init.GitVersionInitModule -GitVersion.Configuration.Init.GitVersionInitModule.GitVersionInitModule() -> void -GitVersion.Configuration.Init.GitVersionInitModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void GitVersion.ConfigurationInfo GitVersion.ConfigurationInfo.ConfigurationFile -> string? GitVersion.ConfigurationInfo.ConfigurationInfo() -> void @@ -813,6 +803,7 @@ static GitVersion.Configuration.ConfigurationExtensions.GetFallbackBranchConfigu static GitVersion.Configuration.ConfigurationExtensions.GetReleaseBranchConfiguration(this GitVersion.Configuration.IGitVersionConfiguration! configuration) -> System.Collections.Generic.List>! static GitVersion.Configuration.ConfigurationExtensions.IsReleaseBranch(this GitVersion.Configuration.IGitVersionConfiguration! configuration, GitVersion.IBranch! branch) -> bool static GitVersion.Configuration.ConfigurationExtensions.IsReleaseBranch(this GitVersion.Configuration.IGitVersionConfiguration! configuration, GitVersion.ReferenceName! branchName) -> bool +static GitVersion.Configuration.ConfigurationExtensions.ToFilters(this GitVersion.Configuration.IIgnoreConfiguration! source) -> System.Collections.Generic.IEnumerable! static GitVersion.Extensions.AssemblyVersionsGeneratorExtensions.GetAssemblyFileVersion(this GitVersion.SemanticVersion! sv, GitVersion.Extensions.AssemblyFileVersioningScheme scheme) -> string? static GitVersion.Extensions.AssemblyVersionsGeneratorExtensions.GetAssemblyVersion(this GitVersion.SemanticVersion! sv, GitVersion.Extensions.AssemblyVersioningScheme scheme) -> string? static GitVersion.Extensions.CommonExtensions.NotNull(this T? value, string! name = "") -> T! diff --git a/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj b/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj index 7203f15af7..59b3f274aa 100644 --- a/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj +++ b/src/GitVersion.MsBuild.Tests/GitVersion.MsBuild.Tests.csproj @@ -10,6 +10,7 @@ + diff --git a/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj b/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj index be3f594dc4..0b5bf53cb6 100644 --- a/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj +++ b/src/GitVersion.MsBuild/GitVersion.MsBuild.csproj @@ -21,6 +21,7 @@ + diff --git a/src/GitVersion.MsBuild/GitVersionTasks.cs b/src/GitVersion.MsBuild/GitVersionTasks.cs index ef681f1a33..c2facf75d9 100644 --- a/src/GitVersion.MsBuild/GitVersionTasks.cs +++ b/src/GitVersion.MsBuild/GitVersionTasks.cs @@ -1,4 +1,5 @@ using GitVersion.Agents; +using GitVersion.Configuration; using GitVersion.Extensions; using GitVersion.Logging; using GitVersion.MsBuild.Tasks; @@ -68,6 +69,7 @@ private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task) }; services.AddSingleton(Options.Create(gitVersionOptions)); + services.AddModule(new GitVersionConfigurationModule()); services.AddModule(new GitVersionCoreModule()); services.AddModule(new GitVersionBuildAgentsModule()); services.AddModule(new GitVersionOutputModule()); diff --git a/src/GitVersion.Output/GitVersionOutputTool.cs b/src/GitVersion.Output/GitVersionOutputTool.cs index 6d19222437..bd6697228c 100644 --- a/src/GitVersion.Output/GitVersionOutputTool.cs +++ b/src/GitVersion.Output/GitVersionOutputTool.cs @@ -78,6 +78,4 @@ public void GenerateGitVersionInformation(GitVersionVariables variables, FileWri this.gitVersionInfoGenerator.Execute(variables, new GitVersionInfoContext(gitVersionOptions.WorkingDirectory, fileWriteInfo.FileName, fileWriteInfo.FileExtension, targetNamespace)); } } - - public void GenerateGitVersionInformation(GitVersionVariables variables, FileWriteInfo fileWriteInfo) => GenerateGitVersionInformation(variables, fileWriteInfo, null); } diff --git a/src/GitVersion.Output/IGitVersionOutputTool.cs b/src/GitVersion.Output/IGitVersionOutputTool.cs index f56248fe5e..16654a01c6 100644 --- a/src/GitVersion.Output/IGitVersionOutputTool.cs +++ b/src/GitVersion.Output/IGitVersionOutputTool.cs @@ -7,6 +7,5 @@ public interface IGitVersionOutputTool void OutputVariables(GitVersionVariables variables, bool updateBuildNumber); void UpdateAssemblyInfo(GitVersionVariables variables); void UpdateWixVersionFile(GitVersionVariables variables); - void GenerateGitVersionInformation(GitVersionVariables variables, FileWriteInfo fileWriteInfo); void GenerateGitVersionInformation(GitVersionVariables variables, FileWriteInfo fileWriteInfo, string? targetNamespace = null); } diff --git a/src/GitVersion.Output/PublicAPI.Unshipped.txt b/src/GitVersion.Output/PublicAPI.Unshipped.txt index 4920c0a9cc..b17866672f 100644 --- a/src/GitVersion.Output/PublicAPI.Unshipped.txt +++ b/src/GitVersion.Output/PublicAPI.Unshipped.txt @@ -1,6 +1,5 @@ #nullable enable GitVersion.IGitVersionOutputTool -GitVersion.IGitVersionOutputTool.GenerateGitVersionInformation(GitVersion.OutputVariables.GitVersionVariables! variables, GitVersion.FileWriteInfo! fileWriteInfo) -> void GitVersion.IGitVersionOutputTool.GenerateGitVersionInformation(GitVersion.OutputVariables.GitVersionVariables! variables, GitVersion.FileWriteInfo! fileWriteInfo, string? targetNamespace = null) -> void GitVersion.IGitVersionOutputTool.OutputVariables(GitVersion.OutputVariables.GitVersionVariables! variables, bool updateBuildNumber) -> void GitVersion.IGitVersionOutputTool.UpdateAssemblyInfo(GitVersion.OutputVariables.GitVersionVariables! variables) -> void diff --git a/src/GitVersion.Schema/GitVersion.Schema.csproj b/src/GitVersion.Schema/GitVersion.Schema.csproj index 1a9a8a5a49..ac5ea4b733 100644 --- a/src/GitVersion.Schema/GitVersion.Schema.csproj +++ b/src/GitVersion.Schema/GitVersion.Schema.csproj @@ -9,5 +9,6 @@ + diff --git a/src/GitVersion.sln b/src/GitVersion.sln index 302dfd64e5..ffc44ad75b 100644 --- a/src/GitVersion.sln +++ b/src/GitVersion.sln @@ -4,6 +4,8 @@ VisualStudioVersion = 17.5.33502.453 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitVersion.App", "GitVersion.App\GitVersion.App.csproj", "{C3578A7B-09A6-4444-9383-0DEAFA4958BD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersion.Configuration", "GitVersion.Configuration\GitVersion.Configuration.csproj", "{B93C3F0C-6CBF-49E6-A476-A0103319640B}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitVersion.Core.Tests", "GitVersion.Core.Tests\GitVersion.Core.Tests.csproj", "{BF905F84-382C-440D-92F5-C61108626D8D}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GitVersion.Core", "GitVersion.Core\GitVersion.Core.csproj", "{F9741A0D-B9D7-4557-9A1C-A7252C1071F5}" @@ -110,6 +112,10 @@ Global {22026A20-261C-4EF5-836C-EA6F6D37B5E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {22026A20-261C-4EF5-836C-EA6F6D37B5E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {22026A20-261C-4EF5-836C-EA6F6D37B5E3}.Release|Any CPU.Build.0 = Release|Any CPU + {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -121,6 +127,7 @@ Global {843450BC-3A6D-4DA6-8520-2D9A9C8218AC} = {69C36B9D-E496-42A2-B091-C055E999686C} {13C60949-7225-4B08-BE63-CAAC5E25FD16} = {69C36B9D-E496-42A2-B091-C055E999686C} {1F4BE015-699F-464A-8FF0-D8762102421A} = {542E443E-14C3-45A7-A2E9-ACF27286A3B2} + {B93C3F0C-6CBF-49E6-A476-A0103319640B} = {69C36B9D-E496-42A2-B091-C055E999686C} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0C1C310E-7A4D-4032-878B-6DC375894C49} From ad16f2a0284a1b92540b3e4254be76908cb84c59 Mon Sep 17 00:00:00 2001 From: Artur Stolear Date: Mon, 20 Nov 2023 03:20:47 +0100 Subject: [PATCH 2/2] Add GitVersion.Configuration.Tests project This commit introduces the GitVersion.Configuration.Tests project in the solution. Several test files related to configuration were moved from GitVersion.Core.Tests to the new project, ensuring proper organization. Additionally, InternalVisibleTo attribute was added in GitVersion.Core and GitVersion.Configuration projects to include this new test project. --- .../Configuration/ConfigurationExtensionsTests.cs | 0 .../Configuration/ConfigurationFileLocatorTests.cs | 0 ...erTests.CanWriteOutEffectiveConfiguration.approved.txt | 0 .../Configuration/ConfigurationProviderTests.cs | 0 .../Configuration/IgnoreConfigurationTests.cs | 0 .../Init/InitScenarios.CanSetNextVersion.approved.txt | 0 .../Configuration/Init/InitScenarios.cs | 0 .../GitVersion.Configuration.Tests.csproj | 8 ++++++++ .../GitVersion.Configuration.csproj | 3 ++- src/GitVersion.Core/GitVersion.Core.csproj | 1 + src/GitVersion.sln | 7 +++++++ 11 files changed, 18 insertions(+), 1 deletion(-) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/ConfigurationExtensionsTests.cs (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/ConfigurationFileLocatorTests.cs (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/ConfigurationProviderTests.cs (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/IgnoreConfigurationTests.cs (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/Init/InitScenarios.CanSetNextVersion.approved.txt (100%) rename src/{GitVersion.Core.Tests => GitVersion.Configuration.Tests}/Configuration/Init/InitScenarios.cs (100%) create mode 100644 src/GitVersion.Configuration.Tests/GitVersion.Configuration.Tests.csproj diff --git a/src/GitVersion.Core.Tests/Configuration/ConfigurationExtensionsTests.cs b/src/GitVersion.Configuration.Tests/Configuration/ConfigurationExtensionsTests.cs similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/ConfigurationExtensionsTests.cs rename to src/GitVersion.Configuration.Tests/Configuration/ConfigurationExtensionsTests.cs diff --git a/src/GitVersion.Core.Tests/Configuration/ConfigurationFileLocatorTests.cs b/src/GitVersion.Configuration.Tests/Configuration/ConfigurationFileLocatorTests.cs similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/ConfigurationFileLocatorTests.cs rename to src/GitVersion.Configuration.Tests/Configuration/ConfigurationFileLocatorTests.cs diff --git a/src/GitVersion.Core.Tests/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt b/src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt rename to src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.CanWriteOutEffectiveConfiguration.approved.txt diff --git a/src/GitVersion.Core.Tests/Configuration/ConfigurationProviderTests.cs b/src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.cs similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/ConfigurationProviderTests.cs rename to src/GitVersion.Configuration.Tests/Configuration/ConfigurationProviderTests.cs diff --git a/src/GitVersion.Core.Tests/Configuration/IgnoreConfigurationTests.cs b/src/GitVersion.Configuration.Tests/Configuration/IgnoreConfigurationTests.cs similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/IgnoreConfigurationTests.cs rename to src/GitVersion.Configuration.Tests/Configuration/IgnoreConfigurationTests.cs diff --git a/src/GitVersion.Core.Tests/Configuration/Init/InitScenarios.CanSetNextVersion.approved.txt b/src/GitVersion.Configuration.Tests/Configuration/Init/InitScenarios.CanSetNextVersion.approved.txt similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/Init/InitScenarios.CanSetNextVersion.approved.txt rename to src/GitVersion.Configuration.Tests/Configuration/Init/InitScenarios.CanSetNextVersion.approved.txt diff --git a/src/GitVersion.Core.Tests/Configuration/Init/InitScenarios.cs b/src/GitVersion.Configuration.Tests/Configuration/Init/InitScenarios.cs similarity index 100% rename from src/GitVersion.Core.Tests/Configuration/Init/InitScenarios.cs rename to src/GitVersion.Configuration.Tests/Configuration/Init/InitScenarios.cs diff --git a/src/GitVersion.Configuration.Tests/GitVersion.Configuration.Tests.csproj b/src/GitVersion.Configuration.Tests/GitVersion.Configuration.Tests.csproj new file mode 100644 index 0000000000..5586aa7b49 --- /dev/null +++ b/src/GitVersion.Configuration.Tests/GitVersion.Configuration.Tests.csproj @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/GitVersion.Configuration/GitVersion.Configuration.csproj b/src/GitVersion.Configuration/GitVersion.Configuration.csproj index a37fea4b0f..819a1d7bf7 100644 --- a/src/GitVersion.Configuration/GitVersion.Configuration.csproj +++ b/src/GitVersion.Configuration/GitVersion.Configuration.csproj @@ -18,10 +18,11 @@ - + + diff --git a/src/GitVersion.Core/GitVersion.Core.csproj b/src/GitVersion.Core/GitVersion.Core.csproj index 65a85948fd..cd5b8fbe05 100644 --- a/src/GitVersion.Core/GitVersion.Core.csproj +++ b/src/GitVersion.Core/GitVersion.Core.csproj @@ -31,6 +31,7 @@ + diff --git a/src/GitVersion.sln b/src/GitVersion.sln index ffc44ad75b..fd07b98004 100644 --- a/src/GitVersion.sln +++ b/src/GitVersion.sln @@ -54,6 +54,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "readme", "readme", "{1F4BE0 ..\SECURITY.md = ..\SECURITY.md EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitVersion.Configuration.Tests", "GitVersion.Configuration.Tests\GitVersion.Configuration.Tests.csproj", "{E3722E82-D283-4BA7-B44F-C43072B829FA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -116,6 +118,10 @@ Global {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Debug|Any CPU.Build.0 = Debug|Any CPU {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Release|Any CPU.ActiveCfg = Release|Any CPU {B93C3F0C-6CBF-49E6-A476-A0103319640B}.Release|Any CPU.Build.0 = Release|Any CPU + {E3722E82-D283-4BA7-B44F-C43072B829FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3722E82-D283-4BA7-B44F-C43072B829FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3722E82-D283-4BA7-B44F-C43072B829FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3722E82-D283-4BA7-B44F-C43072B829FA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -128,6 +134,7 @@ Global {13C60949-7225-4B08-BE63-CAAC5E25FD16} = {69C36B9D-E496-42A2-B091-C055E999686C} {1F4BE015-699F-464A-8FF0-D8762102421A} = {542E443E-14C3-45A7-A2E9-ACF27286A3B2} {B93C3F0C-6CBF-49E6-A476-A0103319640B} = {69C36B9D-E496-42A2-B091-C055E999686C} + {E3722E82-D283-4BA7-B44F-C43072B829FA} = {69C36B9D-E496-42A2-B091-C055E999686C} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {0C1C310E-7A4D-4032-878B-6DC375894C49}