private void InitializeTestProjects(UnimaFileConfig fileConfig, UnimaConfig config, Microsoft.CodeAnalysis.Solution solution) { if (fileConfig.TestProjects == null || !fileConfig.TestProjects.Any()) { throw new ProjectSetUpException("Test project list is null or empty"); } LogTo.Info("Setting up test projects."); foreach (var testProjectName in fileConfig.TestProjects) { var testProjects = solution.Projects.Where(p => Regex.IsMatch(p.Name, FormattedProjectName(testProjectName), RegexOptions.IgnoreCase)); if (!testProjects.Any()) { throw new ProjectSetUpException($"Could not find any project with the name {testProjectName} in the solution."); } foreach (var testProject in testProjects) { LogTo.Info($"Found the test project {testProject.Name}. Grabbing output info."); if (IsIgnored(testProject.Name, fileConfig.IgnoredProjects)) { LogTo.Info("But it was ignored. So skipping"); continue; } var testProjectOutput = UpdateOutputPathWithBuildConfiguration(testProject.OutputFilePath, config.BuildConfiguration); LogTo.Info($"Wanted build configuration is \"{config.BuildConfiguration}\". Setting test project output to \"{testProjectOutput}\""); config.TestProjects.Add(new TestProject { Project = new SolutionProjectInfo(testProject.Name, testProjectOutput), TestRunner = GetTestRunner(testProject, fileConfig.TestRunner) }); } } }
private async void CreateProject() { var projectPath = Path.Combine(ProjectPath, $"{ProjectName}.json"); var config = new UnimaFileConfig { IgnoredProjects = SelectedProjectsInSolution.Where(s => !s.IsSelected).Select(s => s.ProjectInfo.Name).ToList(), SolutionPath = SolutionPath, TestProjects = SelectedTestProjectInSolution.Where(s => s.IsSelected).Select(s => s.ProjectInfo.Name).ToList(), TestRunner = TestRunnerTypes[SelectedTestRunnerIndex] }; await _mediator.Send(new CreateProjectCommand(projectPath, config)); await _mediator.Send(new AddProjectHistoryCommand(projectPath)); _mutationModuleTabOpener.OpenOverviewTab(await _mediator.Send(new OpenProjectCommand(projectPath, true))); }
private void InitializeMutationProjects(UnimaFileConfig fileConfig, UnimaConfig config, Microsoft.CodeAnalysis.Solution solution) { if (fileConfig.IgnoredProjects == null) { fileConfig.IgnoredProjects = new List <string>(); } LogTo.Info("Setting up mutation projects."); foreach (var solutionProject in solution.Projects) { if (IsIgnored(solutionProject.Name, fileConfig.IgnoredProjects) || IsTestProject(solutionProject.Name, fileConfig.TestProjects)) { continue; } LogTo.Info($"Grabbing output info for {solutionProject.Name}."); config.MutationProjects.Add(new SolutionProjectInfo(solutionProject.Name, UpdateOutputPathWithBuildConfiguration(solutionProject.OutputFilePath, config.BuildConfiguration))); } }
public CreateProjectCommand(string savePath, UnimaFileConfig config) { SavePath = savePath; Config = config; }