@@ -14,7 +14,9 @@ namespace AggregateConfigBuildTask
14
14
public class AggregateConfig : Task
15
15
{
16
16
private readonly IFileSystem fileSystem ;
17
+ private ITaskLogger logger ;
17
18
19
+ /* Start incoming properties */
18
20
[ Required ]
19
21
public string InputDirectory { get ; set ; }
20
22
@@ -30,14 +32,29 @@ public class AggregateConfig : Task
30
32
31
33
public string [ ] AdditionalProperties { get ; set ; }
32
34
35
+ public bool IsQuietMode
36
+ {
37
+ get
38
+ {
39
+ return logger is QuietTaskLogger ;
40
+ }
41
+ set
42
+ {
43
+ logger = value && ! ( logger is QuietTaskLogger ) ? new QuietTaskLogger ( Log ) : logger ;
44
+ }
45
+ }
46
+ /* End incoming properties */
47
+
33
48
public AggregateConfig ( )
34
49
{
35
50
this . fileSystem = new FileSystem ( ) ;
51
+ this . logger = new TaskLogger ( Log ) ;
36
52
}
37
53
38
- internal AggregateConfig ( IFileSystem fileSystem )
54
+ internal AggregateConfig ( IFileSystem fileSystem , ITaskLogger logger )
39
55
{
40
56
this . fileSystem = fileSystem ;
57
+ this . logger = logger ;
41
58
}
42
59
43
60
public override bool Execute ( )
@@ -51,47 +68,47 @@ public override bool Execute()
51
68
if ( ! Enum . TryParse ( OutputType , true , out OutputType outputType ) ||
52
69
! Enum . IsDefined ( typeof ( OutputType ) , outputType ) )
53
70
{
54
- Log . LogError ( "Invalid OutputType: {0}. Available options: {1}" , OutputType , string . Join ( ", " , Enum . GetNames ( typeof ( OutputType ) ) ) ) ;
71
+ logger . LogError ( "Invalid OutputType: {0}. Available options: {1}" , OutputType , string . Join ( ", " , Enum . GetNames ( typeof ( OutputType ) ) ) ) ;
55
72
return false ;
56
73
}
57
74
58
75
InputType inputType = Contracts . InputType . Yaml ;
59
76
if ( ! string . IsNullOrEmpty ( InputType ) &&
60
77
( ! Enum . TryParse ( InputType , true , out inputType ) || ! Enum . IsDefined ( typeof ( InputType ) , inputType ) ) )
61
78
{
62
- Log . LogError ( "Invalid InputType: {0}. Available options: {1}" , InputType , string . Join ( ", " , Enum . GetNames ( typeof ( InputType ) ) ) ) ;
79
+ logger . LogError ( "Invalid InputType: {0}. Available options: {1}" , InputType , string . Join ( ", " , Enum . GetNames ( typeof ( InputType ) ) ) ) ;
63
80
return false ;
64
81
}
65
82
66
- Log . LogMessage ( MessageImportance . High , "Aggregating {0} to {1} in folder {2}" , inputType , outputType , InputDirectory ) ;
83
+ logger . LogMessage ( MessageImportance . High , "Aggregating {0} to {1} in folder {2}" , inputType , outputType , InputDirectory ) ;
67
84
68
85
string directoryPath = Path . GetDirectoryName ( OutputFile ) ;
69
86
if ( ! fileSystem . DirectoryExists ( directoryPath ) )
70
87
{
71
88
fileSystem . CreateDirectory ( directoryPath ) ;
72
89
}
73
90
74
- var finalResult = ObjectManager . MergeFileObjects ( InputDirectory , inputType , AddSourceProperty , fileSystem , Log ) . GetAwaiter ( ) . GetResult ( ) ;
91
+ var finalResult = ObjectManager . MergeFileObjects ( InputDirectory , inputType , AddSourceProperty , fileSystem , logger ) . GetAwaiter ( ) . GetResult ( ) ;
75
92
76
93
if ( finalResult == null )
77
94
{
78
- Log . LogError ( "No input was found! Check the input directory." ) ;
95
+ logger . LogError ( "No input was found! Check the input directory." ) ;
79
96
return false ;
80
97
}
81
98
82
99
var additionalPropertiesDictionary = JsonHelper . ParseAdditionalProperties ( AdditionalProperties ) ;
83
- finalResult = ObjectManager . InjectAdditionalProperties ( finalResult , additionalPropertiesDictionary , Log ) . GetAwaiter ( ) . GetResult ( ) ;
100
+ finalResult = ObjectManager . InjectAdditionalProperties ( finalResult , additionalPropertiesDictionary , logger ) . GetAwaiter ( ) . GetResult ( ) ;
84
101
85
102
var writer = FileHandlerFactory . GetOutputWriter ( fileSystem , outputType ) ;
86
103
writer . WriteOutput ( finalResult , OutputFile ) ;
87
- Log . LogMessage ( MessageImportance . High , "Wrote aggregated configuration file to {0}" , OutputFile ) ;
104
+ logger . LogMessage ( MessageImportance . High , "Wrote aggregated configuration file to {0}" , OutputFile ) ;
88
105
89
106
return true ;
90
107
}
91
108
catch ( Exception ex )
92
109
{
93
- Log . LogError ( "An unknown exception occurred: {0}" , ex . Message ) ;
94
- Log . LogErrorFromException ( ex , true , true , null ) ;
110
+ logger . LogError ( "An unknown exception occurred: {0}" , ex . Message ) ;
111
+ logger . LogErrorFromException ( ex , true , true , null ) ;
95
112
return false ;
96
113
}
97
114
}
@@ -103,7 +120,7 @@ private void EmitHeader()
103
120
. GetCustomAttribute < AssemblyInformationalVersionAttribute > ( ) ?
104
121
. InformationalVersion ;
105
122
106
- Log . LogMessage ( MessageImportance . High , $ "AggregateConfig Version: { informationalVersion } ") ;
123
+ logger . LogMessage ( MessageImportance . Normal , $ "AggregateConfig Version: { informationalVersion } ") ;
107
124
}
108
125
}
109
126
}
0 commit comments