77using System . Linq ;
88using FineCodeCoverage . Core . Utilities ;
99using System . Xml . Linq ;
10+ using FineCodeCoverage . Output ;
1011
1112namespace FineCodeCoverage . Engine . MsTestPlatform . CodeCoverage
1213{
@@ -15,16 +16,19 @@ internal class ProjectRunSettingsGenerator : IProjectRunSettingsGenerator
1516 {
1617 private readonly IFileUtil fileUtil ;
1718 private readonly IVsRunSettingsWriter vsRunSettingsWriter ;
19+ private readonly ILogger logger ;
1820 private const string fccGeneratedRunSettingsSuffix = "fcc-mscodecoverage-generated" ;
1921
2022 [ ImportingConstructor ]
2123 public ProjectRunSettingsGenerator (
2224 IFileUtil fileUtil ,
23- IVsRunSettingsWriter vsRunSettingsWriter
25+ IVsRunSettingsWriter vsRunSettingsWriter ,
26+ ILogger logger
2427 )
2528 {
2629 this . fileUtil = fileUtil ;
2730 this . vsRunSettingsWriter = vsRunSettingsWriter ;
31+ this . logger = logger ;
2832 }
2933
3034 public Task RemoveGeneratedProjectSettingsAsync ( IEnumerable < ICoverageProject > coverageProjects )
@@ -43,7 +47,7 @@ public Task WriteProjectsRunSettingsAsync(IEnumerable<ICoverageProjectRunSetting
4347 {
4448 var coverageProject = coverageProjectRunSettings . CoverageProject ;
4549 var projectRunSettingsFilePath = GeneratedProjectRunSettingsFilePath ( coverageProject ) ;
46- return WriteProjectRunSettingsAsync ( coverageProject . Id , projectRunSettingsFilePath , coverageProjectRunSettings . RunSettings ) ;
50+ return WriteProjectRunSettingsAsync ( coverageProject . Id , coverageProject . ProjectName , projectRunSettingsFilePath , coverageProjectRunSettings . RunSettings ) ;
4751 } )
4852 ) ;
4953
@@ -54,13 +58,18 @@ internal static string GeneratedProjectRunSettingsFilePath(ICoverageProject cove
5458 return Path . Combine ( coverageProject . CoverageOutputFolder , $ "{ coverageProject . ProjectName } -{ fccGeneratedRunSettingsSuffix } .runsettings") ;
5559 }
5660
57- private async Task WriteProjectRunSettingsAsync ( Guid projectGuid , string projectRunSettingsFilePath , string projectRunSettings )
61+ private async Task WriteProjectRunSettingsAsync ( Guid projectGuid , string projectName , string projectRunSettingsFilePath , string projectRunSettings )
5862 {
5963 var ok = await vsRunSettingsWriter . WriteRunSettingsFilePathAsync ( projectGuid , projectRunSettingsFilePath ) ;
6064 if ( ok )
6165 {
6266 projectRunSettings = XDocument . Parse ( projectRunSettings ) . FormatXml ( ) ;
6367 fileUtil . WriteAllText ( projectRunSettingsFilePath , projectRunSettings ) ;
68+ logger . Log ( $ "runsettings written to { projectRunSettingsFilePath } ", projectRunSettings ) ;
69+ }
70+ else
71+ {
72+ logger . Log ( $ "Issue writing runsettings for { projectName } ") ;
6473 }
6574 }
6675
0 commit comments