@@ -12,16 +12,16 @@ namespace Coverlet.MSbuild.Tasks
12
12
{
13
13
public class CoverageResultTask : Task
14
14
{
15
- private string _filename ;
15
+ private string _output ;
16
16
private string _format ;
17
17
private int _threshold ;
18
18
private string _thresholdType ;
19
19
20
20
[ Required ]
21
21
public string Output
22
22
{
23
- get { return _filename ; }
24
- set { _filename = value ; }
23
+ get { return _output ; }
24
+ set { _output = value ; }
25
25
}
26
26
27
27
[ Required ]
@@ -54,11 +54,9 @@ public override bool Execute()
54
54
var coverage = InstrumentationTask . Coverage ;
55
55
var result = coverage . GetCoverageResult ( ) ;
56
56
57
- var directory = Path . GetDirectoryName ( _filename ) ;
57
+ var directory = Path . GetDirectoryName ( _output ) ;
58
58
if ( ! Directory . Exists ( directory ) )
59
- {
60
59
Directory . CreateDirectory ( directory ) ;
61
- }
62
60
63
61
var formats = _format . Split ( ',' ) ;
64
62
foreach ( var format in formats )
@@ -67,7 +65,10 @@ public override bool Execute()
67
65
if ( reporter == null )
68
66
throw new Exception ( $ "Specified output format '{ format } ' is not supported") ;
69
67
70
- var report = _filename + "." + reporter . Extension ;
68
+ var filename = Path . GetFileName ( _output ) ;
69
+ filename = ( filename == string . Empty ) ? $ "coverage.{ reporter . Extension } " : filename ;
70
+
71
+ var report = Path . Combine ( directory , filename ) ;
71
72
Console . WriteLine ( $ " Generating report '{ report } '") ;
72
73
File . WriteAllText ( report , reporter . Report ( result ) ) ;
73
74
}
0 commit comments