Skip to content

Commit f0b34f5

Browse files
committed
added GitVersion.MsBuild
GitVersion.MsBuild is compatible with GitVersionTask, but uses a different approach, it call the GitVersion tool with Exec, and then passes the output to the tasks
1 parent c4a7057 commit f0b34f5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+2982
-36
lines changed

build/artifacts-test.cake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Task("Artifacts-MsBuildFull-Test")
139139
{
140140
var dotnetCoreMsBuildSettings = new DotNetCoreMSBuildSettings();
141141
dotnetCoreMsBuildSettings.WithProperty("TargetFramework", framework);
142-
dotnetCoreMsBuildSettings.WithProperty("GitVersionTaskVersion", version);
142+
dotnetCoreMsBuildSettings.WithProperty("GitVersionMsBuildVersion", version);
143143

144144
var projPath = MakeAbsolute(new DirectoryPath("./tests/integration/core"));
145145

@@ -163,7 +163,7 @@ Task("Artifacts-MsBuildFull-Test")
163163
Restore = true
164164
};
165165

166-
msBuildSettings.WithProperty("GitVersionTaskVersion", version);
166+
msBuildSettings.WithProperty("GitVersionMsBuildVersion", version);
167167
msBuildSettings.WithProperty("RestoreSource", nugetSource);
168168

169169
MSBuild("./tests/integration/full", msBuildSettings);

build/pack.cake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Task("Pack-Nuget")
7777

7878
settings.ArgumentCustomization = null;
7979
DotNetCorePack("./src/GitVersionTask", settings);
80-
80+
DotNetCorePack("./src/GitVersion.MsBuild", settings);
8181
DotNetCorePack("./src/GitVersionCore", settings);
8282
});
8383

build/utils/parameters.cake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public class BuildParameters
123123
Packages = BuildPackages.GetPackages(
124124
Paths.Directories.NugetRoot,
125125
Version,
126-
new [] { "GitVersion.CommandLine", "GitVersion.Core", "GitVersionTask", "GitVersion.Tool" },
126+
new [] { "GitVersion.CommandLine", "GitVersion.Core", "GitVersionTask", "GitVersion.MsBuild", "GitVersion.Tool" },
127127
new [] { "GitVersion.Portable" });
128128

129129

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using NUnit.Framework;
2+
3+
namespace GitVersion.MsBuild.Tests
4+
{
5+
[TestFixture]
6+
public class FileHelperTests
7+
{
8+
[Test]
9+
[TestCase("C#", "cs")]
10+
[TestCase("F#", "fs")]
11+
[TestCase("VB", "vb")]
12+
[TestCase("XY", null)]
13+
public void GetFileExtensionShouldReturnCorrectExtension(string language, string expectedExtension)
14+
{
15+
if (expectedExtension != null)
16+
{
17+
Assert.That(FileHelper.GetFileExtension(language), Is.EqualTo(expectedExtension));
18+
}
19+
else
20+
{
21+
Assert.That((TestDelegate)(() => FileHelper.GetFileExtension(language)), Throws.ArgumentException.With.Message.EqualTo($"Unknown language detected: '{language}'"));
22+
}
23+
}
24+
25+
[Test]
26+
public void GetFileWriteInfoShouldCreateConstantNamedFileWhenIntermediateOutputPath()
27+
{
28+
var fileInfo = "MyIntermediateOutputPath".GetFileWriteInfo("C#", "MyProject.csproj", "GeneratedVersionInformation");
29+
30+
Assert.That(fileInfo.WorkingDirectory, Is.EqualTo("MyIntermediateOutputPath"));
31+
Assert.That(fileInfo.FileName, Is.EqualTo("GeneratedVersionInformation.g.cs"));
32+
Assert.That(fileInfo.FileExtension, Is.EqualTo("cs"));
33+
}
34+
35+
[Test]
36+
public void GetFileWriteInfoShouldCreateRandomNamedFileWhenNoIntermediateOutputPath()
37+
{
38+
var fileInfo = FileHelper.GetFileWriteInfo(null, "C#", "MyProject.csproj", "GeneratedVersionInformation");
39+
40+
Assert.That(fileInfo.WorkingDirectory, Is.EqualTo(FileHelper.TempPath));
41+
Assert.That(fileInfo.FileName, Does.StartWith("GeneratedVersionInformation_MyProject_").And.EndsWith(".g.cs"));
42+
Assert.That(fileInfo.FileExtension, Is.EqualTo("cs"));
43+
}
44+
}
45+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFrameworks>net48;netcoreapp3.1</TargetFrameworks>
5+
6+
<IsTestProject>true</IsTestProject>
7+
</PropertyGroup>
8+
9+
<ItemGroup>
10+
<PackageReference Include="Buildalyzer" Version="3.1.0" />
11+
<PackageReference Include="LibGit2Sharp" Version="$(PackageVersion_LibGit2Sharp)" />
12+
<PackageReference Include="Microsoft.Build" Version="$(PackageVersion_MsBuild)" />
13+
<PackageReference Include="MSBuild.ProjectCreation" Version="2.0.1" />
14+
</ItemGroup>
15+
16+
<ItemGroup>
17+
<ProjectReference Include="..\GitVersion.MsBuild\GitVersion.MsBuild.csproj" />
18+
<ProjectReference Include="..\GitVersionCore.Tests\GitVersionCore.Tests.csproj" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<Compile Include="..\GitVersionCore.Tests\Helpers\TestBase.cs" Link="Helpers\TestBase.cs" />
23+
<Compile Include="..\GitVersionCore.Tests\Helpers\TestEnvironment.cs" Link="Helpers\TestEnvironment.cs" />
24+
</ItemGroup>
25+
26+
</Project>

0 commit comments

Comments
 (0)