@Override protected void doBeforeStart() { addScannerComponents(); addScannerExtensions(); ProjectLock lock = getComponentByType(ProjectLock.class); lock.tryLock(); getComponentByType(WorkDirectoriesInitializer.class).execute(); if (!isIssuesMode()) { addReportPublishSteps(); } else if (isTherePreviousAnalysis()) { addIssueTrackingComponents(); } }
public void tryLock() { try { if (!lock.tryLock()) { failAlreadyInProgress(null); } } catch (OverlappingFileLockException e) { failAlreadyInProgress(e); } }
public MutableModuleSettings(ModuleConfiguration config) { super(config.getDefinitions(), config.getEncryption()); addProperties(config.getProperties()); }
@Test public void not_fail_with_valid_key() { validator.validate(createProjectReactor("foo")); validator.validate(createProjectReactor("123foo")); validator.validate(createProjectReactor("foo123")); validator.validate(createProjectReactor("1Z3")); validator.validate(createProjectReactor("a123")); validator.validate(createProjectReactor("123a")); validator.validate(createProjectReactor("1:2")); validator.validate(createProjectReactor("3-3")); validator.validate(createProjectReactor("-:")); }
@Test public void should_add_only_batch_extensions() { ExtensionMatcher filter = ProjectScanContainer.getScannerProjectExtensionsFilter(); assertThat(filter.accept(new MyBatchExtension())).isTrue(); assertThat(filter.accept(MyBatchExtension.class)).isTrue(); assertThat(filter.accept(new MyProjectExtension())).isFalse(); assertThat(filter.accept(MyProjectExtension.class)).isFalse(); assertThat(filter.accept(new MyServerExtension())).isFalse(); assertThat(filter.accept(MyServerExtension.class)).isFalse(); assertThat(filter.accept(new MyTaskExtension())).isFalse(); assertThat(filter.accept(MyTaskExtension.class)).isFalse(); }
@Override protected void doBeforeStart() { addCoreComponents(); addExtensions(); }
public void complete(ProjectConfiguration projectConfig) { addProperties(projectConfig.getProperties()); }
private void addIssueTrackingComponents() { add( LocalIssueTracking.class, ServerIssueRepository.class); addIfMissing(DefaultServerIssuesLoader.class, ServerIssuesLoader.class); addIfMissing(DefaultServerLineHashesLoader.class, ServerLineHashesLoader.class); }
@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); }
/** * This should be called in the beginning of the analysis to fail fast */ public void validate() { metadataFilePath(); } }
public ProjectReactor provide(ProjectReactorBuilder builder) { if (reactor == null) { reactor = builder.execute(); } return reactor; } }
@Override public void stop() { lock.unlock(); }
private void addReportPublishSteps() { add( ComponentsPublisher.class, MeasuresPublisher.class, CoveragePublisher.class, SourcePublisher.class, ChangedLinesPublisher.class); }
@Test public void not_fail_with_valid_branch() { validator.validate(createProjectReactor("foo", "branch")); validator.validate(createProjectReactor("foo", "Branch2")); validator.validate(createProjectReactor("foo", "bra.nch")); validator.validate(createProjectReactor("foo", "bra-nch")); validator.validate(createProjectReactor("foo", "1")); validator.validate(createProjectReactor("foo", "bra_nch")); }
@Test public void not_fail_with_colon_key() { ProjectReactor reactor = createProjectReactor("foo:bar"); validator.validate(reactor); }
@Test public void should_not_fail_with_dot_key() { ProjectReactor reactor = createProjectReactor("foo.bar"); validator.validate(reactor); }
@Test public void not_fail_with_dash_key() { ProjectReactor reactor = createProjectReactor("foo-bar"); validator.validate(reactor); }
@Test public void not_fail_with_underscore_key() { ProjectReactor reactor = createProjectReactor("foo_bar"); validator.validate(reactor); }
@Test public void not_fail_with_alphanumeric_key() { ProjectReactor reactor = createProjectReactor("Foobar2"); validator.validate(reactor); }
@Test public void fail_with_colon_in_branch() { ProjectReactor reactor = createProjectReactor("foo", "bran:ch"); thrown.expect(MessageException.class); thrown.expectMessage("\"bran:ch\" is not a valid branch name"); validator.validate(reactor); }