diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2015-01-28 18:10:05 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2015-01-28 18:26:25 +0100 |
commit | b9b8790a3f75f9693f710fb19ed920d07a88c925 (patch) | |
tree | 260a2c02010d6c69afaa63655d0b9ecb66184365 /sonar-batch/src | |
parent | 27520f113d36d6f419160d7fff79f9ce4cab7b30 (diff) | |
download | sonarqube-b9b8790a3f75f9693f710fb19ed920d07a88c925.tar.gz sonarqube-b9b8790a3f75f9693f710fb19ed920d07a88c925.zip |
SONAR-5927 Improve permission checking and error reporting
Diffstat (limited to 'sonar-batch/src')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java index 11114ec0dc8..f0c22e52c68 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java +++ b/sonar-batch/src/main/java/org/sonar/batch/issue/tracking/LocalIssueTracking.java @@ -21,6 +21,8 @@ package org.sonar.batch.issue.tracking; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Lists; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.sonar.api.BatchComponent; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.internal.DefaultInputFile; @@ -35,6 +37,7 @@ import org.sonar.api.rule.RuleKey; import org.sonar.batch.index.BatchResource; import org.sonar.batch.index.ResourceCache; import org.sonar.batch.issue.IssueCache; +import org.sonar.batch.protocol.input.ProjectRepositories; import org.sonar.batch.scan.LastLineHashes; import org.sonar.batch.scan.filesystem.InputPathCache; import org.sonar.core.issue.IssueUpdater; @@ -45,6 +48,8 @@ import java.util.Collection; public class LocalIssueTracking implements BatchComponent { + private static final Logger LOG = LoggerFactory.getLogger(LocalIssueTracking.class); + private final IssueCache issueCache; private final IssueTracking tracking; private final LastLineHashes lastLineHashes; @@ -55,10 +60,11 @@ public class LocalIssueTracking implements BatchComponent { private final InputPathCache inputPathCache; private final ResourceCache resourceCache; private final PreviousIssueRepository previousIssueCache; + private final ProjectRepositories projectRepositories; public LocalIssueTracking(ResourceCache resourceCache, IssueCache issueCache, IssueTracking tracking, LastLineHashes lastLineHashes, IssueWorkflow workflow, IssueUpdater updater, - ActiveRules activeRules, InputPathCache inputPathCache, PreviousIssueRepository previousIssueCache) { + ActiveRules activeRules, InputPathCache inputPathCache, PreviousIssueRepository previousIssueCache, ProjectRepositories projectRepositories) { this.resourceCache = resourceCache; this.issueCache = issueCache; this.tracking = tracking; @@ -67,11 +73,17 @@ public class LocalIssueTracking implements BatchComponent { this.updater = updater; this.inputPathCache = inputPathCache; this.previousIssueCache = previousIssueCache; + this.projectRepositories = projectRepositories; this.changeContext = IssueChangeContext.createScan(((Project) resourceCache.getRoot().resource()).getAnalysisDate()); this.activeRules = activeRules; } public void execute() { + if (projectRepositories.lastAnalysisDate() == null) { + LOG.debug("No previous analysis, skipping issue tracking"); + return; + } + previousIssueCache.load(); for (BatchResource component : resourceCache.all()) { |