private string[] GetFiles(bool includeGeneratedFiles = true) { FileNameSet fs = new FileNameSet(); IncludeTemplateFiles(fs, MainTemplate, includeGeneratedFiles); if (_additionalHDFiles != null && _additionalHDFiles.Length > 0) { foreach (var f in _additionalHDFiles) { if (f != null) { fs.Include(f.FileName); } } } if (_otherTemplates != null && _otherTemplates.Length > 0) { foreach (var ti in _otherTemplates) { if (ti != null) { IncludeTemplateFiles(fs, ti, includeGeneratedFiles); } } } return(fs.ToArray()); }
private static void IncludeTemplateFiles(FileNameSet fs, TemplateInfo templateInfo, bool includeGeneratedFiles = true) { fs.Include(templateInfo.FileName); if (templateInfo.Dependencies != null && templateInfo.Dependencies.Length > 0) { foreach (var dep in templateInfo.Dependencies) { if (dep != null) { fs.Include(dep.FileName); } } } fs.Include(templateInfo.EffectiveComponentFile); if (includeGeneratedFiles && templateInfo.GeneratedHDFiles != null && templateInfo.GeneratedHDFiles.Length > 0) { foreach (var f in templateInfo.GeneratedHDFiles) { if (f != null) { fs.Include(f.FileName); } } } }