public static void CreateStubFiles(ProjectKind kind, string target, string analyzer, IList <CheckData> checks, Dictionary <string, IEnumerable <string> > categories) { if (kind == ProjectKind.Setup || kind == ProjectKind.NuGet) { return; } foreach (var check in checks) { if (kind == ProjectKind.Core) { Utilities.CreateFile(CodeTemplates.GenerateAnalyzer(analyzer, check), target, CodeTemplates.GenerateAnalyzerFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateCodeFix(analyzer, check), target, CodeTemplates.GenerateCodeFixFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateCategory(analyzer, categories[analyzer]), target, CodeTemplates.CategoryFileName); } else if (kind == ProjectKind.CSharp) { Utilities.CreateFile(CodeTemplates.GenerateCSharpAnalyzer(analyzer, check), target, CodeTemplates.GenerateCSharpAnalyzerFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateCSharpCodeFix(analyzer, check), target, CodeTemplates.GenerateCSharpCodeFixFileName(check)); } else if (kind == ProjectKind.VisualBasic) { Utilities.CreateFile(CodeTemplates.GenerateBasicAnalyzer(analyzer, check), target, CodeTemplates.GenerateBasicAnalyzerFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateBasicCodeFix(analyzer, check), target, CodeTemplates.GenerateBasicCodeFixFileName(check)); } else if (kind == ProjectKind.UnitTests) { Utilities.CreateFile(CodeTemplates.GenerateAnalyzerTests(analyzer, check), target, CodeTemplates.GenerateAnalyzerTestsFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateCodeFixTests(analyzer, check), target, CodeTemplates.GenerateCodeFixTestsFileName(check)); } } }
private static void AddNewChecksToUnitTestsProject(string analyzer, List <CheckData> checks) { var analyzerFullName = analyzer + ".Analyzers"; var testsDir = Path.Combine(_sourceFilesDirectory, analyzerFullName, "UnitTests"); var vbProjFile = Path.Combine(testsDir, analyzerFullName + ".UnitTests.csproj"); foreach (var check in checks) { AddCompileItemsToProjectFile(vbProjFile, ProjectKind.UnitTests, check); Utilities.CreateFile(CodeTemplates.GenerateAnalyzerTests(analyzer, check), testsDir, CodeTemplates.GenerateAnalyzerTestsFileName(check)); Utilities.CreateFile(CodeTemplates.GenerateCodeFixTests(analyzer, check), testsDir, CodeTemplates.GenerateCodeFixTestsFileName(check)); } }