public DefaultInputProject provide(ProjectBuildersExecutor projectBuildersExecutor, ProjectReactorValidator validator, ProjectReactor projectReactor, ScannerComponentIdGenerator scannerComponentIdGenerator) { if (project == null) { // 1 Apply project builders projectBuildersExecutor.execute(projectReactor); // 2 Validate final reactor validator.validate(projectReactor); // 3 Create project project = new DefaultInputProject(projectReactor.getRoot(), scannerComponentIdGenerator.getAsInt()); LOG.info("Project key: {}", project.key()); LOG.info("Base dir: {}", project.getBaseDir().toAbsolutePath().toString()); LOG.info("Working dir: {}", project.getWorkDir().toAbsolutePath().toString()); LOG.debug("Project global encoding: {}, default locale: {}", project.getEncoding().displayName(), Locale.getDefault()); } return project; } }
@Test public void testProjectBuilderFailsWithToString() { ProjectBuilder builder = mock(ProjectBuilder.class); doThrow(new IllegalStateException()).when(builder).build(any(Context.class)); ProjectBuilder[] projectBuilders = {builder}; exception.expectMessage("Failed to execute project builder: Mock for ProjectBuilder"); exception.expect(MessageException.class); new ProjectBuildersExecutor(projectBuilders).execute(reactor); }
@Test public void testProjectBuilderFailsWithoutToString() { ProjectBuilder[] projectBuilders = {new MyProjectBuilder()}; exception.expectMessage("Failed to execute project builder: org.sonar.scanner.scan.ProjectBuildersExecutorTest$MyProjectBuilder"); exception.expect(MessageException.class); new ProjectBuildersExecutor(projectBuilders).execute(reactor); }
public DefaultInputProject provide(ProjectBuildersExecutor projectBuildersExecutor, ProjectReactorValidator validator, ProjectReactor projectReactor, ScannerComponentIdGenerator scannerComponentIdGenerator) { if (project == null) { // 1 Apply project builders projectBuildersExecutor.execute(projectReactor); // 2 Validate final reactor validator.validate(projectReactor); // 3 Create project project = new DefaultInputProject(projectReactor.getRoot(), scannerComponentIdGenerator.getAsInt()); LOG.info("Project key: {}", project.key()); LOG.info("Base dir: {}", project.getBaseDir().toAbsolutePath().toString()); LOG.info("Working dir: {}", project.getWorkDir().toAbsolutePath().toString()); LOG.debug("Project global encoding: {}, default locale: {}", project.getEncoding().displayName(), Locale.getDefault()); } return project; } }