From d97f7932907682a90f16e6d04b5b11b7af48554b Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Thu, 11 Sep 2014 23:53:19 +0200 Subject: SONAR-5389 Add a new dependency API --- .../main/java/org/sonar/api/batch/SensorContext.java | 2 ++ .../main/java/org/sonar/api/batch/fs/InputFile.java | 1 + .../org/sonar/api/batch/sensor/SensorContext.java | 9 +++++++++ .../main/java/org/sonar/api/issue/NoSonarFilter.java | 20 ++++++++++++++++++-- .../java/org/sonar/api/resources/InputFileUtils.java | 3 ++- 5 files changed, 32 insertions(+), 3 deletions(-) (limited to 'sonar-plugin-api') 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 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> noSonarLinesByResource = Maps.newHashMap(); + /** + * @deprecated since 5.0 use {@link #noSonarInFile(InputFile, Set)} + */ + @Deprecated public NoSonarFilter addComponent(String componentKey, Set 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 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() { -- cgit v1.2.3