in src/Analyzer.Utilities/TemplateDiscovery.cs [46:77]
public static IEnumerable<TemplateAndParams> DiscoverTemplatesAndParametersInDirectory(DirectoryInfo directory, ILogger logger = null)
{
var armTemplates = directory.GetFiles(
"*.json",
new EnumerationOptions
{
MatchCasing = MatchCasing.CaseInsensitive,
RecurseSubdirectories = true
})
.Where(s => !s.Name.Contains(".parameters"))
.Where(IsValidTemplate)
.ToList();
var bicepTemplates = directory.GetFiles(
"*.bicep",
new EnumerationOptions
{
MatchCasing = MatchCasing.CaseInsensitive,
RecurseSubdirectories = true
})
.ToList();
var pairsToAnalyze =
armTemplates
.Concat(bicepTemplates)
.SelectMany(FindParameterFilesForTemplate)
.ToList();
logger?.LogInformation("Discovered {count} template-parameter pairs to analyze", pairsToAnalyze.Count);
return pairsToAnalyze;
}