diff --git a/new-cli/GitVersion.Common/GitVersion.Common.csproj b/new-cli/GitVersion.Common/GitVersion.Common.csproj
index f2507e4fbd..a8d47b764c 100644
--- a/new-cli/GitVersion.Common/GitVersion.Common.csproj
+++ b/new-cli/GitVersion.Common/GitVersion.Common.csproj
@@ -3,64 +3,64 @@
-
+
Git\AuthenticationInfo.cs
-
+
Git\CommitFilter.cs
-
+
Git\IBranch.cs
-
+
Git\IBranchCollection.cs
-
+
Git\ICommit.cs
-
+
Git\ICommitCollection.cs
-
+
Git\IGitObject.cs
-
+
Git\IGitRepository.cs
-
+
Git\INamedReference.cs
-
+
Git\IObjectId.cs
-
+
Git\IReference.cs
-
+
Git\IReferenceCollection.cs
-
+
Git\IRefSpec.cs
-
+
Git\IRefSpecCollection.cs
-
+
Git\IRemote.cs
-
+
Git\IRemoteCollection.cs
-
+
Git\ITag.cs
-
+
Git\ITagCollection.cs
-
+
Git\ReferenceName.cs
-
+
Git\RefSpecDirection.cs
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 81cab381df..45ee37a73e 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -32,7 +32,7 @@
true
false
- true
+ false
true
diff --git a/src/GitVersion.Core/Agents/BuildAgentBase.cs b/src/GitVersion.Abstractions/Agents/BuildAgentBase.cs
similarity index 95%
rename from src/GitVersion.Core/Agents/BuildAgentBase.cs
rename to src/GitVersion.Abstractions/Agents/BuildAgentBase.cs
index e3b572a942..5d20668153 100644
--- a/src/GitVersion.Core/Agents/BuildAgentBase.cs
+++ b/src/GitVersion.Abstractions/Agents/BuildAgentBase.cs
@@ -7,12 +7,12 @@ namespace GitVersion.Agents;
public abstract class BuildAgentBase : ICurrentBuildAgent
{
protected readonly ILog Log;
- protected IEnvironment Environment { get; }
+ protected IEnvironment Environment;
protected BuildAgentBase(IEnvironment environment, ILog log)
{
this.Log = log;
- Environment = environment;
+ this.Environment = environment;
}
protected abstract string EnvironmentVariable { get; }
diff --git a/src/GitVersion.Core/Agents/IBuildAgent.cs b/src/GitVersion.Abstractions/Agents/IBuildAgent.cs
similarity index 100%
rename from src/GitVersion.Core/Agents/IBuildAgent.cs
rename to src/GitVersion.Abstractions/Agents/IBuildAgent.cs
diff --git a/src/GitVersion.Core/Agents/IBuildAgentResolver.cs b/src/GitVersion.Abstractions/Agents/IBuildAgentResolver.cs
similarity index 100%
rename from src/GitVersion.Core/Agents/IBuildAgentResolver.cs
rename to src/GitVersion.Abstractions/Agents/IBuildAgentResolver.cs
diff --git a/src/GitVersion.Core/Core/Attributes/JsonPropertyDescriptionAttribute.cs b/src/GitVersion.Abstractions/Common/Attributes/JsonPropertyDescriptionAttribute.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Attributes/JsonPropertyDescriptionAttribute.cs
rename to src/GitVersion.Abstractions/Common/Attributes/JsonPropertyDescriptionAttribute.cs
diff --git a/src/GitVersion.Core/Core/Attributes/JsonPropertyPatternAttribute.cs b/src/GitVersion.Abstractions/Common/Attributes/JsonPropertyPatternAttribute.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Attributes/JsonPropertyPatternAttribute.cs
rename to src/GitVersion.Abstractions/Common/Attributes/JsonPropertyPatternAttribute.cs
diff --git a/src/GitVersion.Core/Core/Exceptions/BugException.cs b/src/GitVersion.Abstractions/Common/Exceptions/BugException.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Exceptions/BugException.cs
rename to src/GitVersion.Abstractions/Common/Exceptions/BugException.cs
diff --git a/src/GitVersion.Core/Core/Exceptions/GitToolsException.cs b/src/GitVersion.Abstractions/Common/Exceptions/GitToolsException.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Exceptions/GitToolsException.cs
rename to src/GitVersion.Abstractions/Common/Exceptions/GitToolsException.cs
diff --git a/src/GitVersion.Core/Core/Exceptions/GitVersionException.cs b/src/GitVersion.Abstractions/Common/Exceptions/GitVersionException.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Exceptions/GitVersionException.cs
rename to src/GitVersion.Abstractions/Common/Exceptions/GitVersionException.cs
diff --git a/src/GitVersion.Core/Core/Exceptions/LockedFileException.cs b/src/GitVersion.Abstractions/Common/Exceptions/LockedFileException.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Exceptions/LockedFileException.cs
rename to src/GitVersion.Abstractions/Common/Exceptions/LockedFileException.cs
diff --git a/src/GitVersion.Core/Core/Exceptions/WarningException.cs b/src/GitVersion.Abstractions/Common/Exceptions/WarningException.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Exceptions/WarningException.cs
rename to src/GitVersion.Abstractions/Common/Exceptions/WarningException.cs
diff --git a/src/GitVersion.Core/Logging/Abstractions/IConsole.cs b/src/GitVersion.Abstractions/Common/IConsole.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/Abstractions/IConsole.cs
rename to src/GitVersion.Abstractions/Common/IConsole.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IEnvironment.cs b/src/GitVersion.Abstractions/Common/IEnvironment.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IEnvironment.cs
rename to src/GitVersion.Abstractions/Common/IEnvironment.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IFileSystem.cs b/src/GitVersion.Abstractions/Common/IFileSystem.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IFileSystem.cs
rename to src/GitVersion.Abstractions/Common/IFileSystem.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IGitPreparer.cs b/src/GitVersion.Abstractions/Common/IGitPreparer.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IGitPreparer.cs
rename to src/GitVersion.Abstractions/Common/IGitPreparer.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IGitVersionCalculateTool.cs b/src/GitVersion.Abstractions/Common/IGitVersionCalculateTool.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IGitVersionCalculateTool.cs
rename to src/GitVersion.Abstractions/Common/IGitVersionCalculateTool.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IGitVersionContextFactory.cs b/src/GitVersion.Abstractions/Common/IGitVersionContextFactory.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IGitVersionContextFactory.cs
rename to src/GitVersion.Abstractions/Common/IGitVersionContextFactory.cs
diff --git a/src/GitVersion.Core/Core/GitVersionModule.cs b/src/GitVersion.Abstractions/Common/IGitVersionModule.cs
similarity index 57%
rename from src/GitVersion.Core/Core/GitVersionModule.cs
rename to src/GitVersion.Abstractions/Common/IGitVersionModule.cs
index f9b24a65e0..0d8e217a35 100644
--- a/src/GitVersion.Core/Core/GitVersionModule.cs
+++ b/src/GitVersion.Abstractions/Common/IGitVersionModule.cs
@@ -3,11 +3,11 @@
namespace GitVersion;
-public abstract class GitVersionModule : IGitVersionModule
+public interface IGitVersionModule
{
- public abstract void RegisterTypes(IServiceCollection services);
+ void RegisterTypes(IServiceCollection services);
- protected static IEnumerable FindAllDerivedTypes(Assembly? assembly)
+ static IEnumerable FindAllDerivedTypes(Assembly? assembly)
{
assembly.NotNull();
diff --git a/src/GitVersion.Core/Logging/Abstractions/ILog.cs b/src/GitVersion.Abstractions/Common/ILog.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/Abstractions/ILog.cs
rename to src/GitVersion.Abstractions/Common/ILog.cs
diff --git a/src/GitVersion.Core/Logging/Abstractions/ILogAppender.cs b/src/GitVersion.Abstractions/Common/ILogAppender.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/Abstractions/ILogAppender.cs
rename to src/GitVersion.Abstractions/Common/ILogAppender.cs
diff --git a/src/GitVersion.Core/Core/Abstractions/IRepositoryStore.cs b/src/GitVersion.Abstractions/Common/IRepositoryStore.cs
similarity index 100%
rename from src/GitVersion.Core/Core/Abstractions/IRepositoryStore.cs
rename to src/GitVersion.Abstractions/Common/IRepositoryStore.cs
diff --git a/src/GitVersion.Core/BranchCommit.cs b/src/GitVersion.Abstractions/Common/Models/BranchCommit.cs
similarity index 100%
rename from src/GitVersion.Core/BranchCommit.cs
rename to src/GitVersion.Abstractions/Common/Models/BranchCommit.cs
diff --git a/src/GitVersion.Core/GitVersionContext.cs b/src/GitVersion.Abstractions/Common/Models/GitVersionContext.cs
similarity index 100%
rename from src/GitVersion.Core/GitVersionContext.cs
rename to src/GitVersion.Abstractions/Common/Models/GitVersionContext.cs
diff --git a/src/GitVersion.Core/OutputVariables/GitVersionVariables.cs b/src/GitVersion.Abstractions/Common/Models/GitVersionVariables.cs
similarity index 100%
rename from src/GitVersion.Core/OutputVariables/GitVersionVariables.cs
rename to src/GitVersion.Abstractions/Common/Models/GitVersionVariables.cs
diff --git a/src/GitVersion.Core/Logging/LogAction.cs b/src/GitVersion.Abstractions/Common/Models/LogAction.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/LogAction.cs
rename to src/GitVersion.Abstractions/Common/Models/LogAction.cs
diff --git a/src/GitVersion.Core/Logging/LogLevel.cs b/src/GitVersion.Abstractions/Common/Models/LogLevel.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/LogLevel.cs
rename to src/GitVersion.Abstractions/Common/Models/LogLevel.cs
diff --git a/src/GitVersion.Core/Logging/Verbosity.cs b/src/GitVersion.Abstractions/Common/Models/Verbosity.cs
similarity index 100%
rename from src/GitVersion.Core/Logging/Verbosity.cs
rename to src/GitVersion.Abstractions/Common/Models/Verbosity.cs
diff --git a/src/GitVersion.Core/VersionCalculation/CommitMessageIncrementMode.cs b/src/GitVersion.Abstractions/Configuration/CommitMessageIncrementMode.cs
similarity index 100%
rename from src/GitVersion.Core/VersionCalculation/CommitMessageIncrementMode.cs
rename to src/GitVersion.Abstractions/Configuration/CommitMessageIncrementMode.cs
diff --git a/src/GitVersion.Core/Configuration/IBranchConfiguration.cs b/src/GitVersion.Abstractions/Configuration/IBranchConfiguration.cs
similarity index 100%
rename from src/GitVersion.Core/Configuration/IBranchConfiguration.cs
rename to src/GitVersion.Abstractions/Configuration/IBranchConfiguration.cs
diff --git a/src/GitVersion.Core/Configuration/IConfigurationBuilder.cs b/src/GitVersion.Abstractions/Configuration/IConfigurationBuilder.cs
similarity index 79%
rename from src/GitVersion.Core/Configuration/IConfigurationBuilder.cs
rename to src/GitVersion.Abstractions/Configuration/IConfigurationBuilder.cs
index 721482da1d..1eabfff749 100644
--- a/src/GitVersion.Core/Configuration/IConfigurationBuilder.cs
+++ b/src/GitVersion.Abstractions/Configuration/IConfigurationBuilder.cs
@@ -4,5 +4,5 @@ internal interface IConfigurationBuilder
{
void AddOverride(IReadOnlyDictionary