/// <summary> /// Creates a folder containing a ProjectInfo.xml and compiled file list as /// specified in the supplied descriptor /// </summary> private static void CreateFilesFromDescriptor(ProjectDescriptor descriptor, string compileFiles, string contentFiles, string fxcopReportFileName, string visualStudioCodeCoverageReportFileName) { if (!Directory.Exists(descriptor.FullDirectoryPath)) { Directory.CreateDirectory(descriptor.FullDirectoryPath); } ProjectInfo projectInfo = descriptor.CreateProjectInfo(); // Create the analysis file list if any input files have been specified if (descriptor.FilesToAnalyse.Any()) { string fullAnalysisFileListPath = Path.Combine(descriptor.FullDirectoryPath, compileFiles); File.WriteAllLines(fullAnalysisFileListPath, descriptor.FilesToAnalyse); // Add the compile list as an analysis result projectInfo.AnalysisResults.Add(new AnalysisResult() { Id = AnalysisType.FilesToAnalyze.ToString(), Location = fullAnalysisFileListPath }); } // Create the FxCop report file if (fxcopReportFileName != null) { string fullFxCopName = Path.Combine(descriptor.FullDirectoryPath, fxcopReportFileName); File.Create(fullFxCopName); // Add the FxCop report as an analysis result var analysisResult = new AnalysisResult() { Id = AnalysisType.FxCop.ToString(), Location = fullFxCopName }; descriptor.AnalysisResults.Add(analysisResult); projectInfo.AnalysisResults.Add(analysisResult); } // Create the Visual Studio Code Coverage report file if (visualStudioCodeCoverageReportFileName != null) { string fullVisualStudioCodeCoverageName = Path.Combine(descriptor.FullDirectoryPath, visualStudioCodeCoverageReportFileName); File.Create(fullVisualStudioCodeCoverageName); // Add the Visual Studio Code Coverage report as an analysis result var analysisResult = new AnalysisResult() { Id = AnalysisType.VisualStudioCodeCoverage.ToString(), Location = fullVisualStudioCodeCoverageName }; descriptor.AnalysisResults.Add(analysisResult); projectInfo.AnalysisResults.Add(analysisResult); } // Save a project info file in the target directory projectInfo.Save(Path.Combine(descriptor.FullDirectoryPath, FileConstants.ProjectInfoFileName)); }
private static ProjectInfo CreateExpectedProjectInfo(ProjectDescriptor expected, string projectOutputFolder) { ProjectInfo expectedProjectInfo = expected.CreateProjectInfo(); // Work out what the expected analysis results are if (expected.Files.Any(f => f.ShouldBeAnalysed)) { expectedProjectInfo.AnalysisResults.Add( new AnalysisResult() { Id = AnalysisType.FilesToAnalyze.ToString(), Location = Path.Combine(projectOutputFolder, ExpectedAnalysisFilesListFileName) }); } return(expectedProjectInfo); }