@@ -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