aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2014-09-11 23:53:19 +0200
committerJulien HENRY <julien.henry@sonarsource.com>2014-09-12 09:11:12 +0200
commitd97f7932907682a90f16e6d04b5b11b7af48554b (patch)
treed3f9b0c65271dd0a223312b0026f78eb59fbcb27 /sonar-plugin-api
parente658e802f50a801641985ef90518fda6e3534716 (diff)
downloadsonarqube-d97f7932907682a90f16e6d04b5b11b7af48554b.tar.gz
sonarqube-d97f7932907682a90f16e6d04b5b11b7af48554b.zip
SONAR-5389 Add a new dependency API
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/SensorContext.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFile.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java9
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java20
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/InputFileUtils.java3
5 files changed, 32 insertions, 3 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/SensorContext.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/SensorContext.java
index adf80cf8cf8..ea96a8678b1 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/SensorContext.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/SensorContext.java
@@ -170,7 +170,9 @@ public interface SensorContext {
*
* @param force allows to force creation of violation even if it was supressed by {@link org.sonar.api.rules.ViolationFilter}
* @since 2.5
+ * @deprecated since 5.0 but force parameter was ignored for a long time anyway
*/
+ @Deprecated
void saveViolation(Violation violation, boolean force);
/**
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFile.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFile.java
index 32ea0e3cf2e..357a7c99103 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFile.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/InputFile.java
@@ -90,4 +90,5 @@ public interface InputFile extends InputPath {
* zero if the file is empty.
*/
int lines();
+
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
index f2102986b38..1729795b06d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/SensorContext.java
@@ -190,4 +190,13 @@ public interface SensorContext {
*/
void saveCoveragePerTest(TestCase testCase, InputFile coveredFile, List<Integer> coveredLines);
+ // ------------ DEPENDENCIES ------------
+
+ /**
+ * Declare a dependency between 2 files.
+ * @param usage A qualifier for the dependency.
+ * @since 5.0
+ */
+ void saveDependency(InputFile from, InputFile to, String usage);
+
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java b/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
index 9331dcac10f..591aa0f539b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/issue/NoSonarFilter.java
@@ -19,10 +19,11 @@
*/
package org.sonar.api.issue;
-import org.sonar.api.issue.batch.IssueFilterChain;
-
import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
+import org.sonar.api.batch.fs.InputFile;
+import org.sonar.api.batch.fs.internal.DefaultInputFile;
+import org.sonar.api.issue.batch.IssueFilterChain;
import java.util.Map;
import java.util.Set;
@@ -40,11 +41,26 @@ public class NoSonarFilter implements org.sonar.api.issue.batch.IssueFilter {
private final Map<String, Set<Integer>> noSonarLinesByResource = Maps.newHashMap();
+ /**
+ * @deprecated since 5.0 use {@link #noSonarInFile(InputFile, Set)}
+ */
+ @Deprecated
public NoSonarFilter addComponent(String componentKey, Set<Integer> noSonarLines) {
noSonarLinesByResource.put(componentKey, noSonarLines);
return this;
}
+ /**
+ * Register lines in a file that contains the NOSONAR flag.
+ * @param inputFile
+ * @param noSonarLines Line number starts at 1 in a file
+ * @since 5.0
+ */
+ public NoSonarFilter noSonarInFile(InputFile inputFile, Set<Integer> noSonarLines) {
+ noSonarLinesByResource.put(((DefaultInputFile) inputFile).key(), noSonarLines);
+ return this;
+ }
+
@Override
public boolean accept(Issue issue, IssueFilterChain chain) {
boolean accepted = true;
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/InputFileUtils.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/InputFileUtils.java
index 50915f36312..d8f49ceb201 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/InputFileUtils.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/InputFileUtils.java
@@ -20,7 +20,6 @@
package org.sonar.api.resources;
import com.google.common.base.Objects;
-
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
@@ -34,7 +33,9 @@ import java.util.List;
/**
* @since 2.8
+ * @deprecated since 5.0 as {@link InputFile} is deprecated
*/
+@Deprecated
public final class InputFileUtils {
private InputFileUtils() {