7
7
using System . Linq ;
8
8
using FineCodeCoverage . Core . Utilities ;
9
9
using System . Xml . Linq ;
10
+ using FineCodeCoverage . Output ;
10
11
11
12
namespace FineCodeCoverage . Engine . MsTestPlatform . CodeCoverage
12
13
{
@@ -15,16 +16,19 @@ internal class ProjectRunSettingsGenerator : IProjectRunSettingsGenerator
15
16
{
16
17
private readonly IFileUtil fileUtil ;
17
18
private readonly IVsRunSettingsWriter vsRunSettingsWriter ;
19
+ private readonly ILogger logger ;
18
20
private const string fccGeneratedRunSettingsSuffix = "fcc-mscodecoverage-generated" ;
19
21
20
22
[ ImportingConstructor ]
21
23
public ProjectRunSettingsGenerator (
22
24
IFileUtil fileUtil ,
23
- IVsRunSettingsWriter vsRunSettingsWriter
25
+ IVsRunSettingsWriter vsRunSettingsWriter ,
26
+ ILogger logger
24
27
)
25
28
{
26
29
this . fileUtil = fileUtil ;
27
30
this . vsRunSettingsWriter = vsRunSettingsWriter ;
31
+ this . logger = logger ;
28
32
}
29
33
30
34
public Task RemoveGeneratedProjectSettingsAsync ( IEnumerable < ICoverageProject > coverageProjects )
@@ -43,7 +47,7 @@ public Task WriteProjectsRunSettingsAsync(IEnumerable<ICoverageProjectRunSetting
43
47
{
44
48
var coverageProject = coverageProjectRunSettings . CoverageProject ;
45
49
var projectRunSettingsFilePath = GeneratedProjectRunSettingsFilePath ( coverageProject ) ;
46
- return WriteProjectRunSettingsAsync ( coverageProject . Id , projectRunSettingsFilePath , coverageProjectRunSettings . RunSettings ) ;
50
+ return WriteProjectRunSettingsAsync ( coverageProject . Id , coverageProject . ProjectName , projectRunSettingsFilePath , coverageProjectRunSettings . RunSettings ) ;
47
51
} )
48
52
) ;
49
53
@@ -54,13 +58,18 @@ internal static string GeneratedProjectRunSettingsFilePath(ICoverageProject cove
54
58
return Path . Combine ( coverageProject . CoverageOutputFolder , $ "{ coverageProject . ProjectName } -{ fccGeneratedRunSettingsSuffix } .runsettings") ;
55
59
}
56
60
57
- private async Task WriteProjectRunSettingsAsync ( Guid projectGuid , string projectRunSettingsFilePath , string projectRunSettings )
61
+ private async Task WriteProjectRunSettingsAsync ( Guid projectGuid , string projectName , string projectRunSettingsFilePath , string projectRunSettings )
58
62
{
59
63
var ok = await vsRunSettingsWriter . WriteRunSettingsFilePathAsync ( projectGuid , projectRunSettingsFilePath ) ;
60
64
if ( ok )
61
65
{
62
66
projectRunSettings = XDocument . Parse ( projectRunSettings ) . FormatXml ( ) ;
63
67
fileUtil . WriteAllText ( projectRunSettingsFilePath , projectRunSettings ) ;
68
+ logger . Log ( $ "runsettings written to { projectRunSettingsFilePath } ", projectRunSettings ) ;
69
+ }
70
+ else
71
+ {
72
+ logger . Log ( $ "Issue writing runsettings for { projectName } ") ;
64
73
}
65
74
}
66
75
0 commit comments