Skip to content

Commit 0286c45

Browse files
Split MsBuildSettings to separate tasks in the Build project
Renamed variable 'MsBuildSettings' to specific variable types 'MsBuildSettingsRestore', 'MsBuildSettingsBuild', and 'MsBuildSettingsPack' in order to accurately represent that these settings are used separately for Restore, Build, and Pack operations. This enhances code readability and maintenance by ensuring each setting pertains to its distinct task.
1 parent 124476a commit 0286c45

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

build/Program.cs

+20-10
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ public class BuildContext : FrostingContext
5454
public FilePath TemplatesTestsProjectFile { get; }
5555
public FilePathCollection AllPackableSrcProjects { get; }
5656

57-
public DotNetMSBuildSettings MsBuildSettings { get; }
57+
public DotNetMSBuildSettings MsBuildSettingsRestore { get; }
58+
public DotNetMSBuildSettings MsBuildSettingsBuild { get; }
59+
public DotNetMSBuildSettings MsBuildSettingsPack { get; }
5860

5961
private IAppVeyorProvider AppVeyor => this.BuildSystem().AppVeyor;
6062
public bool IsRunningOnAppVeyor => AppVeyor.IsRunningOnAppVeyor;
@@ -98,23 +100,31 @@ public BuildContext(ICakeContext context)
98100
AllPackableSrcProjects = new FilePathCollection(context.GetFiles(RootDirectory.FullPath + "/src/**/*.csproj")
99101
.Where(p => !p.FullPath.Contains("Disassembler")));
100102

101-
MsBuildSettings = new DotNetMSBuildSettings();
103+
MsBuildSettingsRestore = new DotNetMSBuildSettings();
104+
MsBuildSettingsBuild = new DotNetMSBuildSettings();
105+
MsBuildSettingsPack = new DotNetMSBuildSettings();
106+
102107
if (IsCiBuild)
103108
{
104-
MsBuildSettings.MaxCpuCount = 1;
105-
MsBuildSettings.WithProperty("UseSharedCompilation", "false");
106109
System.Environment.SetEnvironmentVariable("BDN_CI_BUILD", "true");
110+
111+
MsBuildSettingsBuild.MaxCpuCount = 1;
112+
MsBuildSettingsBuild.WithProperty("UseSharedCompilation", "false");
107113
}
108114

109115
if (!string.IsNullOrEmpty(TargetVersion))
110-
MsBuildSettings.WithProperty("Version", TargetVersion);
116+
{
117+
MsBuildSettingsRestore.WithProperty("Version", TargetVersion);
118+
MsBuildSettingsBuild.WithProperty("Version", TargetVersion);
119+
MsBuildSettingsPack.WithProperty("Version", TargetVersion);
120+
}
111121

112122
// NativeAOT build requires VS C++ tools to be added to $path via vcvars64.bat
113123
// but once we do that, dotnet restore fails with:
114124
// "Please specify a valid solution configuration using the Configuration and Platform properties"
115125
if (context.IsRunningOnWindows())
116126
{
117-
MsBuildSettings.WithProperty("Platform", "Any CPU");
127+
MsBuildSettingsRestore.WithProperty("Platform", "Any CPU");
118128
}
119129
}
120130

@@ -316,7 +326,7 @@ public override void Run(BuildContext context)
316326
context.DotNetRestore(context.SolutionFile.FullPath,
317327
new DotNetRestoreSettings
318328
{
319-
MSBuildSettings = context.MsBuildSettings
329+
MSBuildSettings = context.MsBuildSettingsRestore
320330
});
321331
}
322332
}
@@ -333,7 +343,7 @@ public override void Run(BuildContext context)
333343
Configuration = context.BuildConfiguration,
334344
NoRestore = true,
335345
DiagnosticOutput = true,
336-
MSBuildSettings = context.MsBuildSettings,
346+
MSBuildSettings = context.MsBuildSettingsBuild,
337347
Verbosity = DotNetVerbosity.Minimal
338348
});
339349
}
@@ -414,7 +424,7 @@ public override void Run(BuildContext context)
414424
Configuration = context.BuildConfiguration,
415425
OutputDirectory = context.ArtifactsDirectory.FullPath,
416426
ArgumentCustomization = args => args.Append("--include-symbols").Append("-p:SymbolPackageFormat=snupkg"),
417-
MSBuildSettings = context.MsBuildSettings,
427+
MSBuildSettings = context.MsBuildSettingsPack,
418428
NoBuild = true,
419429
NoRestore = true
420430
};
@@ -426,7 +436,7 @@ public override void Run(BuildContext context)
426436
{
427437
Configuration = context.BuildConfiguration,
428438
OutputDirectory = context.ArtifactsDirectory.FullPath,
429-
MSBuildSettings = context.MsBuildSettings
439+
MSBuildSettings = context.MsBuildSettingsPack
430440
};
431441
context.DotNetPack(context.TemplatesTestsProjectFile.FullPath, settingsTemplate);
432442
}

0 commit comments

Comments
 (0)