diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/cs/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
rename to src/GitVersionCore.Tests/Approved/cs/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
diff --git a/src/GitVersionCore.Tests/Approved/cs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt b/src/GitVersionCore.Tests/Approved/cs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
new file mode 100644
index 0000000000..698163acfe
--- /dev/null
+++ b/src/GitVersionCore.Tests/Approved/cs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
@@ -0,0 +1,41 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// GitVersion
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[global::System.Runtime.CompilerServices.CompilerGenerated]
+static class GitVersionInformation
+{
+ public static string Major = "1";
+ public static string Minor = "2";
+ public static string Patch = "3";
+ public static string PreReleaseTag = "unstable.4";
+ public static string PreReleaseTagWithDash = "-unstable.4";
+ public static string PreReleaseLabel = "unstable";
+ public static string PreReleaseNumber = "4";
+ public static string BuildMetaData = "5";
+ public static string BuildMetaDataPadded = "0005";
+ public static string FullBuildMetaData = "5.Branch.feature1.Sha.commitSha";
+ public static string MajorMinorPatch = "1.2.3";
+ public static string SemVer = "1.2.3-unstable.4";
+ public static string LegacySemVer = "1.2.3-unstable4";
+ public static string LegacySemVerPadded = "1.2.3-unstable0004";
+ public static string AssemblySemVer = "1.2.3.0";
+ public static string AssemblySemFileVer = "1.2.3.0";
+ public static string FullSemVer = "1.2.3-unstable.4+5";
+ public static string InformationalVersion = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha";
+ public static string BranchName = "feature1";
+ public static string Sha = "commitSha";
+ public static string NuGetVersionV2 = "1.2.3-unstable0004";
+ public static string NuGetVersion = "1.2.3-unstable0004";
+ public static string NuGetPreReleaseTagV2 = "unstable0004";
+ public static string NuGetPreReleaseTag = "unstable0004";
+ public static string CommitsSinceVersionSource = "5";
+ public static string CommitsSinceVersionSourcePadded = "0005";
+ public static string CommitDate = "2014-03-06";
+}
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 93%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index e149fe213b..ae02e71990 100644
--- a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -5,6 +5,7 @@
// You can modify this code as we will not overwrite it when re-executing GitVersion
//
//------------------------------------------------------------------------------
+namespace GitVersionAssemblyInfoFile
open System.Reflection
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 93%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index e149fe213b..ae02e71990 100644
--- a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -5,6 +5,7 @@
// You can modify this code as we will not overwrite it when re-executing GitVersion
//
//------------------------------------------------------------------------------
+namespace GitVersionAssemblyInfoFile
open System.Reflection
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 93%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index e149fe213b..ae02e71990 100644
--- a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -5,6 +5,7 @@
// You can modify this code as we will not overwrite it when re-executing GitVersion
//
//------------------------------------------------------------------------------
+namespace GitVersionAssemblyInfoFile
open System.Reflection
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
diff --git a/src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
similarity index 100%
rename from src/GitVersionExe.Tests/Approved/fs/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
rename to src/GitVersionCore.Tests/Approved/fs/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
diff --git a/src/GitVersionCore.Tests/Approved/fs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt b/src/GitVersionCore.Tests/Approved/fs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
new file mode 100644
index 0000000000..f7ff69ede2
--- /dev/null
+++ b/src/GitVersionCore.Tests/Approved/fs/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
@@ -0,0 +1,40 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// GitVersion
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[]
+[]
+module GitVersionInformation
+ let Major = "1"
+ let Minor = "2"
+ let Patch = "3"
+ let PreReleaseTag = "unstable.4"
+ let PreReleaseTagWithDash = "-unstable.4"
+ let PreReleaseLabel = "unstable"
+ let PreReleaseNumber = "4"
+ let BuildMetaData = "5"
+ let BuildMetaDataPadded = "0005"
+ let FullBuildMetaData = "5.Branch.feature1.Sha.commitSha"
+ let MajorMinorPatch = "1.2.3"
+ let SemVer = "1.2.3-unstable.4"
+ let LegacySemVer = "1.2.3-unstable4"
+ let LegacySemVerPadded = "1.2.3-unstable0004"
+ let AssemblySemVer = "1.2.3.0"
+ let AssemblySemFileVer = "1.2.3.0"
+ let FullSemVer = "1.2.3-unstable.4+5"
+ let InformationalVersion = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha"
+ let BranchName = "feature1"
+ let Sha = "commitSha"
+ let NuGetVersionV2 = "1.2.3-unstable0004"
+ let NuGetVersion = "1.2.3-unstable0004"
+ let NuGetPreReleaseTagV2 = "unstable0004"
+ let NuGetPreReleaseTag = "unstable0004"
+ let CommitsSinceVersionSource = "5"
+ let CommitsSinceVersionSourcePadded = "0005"
+ let CommitDate = "2014-03-06"
\ No newline at end of file
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
similarity index 58%
rename from src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
rename to src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
index 432068eb64..cbe0757c32 100644
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile.approved.txt
@@ -1,3 +1,3 @@
-
+
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 73%
rename from src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index ef98f9db7b..5a17cea41d 100644
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -8,6 +8,6 @@
Imports System.Reflection
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 73%
rename from src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index ef98f9db7b..5a17cea41d 100644
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -8,6 +8,6 @@
Imports System.Reflection
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
similarity index 73%
rename from src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
rename to src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
index ef98f9db7b..5a17cea41d 100644
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInfo.approved.txt
@@ -8,6 +8,6 @@
Imports System.Reflection
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
new file mode 100644
index 0000000000..9bd9b6fa5f
--- /dev/null
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
@@ -0,0 +1,2 @@
+
+
diff --git a/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
new file mode 100644
index 0000000000..9bd9b6fa5f
--- /dev/null
+++ b/src/GitVersionCore.Tests/Approved/vb/AssemblyInfoFileUpdaterTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
@@ -0,0 +1,2 @@
+
+
diff --git a/src/GitVersionCore.Tests/Approved/vb/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt b/src/GitVersionCore.Tests/Approved/vb/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
new file mode 100644
index 0000000000..9f894fffb6
--- /dev/null
+++ b/src/GitVersionCore.Tests/Approved/vb/GitVersionInformationGeneratorTests.ShouldCreateFile.approved.txt
@@ -0,0 +1,42 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' GitVersion
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+
+NotInheritable Class GitVersionInformation
+ Private Sub New()
+ End Sub
+ Public Shared Major As String = "1"
+ Public Shared Minor As String = "2"
+ Public Shared Patch As String = "3"
+ Public Shared PreReleaseTag As String = "unstable.4"
+ Public Shared PreReleaseTagWithDash As String = "-unstable.4"
+ Public Shared PreReleaseLabel As String = "unstable"
+ Public Shared PreReleaseNumber As String = "4"
+ Public Shared BuildMetaData As String = "5"
+ Public Shared BuildMetaDataPadded As String = "0005"
+ Public Shared FullBuildMetaData As String = "5.Branch.feature1.Sha.commitSha"
+ Public Shared MajorMinorPatch As String = "1.2.3"
+ Public Shared SemVer As String = "1.2.3-unstable.4"
+ Public Shared LegacySemVer As String = "1.2.3-unstable4"
+ Public Shared LegacySemVerPadded As String = "1.2.3-unstable0004"
+ Public Shared AssemblySemVer As String = "1.2.3.0"
+ Public Shared AssemblySemFileVer As String = "1.2.3.0"
+ Public Shared FullSemVer As String = "1.2.3-unstable.4+5"
+ Public Shared InformationalVersion As String = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha"
+ Public Shared BranchName As String = "feature1"
+ Public Shared Sha As String = "commitSha"
+ Public Shared NuGetVersionV2 As String = "1.2.3-unstable0004"
+ Public Shared NuGetVersion As String = "1.2.3-unstable0004"
+ Public Shared NuGetPreReleaseTagV2 As String = "unstable0004"
+ Public Shared NuGetPreReleaseTag As String = "unstable0004"
+ Public Shared CommitsSinceVersionSource As String = "5"
+ Public Shared CommitsSinceVersionSourcePadded As String = "0005"
+ Public Shared CommitDate As String = "2014-03-06"
+End Class
\ No newline at end of file
diff --git a/src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs b/src/GitVersionCore.Tests/AssemblyInfoFileUpdaterTests.cs
similarity index 71%
rename from src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs
rename to src/GitVersionCore.Tests/AssemblyInfoFileUpdaterTests.cs
index 9b7e035dca..dadc0c4bad 100644
--- a/src/GitVersionExe.Tests/AssemblyInfoFileUpdateTests.cs
+++ b/src/GitVersionCore.Tests/AssemblyInfoFileUpdaterTests.cs
@@ -10,10 +10,10 @@
using Shouldly;
[TestFixture]
-public class AssemblyInfoFileUpdateTests
+public class AssemblyInfoFileUpdaterTests
{
[SetUp]
- public void SetLoggers()
+ public void Setup()
{
ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
}
@@ -27,21 +27,14 @@ public void ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo(strin
{
var fileSystem = new TestFileSystem();
var workingDir = Path.GetTempPath();
- var assemblyInfoFile = new HashSet
- {
- "VersionAssemblyInfo." + fileExtension
- };
- var fullPath = Path.Combine(workingDir, assemblyInfoFile.First());
+ var assemblyInfoFile = "VersionAssemblyInfo." + fileExtension;
+ var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var arguments = new Arguments
- {
- EnsureAssemblyInfo = true,
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = assemblyInfoFile
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
}
}
@@ -55,21 +48,14 @@ public void ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo
{
var fileSystem = new TestFileSystem();
var workingDir = Path.GetTempPath();
- var assemblyInfoFile = new HashSet
- {
- Path.Combine("src", "Project", "Properties", "VersionAssemblyInfo." + fileExtension)
- };
- var fullPath = Path.Combine(workingDir, assemblyInfoFile.First());
+ var assemblyInfoFile = Path.Combine("src", "Project", "Properties", "VersionAssemblyInfo." + fileExtension);
+ var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var arguments = new Arguments
- {
- EnsureAssemblyInfo = true,
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = assemblyInfoFile
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
}
}
@@ -83,22 +69,18 @@ public void ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInf
{
var fileSystem = new TestFileSystem();
var workingDir = Path.GetTempPath();
- var assemblyInfoFile = new HashSet
+ var assemblyInfoFiles = new HashSet
{
"AssemblyInfo." + fileExtension,
Path.Combine("src", "Project", "Properties", "VersionAssemblyInfo." + fileExtension)
};
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var arguments = new Arguments
- {
- EnsureAssemblyInfo = true,
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = assemblyInfoFile
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, true))
{
- foreach (var item in assemblyInfoFile)
+ assemblyInfoFileUpdater.Update();
+
+ foreach (var item in assemblyInfoFiles)
{
var fullPath = Path.Combine(workingDir, item);
fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
@@ -113,45 +95,31 @@ public void ShouldNotCreateAssemblyInfoFileWhenNotExistsAndNotEnsureAssemblyInfo
{
var fileSystem = new TestFileSystem();
var workingDir = Path.GetTempPath();
- var assemblyInfoFile = new HashSet
- {
- "VersionAssemblyInfo." + fileExtension
- };
- var fullPath = Path.Combine(workingDir, assemblyInfoFile.First());
+ var assemblyInfoFile = "VersionAssemblyInfo." + fileExtension;
+ var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var arguments = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = assemblyInfoFile
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Exists(fullPath).ShouldBeFalse();
}
}
-
[Test]
public void ShouldNotCreateAssemblyInfoFileForUnknownSourceCodeAndEnsureAssemblyInfo()
{
var fileSystem = Substitute.For();
var workingDir = Path.GetTempPath();
- var assemblyInfoFile = new HashSet
- {
- "VersionAssemblyInfo.js"
- };
- var fullPath = Path.Combine(workingDir, assemblyInfoFile.First());
+ var assemblyInfoFile = "VersionAssemblyInfo.js";
+ var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var arguments = new Arguments
- {
- EnsureAssemblyInfo = true,
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = assemblyInfoFile
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received(0).WriteAllText(fullPath, Arg.Any());
}
}
@@ -161,15 +129,13 @@ public void ShouldStartSearchFromWorkingDirectory()
{
var fileSystem = Substitute.For();
var workingDir = Path.GetTempPath();
+ var assemblyInfoFiles = new HashSet();
+ var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
- var config = new TestEffectiveConfiguration();
- var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), config, false);
- var arguments = new Arguments
- {
- UpdateAssemblyInfo = true
- };
- using (new AssemblyInfoFileUpdate(arguments, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().DirectoryGetFiles(Arg.Is(workingDir), Arg.Any(), Arg.Any());
}
}
@@ -182,20 +148,15 @@ public void ShouldStartSearchFromWorkingDirectory()
public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -204,7 +165,6 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi
});
}
-
[TestCase("cs", "[assembly: AssemblyFileVersion(\"1.0.0.0\")]")]
[TestCase("fs", "[]")]
[TestCase("vb", "")]
@@ -213,21 +173,15 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi
public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
-
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
assemblyFileContent = fileSystem.ReadAllText(fileName);
assemblyFileContent.ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
}
@@ -242,20 +196,15 @@ public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileEx
public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension)
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -270,20 +219,15 @@ public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, str
public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension)
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -300,20 +244,15 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string file
public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -330,26 +269,21 @@ public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string as
public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
!s.Contains(@"AssemblyVersionAttribute(""1.0.0.0"")") &&
!s.Contains(@"AssemblyInformationalVersionAttribute(""1.0.0.0"")") &&
!s.Contains(@"AssemblyFileVersionAttribute(""1.0.0.0"")") &&
- s.Contains(@"AssemblyVersion(""2.3.1.0"")") &&
- s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
+ s.Contains(@"AssemblyVersion(""2.3.1.0"")") &&
+ s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
s.Contains(@"AssemblyFileVersion(""2.3.1.0"")")));
}
});
@@ -361,20 +295,15 @@ public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtensio
public void ShouldAddAssemblyVersionIfMissingFromInfoFile(string fileExtension)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile("", fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -391,20 +320,15 @@ public void ShouldAddAssemblyVersionIfMissingFromInfoFile(string fileExtension)
public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -413,7 +337,6 @@ public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string a
});
}
-
[TestCase("cs", "[assembly: AssemblyVersion(\"1.0.0.0\")]\r\n[assembly: AssemblyInformationalVersion(\"1.0.0.0\")]\r\n[assembly: AssemblyFileVersion(\"1.0.0.0\")]")]
[TestCase("fs", "[]\r\n[]\r\n[]")]
[TestCase("vb", "\r\n\r\n")]
@@ -422,21 +345,15 @@ public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string a
public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsureAssemblyInfo(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
- var args = new Arguments
- {
- EnsureAssemblyInfo = true,
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.1.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -451,20 +368,15 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure
public void ShouldReplaceAssemblyVersionInRelativePathWithVariables(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension)
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -479,20 +391,15 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariables(string fileE
public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension);
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- Path.Combine("Project", "src", "Properties", "AssemblyInfo." + fileExtension)
- }
- };
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
fileSystem.Received().WriteAllText(fileName, Arg.Is(s =>
s.Contains(@"AssemblyVersion(""2.3.0.0"")") &&
s.Contains(@"AssemblyInformationalVersion(""2.3.1+3.Branch.foo.Sha.hash"")") &&
@@ -509,28 +416,21 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace
public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
-
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
assemblyFileContent = fileSystem.ReadAllText(fileName);
assemblyFileContent.ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
}
});
}
-
[TestCase("cs", "[assembly: AssemblyFileVersion(\"1.0.0.0\")]")]
[TestCase("fs", "[]")]
[TestCase("vb", "")]
@@ -539,21 +439,15 @@ public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile
public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone(string fileExtension, string assemblyFileContent)
{
var workingDir = Path.GetTempPath();
- var fileName = Path.Combine(workingDir, "AssemblyInfo." + fileExtension);
+ var assemblyInfoFile = "AssemblyInfo." + fileExtension;
+ var fileName = Path.Combine(workingDir, assemblyInfoFile);
VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
- var args = new Arguments
- {
- UpdateAssemblyInfo = true,
- UpdateAssemblyInfoFileName = new HashSet
- {
- "AssemblyInfo." + fileExtension
- }
- };
-
- using (new AssemblyInfoFileUpdate(args, workingDir, variables, fileSystem))
+ using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
{
+ assemblyInfoFileUpdater.Update();
+
assemblyFileContent = fileSystem.ReadAllText(fileName);
assemblyFileContent.ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
}
diff --git a/src/GitVersionCore.Tests/ConfigProviderTests.cs b/src/GitVersionCore.Tests/ConfigProviderTests.cs
index cf3c527325..c39740a69a 100644
--- a/src/GitVersionCore.Tests/ConfigProviderTests.cs
+++ b/src/GitVersionCore.Tests/ConfigProviderTests.cs
@@ -26,6 +26,8 @@ public void Setup()
fileSystem = new TestFileSystem();
repoPath = DefaultRepoPath;
workingPath = DefaultWorkingPath;
+
+ ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
}
[Test]
diff --git a/src/GitVersionCore.Tests/GitVersionCore.Tests.csproj b/src/GitVersionCore.Tests/GitVersionCore.Tests.csproj
index 370f750929..1c888abf5a 100644
--- a/src/GitVersionCore.Tests/GitVersionCore.Tests.csproj
+++ b/src/GitVersionCore.Tests/GitVersionCore.Tests.csproj
@@ -84,6 +84,7 @@
+
@@ -100,6 +101,7 @@
+
@@ -169,6 +171,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/GitVersionCore.Tests/GitVersionInformationGeneratorTests.cs b/src/GitVersionCore.Tests/GitVersionInformationGeneratorTests.cs
new file mode 100644
index 0000000000..a22a8bca1d
--- /dev/null
+++ b/src/GitVersionCore.Tests/GitVersionInformationGeneratorTests.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using GitVersion;
+using NUnit.Framework;
+using Shouldly;
+
+namespace GitVersionCore.Tests
+{
+ [TestFixture]
+ public class GitVersionInformationGeneratorTests
+ {
+ [SetUp]
+ public void Setup()
+ {
+ ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
+ }
+
+ [TestCase("cs")]
+ [TestCase("fs")]
+ [TestCase("vb")]
+ [Category("NoMono")]
+ [Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
+ public void ShouldCreateFile(string fileExtension)
+ {
+ var fileSystem = new TestFileSystem();
+ var directory = Path.GetTempPath();
+ var fileName = "GitVersionInformation.g." + fileExtension;
+ var fullPath = Path.Combine(directory, fileName);
+
+ var semanticVersion = new SemanticVersion
+ {
+ Major = 1,
+ Minor = 2,
+ Patch = 3,
+ PreReleaseTag = "unstable4",
+ BuildMetaData = new SemanticVersionBuildMetaData(5,
+ "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
+ };
+
+ var variables = VariableProvider.GetVariablesFor(semanticVersion, new TestEffectiveConfiguration(), false);
+ var generator = new GitVersionInformationGenerator(fileName, directory, variables, fileSystem);
+
+ generator.Generate();
+
+ fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension)));
+ }
+ }
+}
diff --git a/src/GitVersionCore.Tests/Init/InitScenarios.cs b/src/GitVersionCore.Tests/Init/InitScenarios.cs
index 9584dc49cc..57748cc488 100644
--- a/src/GitVersionCore.Tests/Init/InitScenarios.cs
+++ b/src/GitVersionCore.Tests/Init/InitScenarios.cs
@@ -11,6 +11,12 @@
[TestFixture]
public class InitScenarios
{
+ [SetUp]
+ public void Setup()
+ {
+ ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
+ }
+
[Test]
[Category("NoMono")]
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
diff --git a/src/GitVersionCore.Tests/JsonVersionBuilderTests.cs b/src/GitVersionCore.Tests/JsonVersionBuilderTests.cs
index a900e2d130..72989d8a99 100644
--- a/src/GitVersionCore.Tests/JsonVersionBuilderTests.cs
+++ b/src/GitVersionCore.Tests/JsonVersionBuilderTests.cs
@@ -7,6 +7,12 @@
[TestFixture]
public class JsonVersionBuilderTests
{
+ [SetUp]
+ public void Setup()
+ {
+ ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
+ }
+
[Test]
[Category("NoMono")]
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
diff --git a/src/GitVersionCore.Tests/VariableProviderTests.cs b/src/GitVersionCore.Tests/VariableProviderTests.cs
index 7ae6e64eb3..cebf0d6862 100644
--- a/src/GitVersionCore.Tests/VariableProviderTests.cs
+++ b/src/GitVersionCore.Tests/VariableProviderTests.cs
@@ -7,6 +7,12 @@
[TestFixture]
public class VariableProviderTests
{
+ [SetUp]
+ public void Setup()
+ {
+ ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute();
+ }
+
[Test]
[Category("NoMono")]
[Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
diff --git a/src/GitVersionCore/GitVersionCore.csproj b/src/GitVersionCore/GitVersionCore.csproj
index 0fd85a6b3f..acebe812b1 100644
--- a/src/GitVersionCore/GitVersionCore.csproj
+++ b/src/GitVersionCore/GitVersionCore.csproj
@@ -119,6 +119,7 @@
+
@@ -133,13 +134,13 @@
+
+
-
-
@@ -176,14 +177,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Designer
-
-
-
-
Designer
@@ -221,4 +232,4 @@
-
\ No newline at end of file
+
diff --git a/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.cs b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.cs
new file mode 100644
index 0000000000..f63603f8c1
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.cs
@@ -0,0 +1 @@
+public static string {0} = "{1}";
\ No newline at end of file
diff --git a/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.fs b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.fs
new file mode 100644
index 0000000000..e4b33a1f92
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.fs
@@ -0,0 +1 @@
+let {0} = "{1}"
\ No newline at end of file
diff --git a/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.vb b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.vb
new file mode 100644
index 0000000000..91f924711f
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/AddFormats/GitVersionInformation.vb
@@ -0,0 +1 @@
+Public Shared {0} As String = "{1}"
\ No newline at end of file
diff --git a/src/GitVersionCore/GitVersionInformationResources/GitVersionInformationGenerator.cs b/src/GitVersionCore/GitVersionInformationResources/GitVersionInformationGenerator.cs
new file mode 100644
index 0000000000..76e9fb11a1
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/GitVersionInformationGenerator.cs
@@ -0,0 +1,52 @@
+namespace GitVersion
+{
+ using System;
+ using System.IO;
+ using System.Linq;
+ using Helpers;
+
+ public class GitVersionInformationGenerator
+ {
+ string fileName;
+ string directory;
+ VersionVariables variables;
+ IFileSystem fileSystem;
+
+ TemplateManager templateManager;
+
+ public GitVersionInformationGenerator(string fileName, string directory, VersionVariables variables, IFileSystem fileSystem)
+ {
+ this.fileName = fileName;
+ this.directory = directory;
+ this.variables = variables;
+ this.fileSystem = fileSystem;
+
+ templateManager = new TemplateManager(TemplateType.GitVersionInformationResources);
+ }
+
+ public void Generate()
+ {
+ var filePath = Path.Combine(directory, fileName);
+
+ string originalFileContents = null;
+
+ if (File.Exists(filePath))
+ {
+ originalFileContents = fileSystem.ReadAllText(filePath);
+ }
+
+ var fileExtension = Path.GetExtension(filePath);
+ var template = templateManager.GetTemplateFor(fileExtension);
+ var addFormat = templateManager.GetAddFormatFor(fileExtension);
+
+ var members = string.Join(Environment.NewLine, variables.Select(v => string.Format(" " + addFormat, v.Key, v.Value)));
+
+ var fileContents = string.Format(template, members);
+
+ if (fileContents != originalFileContents)
+ {
+ fileSystem.WriteAllText(filePath, fileContents);
+ }
+ }
+ }
+}
diff --git a/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.cs b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.cs
new file mode 100644
index 0000000000..8648fe841f
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.cs
@@ -0,0 +1,15 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// GitVersion
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[global::System.Runtime.CompilerServices.CompilerGenerated]
+static class GitVersionInformation
+{{
+{0}
+}}
diff --git a/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.fs b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.fs
new file mode 100644
index 0000000000..f66bc9f990
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.fs
@@ -0,0 +1,14 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// GitVersion
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[]
+[]
+module GitVersionInformation
+{0}
\ No newline at end of file
diff --git a/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.vb b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.vb
new file mode 100644
index 0000000000..c0cd736115
--- /dev/null
+++ b/src/GitVersionCore/GitVersionInformationResources/Templates/GitVersionInformation.vb
@@ -0,0 +1,16 @@
+'------------------------------------------------------------------------------
+'
+' This code was generated by a tool.
+' GitVersion
+'
+' Changes to this file may cause incorrect behavior and will be lost if
+' the code is regenerated.
+'
+'------------------------------------------------------------------------------
+
+
+NotInheritable Class GitVersionInformation
+ Private Sub New()
+ End Sub
+{0}
+End Class
\ No newline at end of file
diff --git a/src/GitVersionCore/TemplateManager.cs b/src/GitVersionCore/TemplateManager.cs
new file mode 100644
index 0000000000..4a1ff4ae6c
--- /dev/null
+++ b/src/GitVersionCore/TemplateManager.cs
@@ -0,0 +1,83 @@
+namespace GitVersion
+{
+ using System;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Linq;
+ using GitVersionCore.Extensions;
+
+ enum TemplateType
+ {
+ VersionAssemblyInfoResources,
+ GitVersionInformationResources
+ }
+
+ class TemplateManager
+ {
+ readonly Dictionary templates;
+ readonly Dictionary addFormats;
+
+ public TemplateManager(TemplateType templateType)
+ {
+ templates = GetEmbeddedTemplates(templateType, "Templates").ToDictionary(k => Path.GetExtension(k), v => v, StringComparer.OrdinalIgnoreCase);
+ addFormats = GetEmbeddedTemplates(templateType, "AddFormats").ToDictionary(k => Path.GetExtension(k), v => v, StringComparer.OrdinalIgnoreCase);
+ }
+
+ public string GetTemplateFor(string fileExtension)
+ {
+ if (fileExtension == null)
+ {
+ throw new ArgumentNullException(nameof(fileExtension));
+ }
+
+ string result = null;
+ string template;
+
+ if (templates.TryGetValue(fileExtension, out template) && template != null)
+ {
+ result = template.ReadAsStringFromEmbeddedResource();
+ }
+
+ return result;
+ }
+
+ public string GetAddFormatFor(string fileExtension)
+ {
+ if (fileExtension == null)
+ {
+ throw new ArgumentNullException(nameof(fileExtension));
+ }
+
+ string result = null;
+ string addFormat;
+
+ if (addFormats.TryGetValue(fileExtension, out addFormat) && addFormat != null)
+ {
+ result = addFormat.ReadAsStringFromEmbeddedResource();
+ }
+
+ return result;
+ }
+
+ public bool IsSupported(string fileExtension)
+ {
+ if (fileExtension == null)
+ {
+ throw new ArgumentNullException(nameof(fileExtension));
+ }
+
+ return templates.ContainsKey(fileExtension);
+ }
+
+ static IEnumerable GetEmbeddedTemplates(TemplateType templateType, string templateCategory)
+ {
+ foreach (var name in typeof(TemplateManager).Assembly.GetManifestResourceNames())
+ {
+ if (name.Contains(templateType.ToString()) && name.Contains(templateCategory))
+ {
+ yield return name;
+ }
+ }
+ }
+ }
+}
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.cs b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.cs
new file mode 100644
index 0000000000..4857d5c2b8
--- /dev/null
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.cs
@@ -0,0 +1 @@
+[assembly: {0}]
\ No newline at end of file
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.fs b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.fs
new file mode 100644
index 0000000000..502f32c86a
--- /dev/null
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.fs
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.vb b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.vb
new file mode 100644
index 0000000000..d013c4c19f
--- /dev/null
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/AddFormats/VersionAssemblyInfo.vb
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/GitVersionExe/AssemblyInfoFileUpdate.cs b/src/GitVersionCore/VersionAssemblyInfoResources/AssemblyInfoFileUpdater.cs
similarity index 65%
rename from src/GitVersionExe/AssemblyInfoFileUpdate.cs
rename to src/GitVersionCore/VersionAssemblyInfoResources/AssemblyInfoFileUpdater.cs
index 9914df5df8..5e1456ace1 100644
--- a/src/GitVersionExe/AssemblyInfoFileUpdate.cs
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/AssemblyInfoFileUpdater.cs
@@ -6,30 +6,49 @@ namespace GitVersion
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
- using GitVersion.VersionAssemblyInfoResources;
- // TODO: Consolidate this with GitVersionTask.UpdateAssemblyInfo. @asbjornu
- class AssemblyInfoFileUpdate : IDisposable
+ public class AssemblyInfoFileUpdater : IDisposable
{
- List restoreBackupTasks = new List();
- List cleanupBackupTasks = new List();
+ readonly List restoreBackupTasks = new List();
+ readonly List cleanupBackupTasks = new List();
- public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVariables variables, IFileSystem fileSystem)
+ ISet assemblyInfoFileNames;
+ string workingDirectory;
+ VersionVariables variables;
+ IFileSystem fileSystem;
+ bool ensureAssemblyInfo;
+ TemplateManager templateManager;
+
+ public AssemblyInfoFileUpdater(string assemblyInfoFileName, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, bool ensureAssemblyInfo) :
+ this(new HashSet { assemblyInfoFileName }, workingDirectory, variables, fileSystem, ensureAssemblyInfo)
+ { }
+
+ public AssemblyInfoFileUpdater(ISet assemblyInfoFileNames, string workingDirectory, VersionVariables variables, IFileSystem fileSystem, bool ensureAssemblyInfo)
{
- if (!args.UpdateAssemblyInfo) return;
+ this.assemblyInfoFileNames = assemblyInfoFileNames;
+ this.workingDirectory = workingDirectory;
+ this.variables = variables;
+ this.fileSystem = fileSystem;
+ this.ensureAssemblyInfo = ensureAssemblyInfo;
+
+ templateManager = new TemplateManager(TemplateType.VersionAssemblyInfoResources);
+ }
- if (args.Output != OutputType.Json)
- Logger.WriteInfo("Updating assembly info files");
+ public void Update()
+ {
+ Logger.WriteInfo("Updating assembly info files");
- var assemblyInfoFiles = GetAssemblyInfoFiles(workingDirectory, args, fileSystem).ToList();
+ var assemblyInfoFiles = GetAssemblyInfoFiles(workingDirectory, assemblyInfoFileNames, fileSystem, ensureAssemblyInfo).ToList();
Logger.WriteInfo($"Found {assemblyInfoFiles.Count} files");
var assemblyVersion = variables.AssemblySemVer;
var assemblyVersionRegex = new Regex(@"AssemblyVersion(Attribute)?\s*\(.*\)\s*");
var assemblyVersionString = !string.IsNullOrWhiteSpace(assemblyVersion) ? $"AssemblyVersion(\"{assemblyVersion}\")" : null;
+
var assemblyInfoVersion = variables.InformationalVersion;
var assemblyInfoVersionRegex = new Regex(@"AssemblyInformationalVersion(Attribute)?\s*\(.*\)\s*");
var assemblyInfoVersionString = $"AssemblyInformationalVersion(\"{assemblyInfoVersion}\")";
+
var assemblyFileVersion = variables.AssemblySemFileVer;
var assemblyFileVersionRegex = new Regex(@"AssemblyFileVersion(Attribute)?\s*\(.*\)\s*");
var assemblyFileVersionString = !string.IsNullOrWhiteSpace(assemblyFileVersion) ? $"AssemblyFileVersion(\"{assemblyFileVersion}\")" : null;
@@ -39,25 +58,33 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
var backupAssemblyInfo = assemblyInfoFile.FullName + ".bak";
var localAssemblyInfo = assemblyInfoFile.FullName;
fileSystem.Copy(assemblyInfoFile.FullName, backupAssemblyInfo, true);
+
restoreBackupTasks.Add(() =>
{
if (fileSystem.Exists(localAssemblyInfo))
+ {
fileSystem.Delete(localAssemblyInfo);
+ }
+
fileSystem.Move(backupAssemblyInfo, localAssemblyInfo);
});
+
cleanupBackupTasks.Add(() => fileSystem.Delete(backupAssemblyInfo));
var originalFileContents = fileSystem.ReadAllText(assemblyInfoFile.FullName);
var fileContents = originalFileContents;
var appendedAttributes = false;
+
if (!string.IsNullOrWhiteSpace(assemblyVersion))
{
fileContents = ReplaceOrAppend(assemblyVersionRegex, fileContents, assemblyVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
}
+
if (!string.IsNullOrWhiteSpace(assemblyFileVersion))
{
fileContents = ReplaceOrAppend(assemblyFileVersionRegex, fileContents, assemblyFileVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
}
+
fileContents = ReplaceOrAppend(assemblyInfoVersionRegex, fileContents, assemblyInfoVersionString, assemblyInfoFile.Extension, ref appendedAttributes);
if (appendedAttributes)
@@ -65,6 +92,7 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
// If we appended any attributes, put a new line after them
fileContents += Environment.NewLine;
}
+
if (originalFileContents != fileContents)
{
fileSystem.WriteAllText(assemblyInfoFile.FullName, fileContents);
@@ -72,9 +100,9 @@ public AssemblyInfoFileUpdate(Arguments args, string workingDirectory, VersionVa
}
}
- static string ReplaceOrAppend(Regex replaceRegex, string inputString, string replaceString, string fileExtension, ref bool appendedAttributes)
+ string ReplaceOrAppend(Regex replaceRegex, string inputString, string replaceString, string fileExtension, ref bool appendedAttributes)
{
- var assemblyAddFormat = AssemblyVersionInfoTemplates.GetAssemblyInfoAddFormatFor(fileExtension);
+ var assemblyAddFormat = templateManager.GetAddFormatFor(fileExtension);
if (replaceRegex.IsMatch(inputString))
{
@@ -89,16 +117,15 @@ static string ReplaceOrAppend(Regex replaceRegex, string inputString, string rep
return inputString;
}
-
- static IEnumerable GetAssemblyInfoFiles(string workingDirectory, Arguments args, IFileSystem fileSystem)
+ IEnumerable GetAssemblyInfoFiles(string workingDirectory, ISet assemblyInfoFileNames, IFileSystem fileSystem, bool ensureAssemblyInfo)
{
- if (args.UpdateAssemblyInfoFileName != null && args.UpdateAssemblyInfoFileName.Any(x => !string.IsNullOrWhiteSpace(x)))
+ if (assemblyInfoFileNames != null && assemblyInfoFileNames.Any(x => !string.IsNullOrWhiteSpace(x)))
{
- foreach (var item in args.UpdateAssemblyInfoFileName)
+ foreach (var item in assemblyInfoFileNames)
{
var fullPath = Path.Combine(workingDirectory, item);
- if (EnsureVersionAssemblyInfoFile(args, fileSystem, fullPath))
+ if (EnsureVersionAssemblyInfoFile(ensureAssemblyInfo, fileSystem, fullPath))
{
yield return new FileInfo(fullPath);
}
@@ -110,30 +137,42 @@ static IEnumerable GetAssemblyInfoFiles(string workingDirectory, Argum
{
var assemblyInfoFile = new FileInfo(item);
- if (AssemblyVersionInfoTemplates.IsSupported(assemblyInfoFile.Extension))
+ if (templateManager.IsSupported(assemblyInfoFile.Extension))
+ {
yield return assemblyInfoFile;
+ }
}
}
}
- static bool EnsureVersionAssemblyInfoFile(Arguments arguments, IFileSystem fileSystem, string fullPath)
+ bool EnsureVersionAssemblyInfoFile(bool ensureAssemblyInfo, IFileSystem fileSystem, string fullPath)
{
- if (fileSystem.Exists(fullPath)) return true;
+ if (fileSystem.Exists(fullPath))
+ {
+ return true;
+ }
- if (!arguments.EnsureAssemblyInfo) return false;
+ if (!ensureAssemblyInfo)
+ {
+ return false;
+ }
+
+ var assemblyInfoSource = templateManager.GetTemplateFor(Path.GetExtension(fullPath));
- var assemblyInfoSource = AssemblyVersionInfoTemplates.GetAssemblyInfoTemplateFor(fullPath);
if (!string.IsNullOrWhiteSpace(assemblyInfoSource))
{
var fileInfo = new FileInfo(fullPath);
+
if (!fileSystem.DirectoryExists(fileInfo.Directory.FullName))
{
fileSystem.CreateDirectory(fileInfo.Directory.FullName);
}
+
fileSystem.WriteAllText(fullPath, assemblyInfoSource);
return true;
}
- Logger.WriteWarning($"No version assembly info template available to create source file '{arguments.UpdateAssemblyInfoFileName}'");
+
+ Logger.WriteWarning($"No version assembly info template available to create source file '{fullPath}'");
return false;
}
@@ -148,12 +187,13 @@ public void Dispose()
restoreBackupTasks.Clear();
}
- public void DoNotRestoreAssemblyInfo()
+ public void CommitChanges()
{
foreach (var cleanupBackupTask in cleanupBackupTasks)
{
cleanupBackupTask();
}
+
cleanupBackupTasks.Clear();
restoreBackupTasks.Clear();
}
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/AssemblyVersionInfoTemplates.cs b/src/GitVersionCore/VersionAssemblyInfoResources/AssemblyVersionInfoTemplates.cs
deleted file mode 100644
index 36c8242b63..0000000000
--- a/src/GitVersionCore/VersionAssemblyInfoResources/AssemblyVersionInfoTemplates.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-namespace GitVersion.VersionAssemblyInfoResources
-{
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using GitVersionCore.Extensions;
-
- public class AssemblyVersionInfoTemplates
- {
- static readonly IDictionary assemblyInfoSourceList;
- static readonly IDictionary assemblyInfoAddFormats;
-
- static AssemblyVersionInfoTemplates()
- {
- assemblyInfoSourceList = GetEmbeddedVersionAssemblyFiles().ToDictionary(k => k.Extension, v => v);
- // TODO: It would be nice to do something a bit more clever here, like reusing the VersionAssemblyInfo.* templates somehow. @asbjornu
- assemblyInfoAddFormats = new Dictionary
- {
- {".cs", "[assembly: {0}]"},
- {".vb", ""},
- {".fs", "[]"}
- };
- }
-
- public static string GetAssemblyInfoTemplateFor(string assemblyInfoFile)
- {
- var fi = new FileInfo(assemblyInfoFile);
- if (assemblyInfoSourceList.ContainsKey(fi.Extension))
- {
- var template = assemblyInfoSourceList[fi.Extension];
- if (template != null)
- {
- return template.Name.ReadAsStringFromEmbeddedResource();
- }
- }
- return null;
- }
-
- public static string GetAssemblyInfoAddFormatFor(string fileExtension)
- {
- if (fileExtension == null)
- throw new ArgumentNullException("fileExtension");
-
- string assemblyInfoAddFormat;
- if (!assemblyInfoAddFormats.TryGetValue(fileExtension, out assemblyInfoAddFormat))
- throw new NotSupportedException(string.Format("Unknown file extension '{0}'.", fileExtension));
-
- return assemblyInfoAddFormat;
- }
-
- public static bool IsSupported(string fileExtension)
- {
- if (fileExtension == null)
- throw new ArgumentNullException("fileExtension");
-
- return assemblyInfoAddFormats.Keys.Contains(fileExtension, StringComparer.OrdinalIgnoreCase);
- }
-
- private static IEnumerable GetEmbeddedVersionAssemblyFiles()
- {
- var enclosingNamespace = typeof(AssemblyVersionInfoTemplates).Namespace;
-
- if (enclosingNamespace == null)
- throw new InvalidOperationException("The AssemblyVersionInfoTemplates class is missing its namespace.");
-
- foreach (var name in typeof(AssemblyVersionInfoTemplates).Assembly.GetManifestResourceNames())
- {
- if (name.StartsWith(enclosingNamespace))
- yield return new FileInfo(name);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.cs b/src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.cs
similarity index 100%
rename from src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.cs
rename to src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.cs
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.fs b/src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.fs
similarity index 93%
rename from src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.fs
rename to src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.fs
index e29db48538..648d9b3f29 100644
--- a/src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.fs
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.fs
@@ -5,6 +5,7 @@
// You can modify this code as we will not overwrite it when re-executing GitVersion
//
//------------------------------------------------------------------------------
+namespace GitVersionAssemblyInfoFile
open System.Reflection
diff --git a/src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.vb b/src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.vb
similarity index 73%
rename from src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.vb
rename to src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.vb
index 7449bea5c3..4c511298b0 100644
--- a/src/GitVersionCore/VersionAssemblyInfoResources/VersionAssemblyInfo.vb
+++ b/src/GitVersionCore/VersionAssemblyInfoResources/Templates/VersionAssemblyInfo.vb
@@ -8,6 +8,6 @@
Imports System.Reflection
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt b/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
deleted file mode 100644
index db4291da64..0000000000
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFileWhenVersionSchemeIsNone.approved.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt b/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
deleted file mode 100644
index db4291da64..0000000000
--- a/src/GitVersionExe.Tests/Approved/vb/AssemblyInfoFileUpdateTests.ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone.approved.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/src/GitVersionExe.Tests/GitVersionExe.Tests.csproj b/src/GitVersionExe.Tests/GitVersionExe.Tests.csproj
index 0de79326e5..35845d9e0f 100644
--- a/src/GitVersionExe.Tests/GitVersionExe.Tests.csproj
+++ b/src/GitVersionExe.Tests/GitVersionExe.Tests.csproj
@@ -116,26 +116,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/GitVersionExe/GitVersionExe.csproj b/src/GitVersionExe/GitVersionExe.csproj
index e862fb08f5..1e6850f761 100644
--- a/src/GitVersionExe/GitVersionExe.csproj
+++ b/src/GitVersionExe/GitVersionExe.csproj
@@ -62,7 +62,6 @@
-
diff --git a/src/GitVersionExe/SpecifiedArgumentRunner.cs b/src/GitVersionExe/SpecifiedArgumentRunner.cs
index 0516d0891c..2f585fef62 100644
--- a/src/GitVersionExe/SpecifiedArgumentRunner.cs
+++ b/src/GitVersionExe/SpecifiedArgumentRunner.cs
@@ -56,13 +56,18 @@ public static void Run(Arguments arguments, IFileSystem fileSystem)
}
}
- using (var assemblyInfoUpdate = new AssemblyInfoFileUpdate(arguments, targetPath, variables, fileSystem))
+ using (var assemblyInfoUpdater = new AssemblyInfoFileUpdater(arguments.UpdateAssemblyInfoFileName, targetPath, variables, fileSystem, arguments.EnsureAssemblyInfo))
{
+ if (arguments.UpdateAssemblyInfo)
+ {
+ assemblyInfoUpdater.Update();
+ }
+
var execRun = RunExecCommandIfNeeded(arguments, targetPath, variables);
var msbuildRun = RunMsBuildIfNeeded(arguments, targetPath, variables);
if (!execRun && !msbuildRun)
{
- assemblyInfoUpdate.DoNotRestoreAssemblyInfo();
+ assemblyInfoUpdater.CommitChanges();
//TODO Put warning back
//if (!context.CurrentBuildServer.IsRunningInBuildAgent())
//{
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt
deleted file mode 100644
index 5ee1497a23..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.0.0.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta.5+6.Branch.master.Sha.commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.0.0.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta.5+6.Branch.master.Sha.commitSha";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt
deleted file mode 100644
index 9b1da35f6d..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.0.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta.5+6.Branch.master.Sha.commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.0.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta.5+6.Branch.master.Sha.commitSha";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt
deleted file mode 100644
index 6958d82972..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.4.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta.5+6.Branch.master.Sha.commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.4.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta.5+6.Branch.master.Sha.commitSha";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt
deleted file mode 100644
index 58a3423c5d..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.4.5")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta.5+6.Branch.master.Sha.commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.4.5";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta.5+6.Branch.master.Sha.commitSha";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 06fb222279..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.4.5")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta0005")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.4.5";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta0005";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index db88ab0cbb..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.4.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta0005")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.4.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta0005";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index c33258c7cd..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.0.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta0005")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.0.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta0005";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt
deleted file mode 100644
index 631ffa483f..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.3.0.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("master-2.3.4-commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.3.0.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "master-2.3.4-commitSha";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 95f0f5567d..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("2.0.0.0")]
-[assembly: AssemblyFileVersion("2.3.4.0")]
-[assembly: AssemblyInformationalVersion("2.3.4-beta0005")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "2";
- public static string Minor = "3";
- public static string Patch = "4";
- public static string PreReleaseTag = "beta.5";
- public static string PreReleaseTagWithDash = "-beta.5";
- public static string PreReleaseLabel = "beta";
- public static string PreReleaseNumber = "5";
- public static string BuildMetaData = "6";
- public static string BuildMetaDataPadded = "0006";
- public static string FullBuildMetaData = "6.Branch.master.Sha.commitSha";
- public static string MajorMinorPatch = "2.3.4";
- public static string SemVer = "2.3.4-beta.5";
- public static string LegacySemVer = "2.3.4-beta5";
- public static string LegacySemVerPadded = "2.3.4-beta0005";
- public static string AssemblySemVer = "2.0.0.0";
- public static string AssemblySemFileVer = "2.3.4.0";
- public static string FullSemVer = "2.3.4-beta.5+6";
- public static string InformationalVersion = "2.3.4-beta0005";
- public static string BranchName = "master";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "2.3.4-beta0005";
- public static string NuGetVersion = "2.3.4-beta0005";
- public static string NuGetPreReleaseTagV2 = "beta0005";
- public static string NuGetPreReleaseTag = "beta0005";
- public static string CommitsSinceVersionSource = "6";
- public static string CommitsSinceVersionSourcePadded = "0006";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt
deleted file mode 100644
index b41f45e9d4..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("1.2.3.0")]
-[assembly: AssemblyFileVersion("1.2.3.0")]
-[assembly: AssemblyInformationalVersion("1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha")]
-
-namespace Fake
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "1";
- public static string Minor = "2";
- public static string Patch = "3";
- public static string PreReleaseTag = "unstable.4";
- public static string PreReleaseTagWithDash = "-unstable.4";
- public static string PreReleaseLabel = "unstable";
- public static string PreReleaseNumber = "4";
- public static string BuildMetaData = "5";
- public static string BuildMetaDataPadded = "0005";
- public static string FullBuildMetaData = "5.Branch.feature1.Sha.commitSha";
- public static string MajorMinorPatch = "1.2.3";
- public static string SemVer = "1.2.3-unstable.4";
- public static string LegacySemVer = "1.2.3-unstable4";
- public static string LegacySemVerPadded = "1.2.3-unstable0004";
- public static string AssemblySemVer = "1.2.3.0";
- public static string AssemblySemFileVer = "1.2.3.0";
- public static string FullSemVer = "1.2.3-unstable.4+5";
- public static string InformationalVersion = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha";
- public static string BranchName = "feature1";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "1.2.3-unstable0004";
- public static string NuGetVersion = "1.2.3-unstable0004";
- public static string NuGetPreReleaseTagV2 = "unstable0004";
- public static string NuGetPreReleaseTag = "unstable0004";
- public static string CommitsSinceVersionSource = "5";
- public static string CommitsSinceVersionSourcePadded = "0005";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt b/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt
deleted file mode 100644
index 57896a8c89..0000000000
--- a/src/GitVersionTask.Tests/Approved/CSharp/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion("1.2.3.0")]
-[assembly: AssemblyFileVersion("1.2.3.0")]
-[assembly: AssemblyInformationalVersion("1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha")]
-
-namespace Fake.System
-{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {
- public static string Major = "1";
- public static string Minor = "2";
- public static string Patch = "3";
- public static string PreReleaseTag = "unstable.4";
- public static string PreReleaseTagWithDash = "-unstable.4";
- public static string PreReleaseLabel = "unstable";
- public static string PreReleaseNumber = "4";
- public static string BuildMetaData = "5";
- public static string BuildMetaDataPadded = "0005";
- public static string FullBuildMetaData = "5.Branch.feature1.Sha.commitSha";
- public static string MajorMinorPatch = "1.2.3";
- public static string SemVer = "1.2.3-unstable.4";
- public static string LegacySemVer = "1.2.3-unstable4";
- public static string LegacySemVerPadded = "1.2.3-unstable0004";
- public static string AssemblySemVer = "1.2.3.0";
- public static string AssemblySemFileVer = "1.2.3.0";
- public static string FullSemVer = "1.2.3-unstable.4+5";
- public static string InformationalVersion = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha";
- public static string BranchName = "feature1";
- public static string Sha = "commitSha";
- public static string NuGetVersionV2 = "1.2.3-unstable0004";
- public static string NuGetVersion = "1.2.3-unstable0004";
- public static string NuGetPreReleaseTagV2 = "unstable0004";
- public static string NuGetPreReleaseTag = "unstable0004";
- public static string CommitsSinceVersionSource = "5";
- public static string CommitsSinceVersionSourcePadded = "0005";
- public static string CommitDate = "2014-03-06";
- }
-
-}
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt
deleted file mode 100644
index af764ff027..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.0.0.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta.5+6.Branch.master.Sha.commitSha"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt
deleted file mode 100644
index c9a5a3f14e..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.0.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta.5+6.Branch.master.Sha.commitSha"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt
deleted file mode 100644
index b73093cc3b..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.4.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta.5+6.Branch.master.Sha.commitSha"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt
deleted file mode 100644
index 4611402968..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.4.5"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta.5+6.Branch.master.Sha.commitSha"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 8835f12462..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.4.5"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta0005"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 5830062927..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.4.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta0005"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 6427bb3e62..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.0.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta0005"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt
deleted file mode 100644
index e01886df17..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.3.0.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "master-2.3.4-commitSha"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt
deleted file mode 100644
index 5e45b4e67a..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyAssemblyVersion_Major_NugetAssemblyInfo.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "2"
- Public Shared Minor As String = "3"
- Public Shared Patch As String = "4"
- Public Shared PreReleaseTag As String = "beta.5"
- Public Shared PreReleaseTagWithDash As String = "-beta.5"
- Public Shared PreReleaseLabel As String = "beta"
- Public Shared PreReleaseNumber As String = "5"
- Public Shared BuildMetaData As String = "6"
- Public Shared BuildMetaDataPadded As String = "0006"
- Public Shared FullBuildMetaData As String = "6.Branch.master.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "2.3.4"
- Public Shared SemVer As String = "2.3.4-beta.5"
- Public Shared LegacySemVer As String = "2.3.4-beta5"
- Public Shared LegacySemVerPadded As String = "2.3.4-beta0005"
- Public Shared AssemblySemVer As String = "2.0.0.0"
- Public Shared AssemblySemFileVer As String = "2.3.4.0"
- Public Shared FullSemVer As String = "2.3.4-beta.5+6"
- Public Shared InformationalVersion As String = "2.3.4-beta0005"
- Public Shared BranchName As String = "master"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "2.3.4-beta0005"
- Public Shared NuGetVersion As String = "2.3.4-beta0005"
- Public Shared NuGetPreReleaseTagV2 As String = "beta0005"
- Public Shared NuGetPreReleaseTag As String = "beta0005"
- Public Shared CommitsSinceVersionSource As String = "6"
- Public Shared CommitsSinceVersionSourcePadded As String = "0006"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt
deleted file mode 100644
index da1571e592..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "1"
- Public Shared Minor As String = "2"
- Public Shared Patch As String = "3"
- Public Shared PreReleaseTag As String = "unstable.4"
- Public Shared PreReleaseTagWithDash As String = "-unstable.4"
- Public Shared PreReleaseLabel As String = "unstable"
- Public Shared PreReleaseNumber As String = "4"
- Public Shared BuildMetaData As String = "5"
- Public Shared BuildMetaDataPadded As String = "0005"
- Public Shared FullBuildMetaData As String = "5.Branch.feature1.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "1.2.3"
- Public Shared SemVer As String = "1.2.3-unstable.4"
- Public Shared LegacySemVer As String = "1.2.3-unstable4"
- Public Shared LegacySemVerPadded As String = "1.2.3-unstable0004"
- Public Shared AssemblySemVer As String = "1.2.3.0"
- Public Shared AssemblySemFileVer As String = "1.2.3.0"
- Public Shared FullSemVer As String = "1.2.3-unstable.4+5"
- Public Shared InformationalVersion As String = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha"
- Public Shared BranchName As String = "feature1"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "1.2.3-unstable0004"
- Public Shared NuGetVersion As String = "1.2.3-unstable0004"
- Public Shared NuGetPreReleaseTagV2 As String = "unstable0004"
- Public Shared NuGetPreReleaseTag As String = "unstable0004"
- Public Shared CommitsSinceVersionSource As String = "5"
- Public Shared CommitsSinceVersionSourcePadded As String = "0005"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt b/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt
deleted file mode 100644
index da1571e592..0000000000
--- a/src/GitVersionTask.Tests/Approved/VisualBasic/AssemblyInfoBuilderTests.VerifyCreatedCode_NoNamespaceConflict.approved.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
- Public Shared Major As String = "1"
- Public Shared Minor As String = "2"
- Public Shared Patch As String = "3"
- Public Shared PreReleaseTag As String = "unstable.4"
- Public Shared PreReleaseTagWithDash As String = "-unstable.4"
- Public Shared PreReleaseLabel As String = "unstable"
- Public Shared PreReleaseNumber As String = "4"
- Public Shared BuildMetaData As String = "5"
- Public Shared BuildMetaDataPadded As String = "0005"
- Public Shared FullBuildMetaData As String = "5.Branch.feature1.Sha.commitSha"
- Public Shared MajorMinorPatch As String = "1.2.3"
- Public Shared SemVer As String = "1.2.3-unstable.4"
- Public Shared LegacySemVer As String = "1.2.3-unstable4"
- Public Shared LegacySemVerPadded As String = "1.2.3-unstable0004"
- Public Shared AssemblySemVer As String = "1.2.3.0"
- Public Shared AssemblySemFileVer As String = "1.2.3.0"
- Public Shared FullSemVer As String = "1.2.3-unstable.4+5"
- Public Shared InformationalVersion As String = "1.2.3-unstable.4+5.Branch.feature1.Sha.commitSha"
- Public Shared BranchName As String = "feature1"
- Public Shared Sha As String = "commitSha"
- Public Shared NuGetVersionV2 As String = "1.2.3-unstable0004"
- Public Shared NuGetVersion As String = "1.2.3-unstable0004"
- Public Shared NuGetPreReleaseTagV2 As String = "unstable0004"
- Public Shared NuGetPreReleaseTag As String = "unstable0004"
- Public Shared CommitsSinceVersionSource As String = "5"
- Public Shared CommitsSinceVersionSourcePadded As String = "0005"
- Public Shared CommitDate As String = "2014-03-06"
-End Class
diff --git a/src/GitVersionTask.Tests/AssemblyInfoBuilderTests.cs b/src/GitVersionTask.Tests/AssemblyInfoBuilderTests.cs
deleted file mode 100644
index 2a183ca1be..0000000000
--- a/src/GitVersionTask.Tests/AssemblyInfoBuilderTests.cs
+++ /dev/null
@@ -1,290 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using GitVersion;
-using GitVersionCore.Tests;
-using Microsoft.Build.Framework;
-using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
-using Microsoft.CodeAnalysis.VisualBasic;
-using NSubstitute;
-using NUnit.Framework;
-using Shouldly;
-
-[TestFixture]
-public class AssemblyInfoBuilderTests
-{
- public interface ICompiler
- {
- Compilation Compile(string assemblyInfoText);
-
- AssemblyInfoBuilder Builder { get; }
-
- string ApprovedSubFolder { get; }
- }
-
- private class CSharpCompiler : ICompiler
- {
- public Compilation Compile(string assemblyInfoText)
- {
- return CSharpCompilation.Create("Fake.dll")
- .WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary))
- .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
- .AddSyntaxTrees(CSharpSyntaxTree.ParseText(assemblyInfoText));
- }
-
- public AssemblyInfoBuilder Builder { get { return new CSharpAssemblyInfoBuilder(); } }
-
- public string ApprovedSubFolder { get { return Path.Combine("Approved", "CSharp"); } }
- }
-
- private class VisualBasicCompiler : ICompiler
- {
- public Compilation Compile(string assemblyInfoText)
- {
- return VisualBasicCompilation.Create("Fake.dll")
- .WithOptions(new VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, rootNamespace: "Fake"))
- .AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))
- .AddSyntaxTrees(VisualBasicSyntaxTree.ParseText(assemblyInfoText));
- }
-
- public AssemblyInfoBuilder Builder { get { return new VisualBasicAssemblyInfoBuilder(); } }
-
- public string ApprovedSubFolder { get { return Path.Combine("Approved", "VisualBasic"); } }
- }
-
- private static readonly ICompiler[] compilers = new ICompiler[]
- {
- new CSharpCompiler(),
- new VisualBasicCompiler()
- };
-
- [Test]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyCreatedCode([ValueSource("compilers")]ICompiler compiler)
- {
- var semanticVersion = new SemanticVersion
- {
- Major = 1,
- Minor = 2,
- Patch = 3,
- PreReleaseTag = "unstable4",
- BuildMetaData = new SemanticVersionBuildMetaData(5,
- "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
- };
-
- var config = new TestEffectiveConfiguration();
-
- var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
- var assemblyInfoText = compiler.Builder.GetAssemblyInfoText(versionVariables, "Fake");
- assemblyInfoText.ShouldMatchApproved(c => c.SubFolder(compiler.ApprovedSubFolder));
-
- var compilation = compiler.Compile(assemblyInfoText);
-
- using (var stream = new MemoryStream())
- {
- var emitResult = compilation.Emit(stream);
-
- Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
-
- stream.Seek(0, SeekOrigin.Begin);
- var assembly = Assembly.Load(stream.ToArray());
- VerifyGitVersionInformationAttribute(assembly, versionVariables);
- }
- }
-
- [Test]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyCreatedCode_NoNamespaceConflict([ValueSource("compilers")]ICompiler compiler)
- {
- var semanticVersion = new SemanticVersion
- {
- Major = 1,
- Minor = 2,
- Patch = 3,
- PreReleaseTag = "unstable4",
- BuildMetaData = new SemanticVersionBuildMetaData(5,
- "feature1", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z"))
- };
-
- var config = new TestEffectiveConfiguration();
-
- var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
- var assemblyInfoText = compiler.Builder.GetAssemblyInfoText(versionVariables, "Fake.System");
- assemblyInfoText.ShouldMatchApproved(c => c.SubFolder(compiler.ApprovedSubFolder));
-
- var compilation = compiler.Compile(assemblyInfoText);
-
- var emitResult = compilation.Emit(new MemoryStream());
- Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_Major([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.Major);
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinor([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinor);
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinorPatch([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinorPatch);
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinorPatchTag([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinorPatchTag);
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_Major_InvalidInformationalValue([ValueSource("compilers")]ICompiler compiler)
- {
- var exception = Assert.Throws(() => VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.Major, "{ThisVariableDoesntExist}"));
- Assert.That(exception.Message, Does.Contain("ThisVariableDoesntExist"));
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_Major_NugetAssemblyInfo([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.Major, "{NugetVersion}");
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- public void VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfoWithMultipleVariables([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinor, "{BranchName}-{Major}.{Minor}.{Patch}-{Sha}");
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinor_NugetAssemblyInfo([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinor, "{NugetVersion}");
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinorPatch_NugetAssemblyInfo([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinorPatch, "{NugetVersion}");
- }
-
- [Test]
- [MethodImpl(MethodImplOptions.NoInlining)]
- [NUnit.Framework.Category("NoMono")]
- [NUnit.Framework.Description("Won't run on Mono due to source information not being available for ShouldMatchApproved.")]
- public void VerifyAssemblyVersion_MajorMinorPatchTag_NugetAssemblyInfo([ValueSource("compilers")]ICompiler compiler)
- {
- VerifyAssemblyVersion(compiler, AssemblyVersioningScheme.MajorMinorPatchTag, "{NugetVersion}");
- }
-
- [Test]
- public void GetAssemblyInfoBuilder_Empty_ThrowsWarningException()
- {
- var taskItems = Substitute.For>();
- var exception = Assert.Throws(() => AssemblyInfoBuilder.GetAssemblyInfoBuilder(taskItems));
- exception.Message.ShouldBe("Unable to determine which AssemblyBuilder required to generate GitVersion assembly information");
- }
-
- [Test]
- public void GetAssemblyInfoBuilder_Null_ThrowsArgumentNullException()
- {
- var exception = Assert.Throws(() => AssemblyInfoBuilder.GetAssemblyInfoBuilder(null));
- exception.ParamName.ShouldBe("compileFiles");
- }
-
- [TestCase("Class1.cs", typeof(CSharpAssemblyInfoBuilder))]
- [TestCase("Class1.vb", typeof(VisualBasicAssemblyInfoBuilder))]
- [TestCase("Class1.fs", typeof(FSharpAssemblyInfoBuilder))]
- [TestCase("AssemblyInfo.cs", typeof(CSharpAssemblyInfoBuilder))]
- [TestCase("AssemblyInfo.vb", typeof(VisualBasicAssemblyInfoBuilder))]
- [TestCase("AssemblyInfo.fs", typeof(FSharpAssemblyInfoBuilder))]
- public void GetAssemblyInfoBuilder_ShouldReturnAppropriateAssemblyInfoBuilder(string fileName, Type assemblyInfoBuilderType)
- {
- var taskItem = Substitute.For();
- taskItem.ItemSpec.Returns(fileName);
-
- var assemblyInfoBuilder = AssemblyInfoBuilder.GetAssemblyInfoBuilder(new[] { taskItem });
-
- assemblyInfoBuilder.ShouldNotBeNull();
- assemblyInfoBuilder.ShouldBeOfType(assemblyInfoBuilderType);
- }
-
- static void VerifyAssemblyVersion(ICompiler compiler, AssemblyVersioningScheme avs, string assemblyInformationalFormat = null)
- {
- var semanticVersion = new SemanticVersion
- {
- Major = 2,
- Minor = 3,
- Patch = 4,
- PreReleaseTag = "beta.5",
- BuildMetaData = new SemanticVersionBuildMetaData(6,
- "master", "commitSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")),
- };
-
- var config = new TestEffectiveConfiguration(assemblyVersioningScheme: avs, assemblyInformationalFormat: assemblyInformationalFormat);
-
- var versionVariables = VariableProvider.GetVariablesFor(semanticVersion, config, false);
- var assemblyInfoText = compiler.Builder.GetAssemblyInfoText(versionVariables, "Fake");
- assemblyInfoText.ShouldMatchApproved(c => c.UseCallerLocation().SubFolder(compiler.ApprovedSubFolder));
-
- var compilation = compiler.Compile(assemblyInfoText);
-
- var emitResult = compilation.Emit(new MemoryStream());
- Assert.IsTrue(emitResult.Success, string.Join(Environment.NewLine, emitResult.Diagnostics.Select(x => x.Descriptor)));
- }
-
- static void VerifyGitVersionInformationAttribute(Assembly assembly, VersionVariables versionVariables)
- {
- var gitVersionInformation = assembly.GetType("Fake.GitVersionInformation");
- var fields = gitVersionInformation.GetFields(BindingFlags.Static | BindingFlags.Public);
-
- foreach (var variable in versionVariables)
- {
- Assert.IsNotNull(variable.Value);
-
- var field = fields.FirstOrDefault(p => p.Name == variable.Key);
- Assert.IsNotNull(field);
-
- var value = field.GetValue(null);
- Assert.AreEqual(variable.Value, value, "{0} had an invalid value.", field.Name);
- }
- }
-}
\ No newline at end of file
diff --git a/src/GitVersionTask.Tests/GitVersionTask.Tests.csproj b/src/GitVersionTask.Tests/GitVersionTask.Tests.csproj
index 8fcf5aa054..609219d570 100644
--- a/src/GitVersionTask.Tests/GitVersionTask.Tests.csproj
+++ b/src/GitVersionTask.Tests/GitVersionTask.Tests.csproj
@@ -40,18 +40,6 @@
true
-
- ..\packages\ApprovalTests.3.0.11\lib\net40\ApprovalTests.dll
- True
-
-
- ..\packages\ApprovalUtilities.3.0.11\lib\net45\ApprovalUtilities.dll
- True
-
-
- ..\packages\ApprovalUtilities.3.0.11\lib\net45\ApprovalUtilities.Net45.dll
- True
-
..\packages\FluentDateTime.1.13.0\lib\NET35\FluentDateTime.dll
True
@@ -66,23 +54,7 @@
-
- ..\packages\Microsoft.CodeAnalysis.Common.1.3.2\lib\net45\Microsoft.CodeAnalysis.dll
- True
-
-
- ..\packages\Microsoft.CodeAnalysis.CSharp.1.3.2\lib\net45\Microsoft.CodeAnalysis.CSharp.dll
- True
-
-
- ..\packages\Microsoft.CodeAnalysis.VisualBasic.1.3.2\lib\net45\Microsoft.CodeAnalysis.VisualBasic.dll
- True
-
-
- ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll
- True
-
..\packages\NSubstitute.1.10.0.0\lib\net45\NSubstitute.dll
True
@@ -91,32 +63,19 @@
..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll
True
-
- ..\packages\ObjectApproval.1.3.0\lib\NET40\ObjectApproval.dll
- True
-
..\packages\Shouldly.2.7.0\lib\net40\Shouldly.dll
True
-
- ..\packages\System.Collections.Immutable.1.3.1\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll
- True
-
-
- ..\packages\System.Reflection.Metadata.1.4.2\lib\portable-net45+win8\System.Reflection.Metadata.dll
- True
-
-
@@ -135,28 +94,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -176,10 +113,6 @@
-
-
-
-
diff --git a/src/GitVersionTask.Tests/packages.config b/src/GitVersionTask.Tests/packages.config
index 856ed3b632..ea2a6b4fc9 100644
--- a/src/GitVersionTask.Tests/packages.config
+++ b/src/GitVersionTask.Tests/packages.config
@@ -1,31 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/GitVersionTask/AssemblyInfoBuilder/AssemblyInfoBuilder.cs b/src/GitVersionTask/AssemblyInfoBuilder/AssemblyInfoBuilder.cs
deleted file mode 100644
index 6ae0429f59..0000000000
--- a/src/GitVersionTask/AssemblyInfoBuilder/AssemblyInfoBuilder.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using GitTools;
-using GitVersion;
-using Microsoft.Build.Framework;
-
-public abstract class AssemblyInfoBuilder
-{
- private static readonly Dictionary assemblyInfoBuilders = new Dictionary
- {
- {".cs", typeof(CSharpAssemblyInfoBuilder)},
- {".vb", typeof(VisualBasicAssemblyInfoBuilder)},
- {".fs", typeof(FSharpAssemblyInfoBuilder)},
- };
-
- public abstract string AssemblyInfoExtension { get; }
-
- public static AssemblyInfoBuilder GetAssemblyInfoBuilder(IEnumerable compileFiles)
- {
- if (compileFiles == null)
- {
- throw new ArgumentNullException("compileFiles");
- }
-
- Type builderType;
-
- var assemblyInfoExtension = compileFiles
- .Select(x => x.ItemSpec)
- .Select(Path.GetExtension)
- // TODO: While it works, this seems like a bad way to discover the language is being compiled. @asbjornu
- .FirstOrDefault(extension => assemblyInfoBuilders.ContainsKey(extension.ToLowerInvariant()));
-
- if (assemblyInfoExtension != null && assemblyInfoBuilders.TryGetValue(assemblyInfoExtension, out builderType))
- {
- return Activator.CreateInstance(builderType) as AssemblyInfoBuilder;
- }
-
- throw new WarningException("Unable to determine which AssemblyBuilder required to generate GitVersion assembly information");
- }
-
- public abstract string GetAssemblyInfoText(VersionVariables vars, string rootNamespace);
-}
\ No newline at end of file
diff --git a/src/GitVersionTask/AssemblyInfoBuilder/CSharpAssemblyInfoBuilder.cs b/src/GitVersionTask/AssemblyInfoBuilder/CSharpAssemblyInfoBuilder.cs
deleted file mode 100644
index 5fbb85721e..0000000000
--- a/src/GitVersionTask/AssemblyInfoBuilder/CSharpAssemblyInfoBuilder.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using GitVersion;
-
-public class CSharpAssemblyInfoBuilder : AssemblyInfoBuilder
-{
- public override string AssemblyInfoExtension { get { return "cs"; } }
-
- public override string GetAssemblyInfoText(VersionVariables vars, string rootNamespace)
- {
- var v = vars.ToList();
-
- // TODO: Consolidate this with GitVersion.VersionAssemblyInfoResources.AssemblyVersionInfoTemplates. @asbjornu
- var assemblyInfo = string.Format(
-@"//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-using System;
-using System.Reflection;
-
-[assembly: AssemblyVersion(""{0}"")]
-[assembly: AssemblyFileVersion(""{1}"")]
-[assembly: AssemblyInformationalVersion(""{2}"")]
-
-namespace {4}
-{{
-
- [global::System.Runtime.CompilerServices.CompilerGenerated]
- static class GitVersionInformation
- {{
-{3}
- }}
-
-}}
-",
- vars.AssemblySemVer,
- vars.AssemblySemFileVer,
- vars.InformationalVersion,
- GenerateStaticVariableMembers(v),
- rootNamespace);
-
- return assemblyInfo;
- }
-
- static string GenerateStaticVariableMembers(IList> vars)
- {
- return GenerateMembers(vars, " public static string {0} = \"{1}\";");
- }
-
-
- static string GenerateMembers(IList> vars, string memberFormat)
- {
- return string.Join(Environment.NewLine, vars.Select(v => string.Format(memberFormat, v.Key, v.Value)));
- }
-}
\ No newline at end of file
diff --git a/src/GitVersionTask/AssemblyInfoBuilder/FSharpAssemblyInfoBuilder.cs b/src/GitVersionTask/AssemblyInfoBuilder/FSharpAssemblyInfoBuilder.cs
deleted file mode 100644
index eb5949a91a..0000000000
--- a/src/GitVersionTask/AssemblyInfoBuilder/FSharpAssemblyInfoBuilder.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using GitVersion;
-
-public class FSharpAssemblyInfoBuilder : AssemblyInfoBuilder
-{
- public override string AssemblyInfoExtension { get { return "fs"; } }
-
- public override string GetAssemblyInfoText(VersionVariables vars, string rootNamespace)
- {
- var v = vars.ToList();
-
- // TODO: Consolidate this with GitVersion.VersionAssemblyInfoResources.AssemblyVersionInfoTemplates. @asbjornu
- var assemblyInfo = string.Format(
-@"//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// GitVersion
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace {4}
-
-open System
-open System.Reflection
-
-[]
-[]
-[]
-
-do
- ()
-
-[]
-[]
-module GitVersionInformation =
-{3}
-",
- vars.AssemblySemVer,
- vars.AssemblySemFileVer,
- vars.InformationalVersion,
- GenerateStaticVariableMembers(v),
- rootNamespace);
-
- return assemblyInfo;
- }
-
- static string GenerateStaticVariableMembers(IList> vars)
- {
- return GenerateMembers(vars, " let {0} = \"{1}\"");
- }
-
-
- static string GenerateMembers(IList> vars, string memberFormat)
- {
- return string.Join(Environment.NewLine, vars.Select(v => string.Format(memberFormat, v.Key, v.Value)));
- }
-}
\ No newline at end of file
diff --git a/src/GitVersionTask/AssemblyInfoBuilder/VisualBasicAssemblyInfoBuilder.cs b/src/GitVersionTask/AssemblyInfoBuilder/VisualBasicAssemblyInfoBuilder.cs
deleted file mode 100644
index ec5efd38e9..0000000000
--- a/src/GitVersionTask/AssemblyInfoBuilder/VisualBasicAssemblyInfoBuilder.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using GitVersion;
-
-public class VisualBasicAssemblyInfoBuilder : AssemblyInfoBuilder
-{
- public override string AssemblyInfoExtension { get { return "vb"; } }
-
- public override string GetAssemblyInfoText(VersionVariables vars, string rootNamespace)
- {
- var v = vars.ToList();
-
- // TODO: Consolidate this with GitVersion.VersionAssemblyInfoResources.AssemblyVersionInfoTemplates. @asbjornu
- var assemblyInfo = string.Format(
-@"'------------------------------------------------------------------------------
-'
-' This code was generated by a tool.
-' GitVersion
-'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
-'
-'------------------------------------------------------------------------------
-
-Imports System
-Imports System.Reflection
-
-
-
-
-
- _
-NotInheritable Class GitVersionInformation
- Private Sub New()
- End Sub
-{3}
-End Class
-",
- vars.AssemblySemVer,
- vars.AssemblySemFileVer,
- vars.InformationalVersion,
- GenerateStaticVariableMembers(v));
-
- return assemblyInfo;
- }
-
- static string GenerateStaticVariableMembers(IList> vars)
- {
- return GenerateMembers(vars, " Public Shared {0} As String = \"{1}\"");
- }
-
-
- static string GenerateMembers(IList> vars, string memberFormat)
- {
- return string.Join(Environment.NewLine, vars.Select(v => string.Format(memberFormat, v.Key, v.Value)));
- }
-}
\ No newline at end of file
diff --git a/src/GitVersionTask/GenerateGitVersionInformation.cs b/src/GitVersionTask/GenerateGitVersionInformation.cs
new file mode 100644
index 0000000000..aa863b9e19
--- /dev/null
+++ b/src/GitVersionTask/GenerateGitVersionInformation.cs
@@ -0,0 +1,102 @@
+namespace GitVersionTask
+{
+ using System;
+ using System.ComponentModel;
+ using System.IO;
+ using GitVersion;
+ using GitVersion.Helpers;
+ using Microsoft.Build.Framework;
+
+ public class GenerateGitVersionInformation : GitVersionTaskBase
+ {
+ TaskLogger logger;
+
+ public GenerateGitVersionInformation()
+ {
+ logger = new TaskLogger(this);
+ Logger.SetLoggers(this.LogDebug, this.LogInfo, this.LogWarning, s => this.LogError(s));
+ }
+
+ [Required]
+ public string SolutionDirectory { get; set; }
+
+ [Required]
+ public string ProjectFile { get; set; }
+
+ [Required]
+ public string IntermediateOutputPath { get; set; }
+
+ [Required]
+ public string Language { get; set; }
+
+ [Output]
+ public string GitVersionInformationFilePath { get; set; }
+
+ public bool NoFetch { get; set; }
+
+ public override bool Execute()
+ {
+ try
+ {
+ InnerExecute();
+ return true;
+ }
+ catch (WarningException errorException)
+ {
+ logger.LogWarning(errorException.Message);
+ return true;
+ }
+ catch (Exception exception)
+ {
+ logger.LogError("Error occurred: " + exception);
+ return false;
+ }
+ finally
+ {
+ Logger.Reset();
+ }
+ }
+
+ void InnerExecute()
+ {
+ VersionVariables versionVariables;
+ if (!ExecuteCore.TryGetVersion(SolutionDirectory, out versionVariables, NoFetch, new Authentication()))
+ {
+ return;
+ }
+
+ var fileExtension = GetFileExtension();
+ var fileName = $"GitVersionInformation.g.{fileExtension}";
+
+ if (IntermediateOutputPath == null)
+ {
+ fileName = $"GitVersionInformation_{Path.GetFileNameWithoutExtension(ProjectFile)}_{Path.GetRandomFileName()}.g.{fileExtension}";
+ }
+
+ var workingDirectory = IntermediateOutputPath ?? TempFileTracker.TempPath;
+
+ GitVersionInformationFilePath = Path.Combine(workingDirectory, fileName);
+
+ var generator = new GitVersionInformationGenerator(fileName, workingDirectory, versionVariables, new FileSystem());
+ generator.Generate();
+ }
+
+ string GetFileExtension()
+ {
+ switch (Language)
+ {
+ case "C#":
+ return "cs";
+
+ case "F#":
+ return "fs";
+
+ case "VB":
+ return "vb";
+
+ default:
+ throw new Exception($"Unknown language detected: '{Language}'");
+ }
+ }
+ }
+}
diff --git a/src/GitVersionTask/GitVersionTask.csproj b/src/GitVersionTask/GitVersionTask.csproj
index 5ab4fdd607..f994daa49c 100644
--- a/src/GitVersionTask/GitVersionTask.csproj
+++ b/src/GitVersionTask/GitVersionTask.csproj
@@ -64,18 +64,15 @@
-
-
-
-
+
-
+
diff --git a/src/GitVersionTask/NugetAssets/build/GitVersionTask.targets b/src/GitVersionTask/NugetAssets/build/GitVersionTask.targets
index cb9f2d4fa2..0f0d549fd9 100644
--- a/src/GitVersionTask/NugetAssets/build/GitVersionTask.targets
+++ b/src/GitVersionTask/NugetAssets/build/GitVersionTask.targets
@@ -22,6 +22,10 @@
false
true
+
+ false
+ true
+
true
false
@@ -36,6 +40,9 @@
+
@@ -55,7 +62,7 @@
NoFetch="$(GitVersion_NoFetchEnabled)"
ProjectFile="$(MSBuildProjectFullPath)"
IntermediateOutputPath="$(IntermediateOutputPath)"
- RootNamespace="$(RootNamespace)"
+ Language="$(Language)"
CompileFiles ="@(Compile)">