@@ -35,6 +35,7 @@ public CreateCommand()
35
35
FileNameGenerator fileNameGenerator = new FileNameGenerator ( ) ;
36
36
TemplateCreator templateCreator = new TemplateCreator ( ) ;
37
37
APIVersionSetTemplateCreator apiVersionSetTemplateCreator = new APIVersionSetTemplateCreator ( templateCreator ) ;
38
+ LoggerTemplateCreator loggerTemplateCreator = new LoggerTemplateCreator ( templateCreator ) ;
38
39
ProductTemplateCreator productTemplateCreator = new ProductTemplateCreator ( templateCreator ) ;
39
40
ProductAPITemplateCreator productAPITemplateCreator = new ProductAPITemplateCreator ( ) ;
40
41
PolicyTemplateCreator policyTemplateCreator = new PolicyTemplateCreator ( fileReader ) ;
@@ -44,8 +45,9 @@ public CreateCommand()
44
45
CreatorFileNames creatorFileNames = fileNameGenerator . GenerateCreatorLinkedFileNames ( creatorConfig ) ;
45
46
46
47
// create templates from provided configuration
47
- Template apiVersionSetTemplate = creatorConfig . apiVersionSets != null ? apiVersionSetTemplateCreator . CreateAPIVersionSetTemplate ( creatorConfig ) : null ;
48
+ Template apiVersionSetsTemplate = creatorConfig . apiVersionSets != null ? apiVersionSetTemplateCreator . CreateAPIVersionSetTemplate ( creatorConfig ) : null ;
48
49
Template productsTemplate = creatorConfig . products != null ? productTemplateCreator . CreateProductTemplate ( creatorConfig ) : null ;
50
+ Template loggersTemplate = creatorConfig . loggers != null ? loggerTemplateCreator . CreateLoggerTemplate ( creatorConfig ) : null ;
49
51
// store name and full template on each api necessary to build unlinked templates
50
52
Dictionary < string , Template > initialAPITemplates = new Dictionary < string , Template > ( ) ;
51
53
Dictionary < string , Template > subsequentAPITemplates = new Dictionary < string , Template > ( ) ;
@@ -65,15 +67,15 @@ public CreateCommand()
65
67
name = api . name ,
66
68
dependsOnVersionSets = api . apiVersionSetId != null ,
67
69
dependsOnProducts = api . products != null ,
68
- dependsOnLoggers = true
70
+ dependsOnLoggers = masterTemplateCreator . DetermineIfAPIDependsOnLogger ( api , fileReader )
69
71
} ) ;
70
72
}
71
73
72
74
// write templates to outputLocation
73
75
if ( creatorConfig . linked == true )
74
76
{
75
77
// create linked master template
76
- Template masterTemplate = masterTemplateCreator . CreateLinkedMasterTemplate ( apiVersionSetTemplate , productsTemplate , apiInformation , creatorFileNames , fileNameGenerator ) ;
78
+ Template masterTemplate = masterTemplateCreator . CreateLinkedMasterTemplate ( apiVersionSetsTemplate , productsTemplate , loggersTemplate , apiInformation , creatorFileNames , fileNameGenerator ) ;
77
79
fileWriter . WriteJSONToFile ( masterTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . linkedMaster ) ) ;
78
80
}
79
81
foreach ( KeyValuePair < string , Template > initialAPITemplatePair in initialAPITemplates )
@@ -86,14 +88,18 @@ public CreateCommand()
86
88
string subsequentAPIFileName = fileNameGenerator . GenerateAPIFileName ( subsequentAPITemplatePair . Key , false ) ;
87
89
fileWriter . WriteJSONToFile ( subsequentAPITemplatePair . Value , String . Concat ( creatorConfig . outputLocation , subsequentAPIFileName ) ) ;
88
90
}
89
- if ( apiVersionSetTemplate != null )
91
+ if ( apiVersionSetsTemplate != null )
90
92
{
91
- fileWriter . WriteJSONToFile ( apiVersionSetTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . apiVersionSets ) ) ;
93
+ fileWriter . WriteJSONToFile ( apiVersionSetsTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . apiVersionSets ) ) ;
92
94
}
93
95
if ( productsTemplate != null )
94
96
{
95
97
fileWriter . WriteJSONToFile ( productsTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . products ) ) ;
96
98
}
99
+ if ( loggersTemplate != null )
100
+ {
101
+ fileWriter . WriteJSONToFile ( loggersTemplate , String . Concat ( creatorConfig . outputLocation , creatorFileNames . loggers ) ) ;
102
+ }
97
103
// write parameters to outputLocation
98
104
fileWriter . WriteJSONToFile ( masterTemplateParameters , String . Concat ( creatorConfig . outputLocation , creatorConfig . linked == true ? creatorFileNames . linkedParameters : creatorFileNames . unlinkedParameters ) ) ;
99
105
ColoredConsole . WriteLine ( "Templates written to output location" ) ;
@@ -126,7 +132,7 @@ public bool ValidateCreatorConfig(CreatorConfig creatorConfig)
126
132
isValid = false ;
127
133
throw new CommandParsingException ( this , "LinkTemplatesBaseUrl is required for linked templates" ) ;
128
134
}
129
- foreach ( APIVersionSetConfig apiVersionSet in creatorConfig . apiVersionSets )
135
+ foreach ( APIVersionSetConfig apiVersionSet in creatorConfig . apiVersionSets )
130
136
{
131
137
if ( apiVersionSet != null && apiVersionSet . displayName == null )
132
138
{
0 commit comments