private ProjectRepositories project = null;
public ProjectRepositories provide(ProjectRepositoriesLoader loader, ProjectKey projectKey, DefaultAnalysisMode mode) {
+ return provideInternal(loader, projectKey, mode.isIssues());
+ }
+
+ protected ProjectRepositories provideInternal(ProjectRepositoriesLoader loader, ProjectKey projectKey, boolean isIssueMode) {
if (project == null) {
Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG);
- project = loader.load(projectKey.get(), mode.isIssues());
- checkProject(mode);
+ project = loader.load(projectKey.get(), isIssueMode);
+ checkProject(isIssueMode);
profiler.stopInfo();
}
return project;
}
- private void checkProject(DefaultAnalysisMode mode) {
- if (mode.isIssues()) {
+ private void checkProject(boolean isIssueMode) {
+ if (isIssueMode) {
if (!project.exists()) {
LOG.warn("Project doesn't exist on the server. All issues will be marked as 'new'.");
} else if (project.lastAnalysisDate() == null) {
import org.sonar.scanner.repository.DefaultServerIssuesLoader;
import org.sonar.scanner.repository.ProjectRepositories;
import org.sonar.scanner.repository.ProjectRepositoriesLoader;
-import org.sonar.scanner.repository.ProjectRepositoriesProvider;
import org.sonar.scanner.repository.QualityProfileLoader;
import org.sonar.scanner.repository.QualityProfileProvider;
import org.sonar.scanner.repository.ServerIssuesLoader;
DefaultIndex.class,
Storages.class,
new RulesProvider(),
- new ProjectRepositoriesProvider(),
// temp
new AnalysisTempFolderProvider(),
import org.sonar.core.platform.ComponentContainer;
import org.sonar.scanner.analysis.AnalysisProperties;
import org.sonar.scanner.analysis.DefaultAnalysisMode;
+import org.sonar.scanner.repository.ProjectRepositoriesProvider;
import org.sonar.scanner.scan.ProjectScanContainer;
public class ScanTask implements Task {
AnalysisProperties props = new AnalysisProperties(taskProps.properties(), taskProps.property(CoreProperties.ENCRYPTION_SECRET_KEY_PATH));
ProjectScanContainer scanContainer = new ProjectScanContainer(taskContainer, props);
scanContainer.add(DefaultAnalysisMode.class);
+ scanContainer.add(new ProjectRepositoriesProvider());
scanContainer.execute();
}
}
assertThat(repo.exists()).isEqualTo(true);
assertThat(repo.lastAnalysisDate()).isNotNull();
- verify(mode, times(2)).isIssues();
+ verify(mode, times(1)).isIssues();
verify(projectKey).get();
verify(loader).load(eq("key"), eq(false));
verifyNoMoreInteractions(loader, projectKey, mode);