Skip to content

Commit 5bb026f

Browse files
committed
(build) use DotNetCoreBuild extension instead of MSBuild
1 parent 144b1c6 commit 5bb026f

File tree

3 files changed

+33
-20
lines changed

3 files changed

+33
-20
lines changed

build/pack.cake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Task("Build")
2020
.Does<BuildParameters>((parameters) =>
2121
{
2222
// build .Net code
23-
Build(parameters.Configuration);
23+
Build(parameters);
2424

2525
var workDir = "./src/GitVersionVsixTask";
2626
// build typescript code

build/utils/parameters.cake

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ public class BuildParameters
102102
IsMainRepo = IsOnMainRepo(context),
103103
IsMainBranch = IsOnMainBranch(context),
104104
IsTagged = IsBuildTagged(context),
105+
106+
MSBuildSettings = GetMsBuildSettings(context)
105107
};
106108
}
107109

@@ -136,20 +138,13 @@ public class BuildParameters
136138
};
137139

138140
Credentials = BuildCredentials.GetCredentials(context);
139-
140-
MSBuildSettings = GetMsBuildSettings(context, Version);
141+
SetMSBuildSettingsVersion(MSBuildSettings, Version);
141142
}
142143

143-
private DotNetCoreMSBuildSettings GetMsBuildSettings(ICakeContext context, BuildVersion version)
144+
private static DotNetCoreMSBuildSettings GetMsBuildSettings(ICakeContext context)
144145
{
145-
var msBuildSettings = new DotNetCoreMSBuildSettings()
146-
.WithProperty("Version", version.SemVersion)
147-
.WithProperty("AssemblyVersion", version.Version)
148-
.WithProperty("PackageVersion", version.NugetVersion)
149-
.WithProperty("FileVersion", version.Version)
150-
.WithProperty("NoPackageAnalysis", "true");
151-
152-
if(!IsRunningOnWindows)
146+
var msBuildSettings = new DotNetCoreMSBuildSettings();
147+
if(!context.IsRunningOnWindows())
153148
{
154149
var frameworkPathOverride = context.Environment.Runtime.IsCoreClr
155150
? new []{
@@ -165,11 +160,21 @@ public class BuildParameters
165160
// Use FrameworkPathOverride when not running on Windows.
166161
context.Information("Build will use FrameworkPathOverride={0} since not building on Windows.", frameworkPathOverride);
167162
msBuildSettings.WithProperty("FrameworkPathOverride", frameworkPathOverride);
163+
msBuildSettings.WithProperty("POSIX", "true");
168164
}
169165

170166
return msBuildSettings;
171167
}
172168

169+
private void SetMSBuildSettingsVersion(DotNetCoreMSBuildSettings msBuildSettings, BuildVersion version)
170+
{
171+
msBuildSettings.WithProperty("Version", version.SemVersion);
172+
msBuildSettings.WithProperty("AssemblyVersion", version.Version);
173+
msBuildSettings.WithProperty("PackageVersion", version.NugetVersion);
174+
msBuildSettings.WithProperty("FileVersion", version.Version);
175+
msBuildSettings.WithProperty("NoPackageAnalysis", "true");
176+
}
177+
173178
private static bool IsOnMainRepo(ICakeContext context)
174179
{
175180
var buildSystem = context.BuildSystem();

build/utils/utils.cake

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ GitVersion GetVersion(BuildParameters parameters)
4141
if (dllFile == null)
4242
{
4343
Warning("Dogfood GitVersion to get information");
44-
Build(parameters.Configuration);
44+
Build(parameters);
4545
dllFilePath = $"./src/GitVersionExe/bin/{parameters.Configuration}/{parameters.CoreFxVersion}/GitVersion.dll";
4646
dllFile = GetFiles(dllFilePath).FirstOrDefault();
4747
}
@@ -66,15 +66,23 @@ GitVersion GetVersion(BuildParameters parameters)
6666
return gitVersion;
6767
}
6868

69-
void Build(string configuration)
69+
void Build(BuildParameters parameters)
7070
{
71-
DotNetCoreRestore("./src/GitVersion.sln");
72-
MSBuild("./src/GitVersion.sln", settings =>
71+
var sln = "./src/GitVersion.sln";
72+
DotNetCoreRestore(sln, new DotNetCoreRestoreSettings
7373
{
74-
settings.SetConfiguration(configuration)
75-
.SetVerbosity(Verbosity.Minimal)
76-
.WithTarget("Build")
77-
.WithProperty("POSIX", IsRunningOnUnix().ToString());
74+
Verbosity = DotNetCoreVerbosity.Minimal,
75+
Sources = new [] { "https://api.nuget.org/v3/index.json" },
76+
MSBuildSettings = parameters.MSBuildSettings
77+
});
78+
79+
var slnPath = MakeAbsolute(new DirectoryPath(sln));
80+
DotNetCoreBuild(slnPath.FullPath, new DotNetCoreBuildSettings
81+
{
82+
Verbosity = DotNetCoreVerbosity.Minimal,
83+
Configuration = parameters.Configuration,
84+
NoRestore = true,
85+
MSBuildSettings = parameters.MSBuildSettings
7886
});
7987
}
8088

0 commit comments

Comments
 (0)