diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2016-07-08 15:59:54 +0200 |
---|---|---|
committer | Duarte Meneses <duarte.meneses@sonarsource.com> | 2016-07-11 10:53:30 +0200 |
commit | ae5a68d2050ec017ca30b9e770e3ce0a5beae806 (patch) | |
tree | 4dc2feb31a5fd10cb00d17f4eafd432534178abe /sonar-scanner-engine | |
parent | be5552b150a28447800c588202a0cf78694bf3e3 (diff) | |
download | sonarqube-ae5a68d2050ec017ca30b9e770e3ce0a5beae806.tar.gz sonarqube-ae5a68d2050ec017ca30b9e770e3ce0a5beae806.zip |
SONAR-7876 Add an API for Sensors to report files that can't be analyzed
Diffstat (limited to 'sonar-scanner-engine')
3 files changed, 65 insertions, 0 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorContext.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorContext.java index 2155392dd71..a2e4ca8f932 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorContext.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorContext.java @@ -31,6 +31,7 @@ import org.sonar.api.batch.sensor.coverage.NewCoverage; import org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage; import org.sonar.api.batch.sensor.cpd.NewCpdTokens; import org.sonar.api.batch.sensor.cpd.internal.DefaultCpdTokens; +import org.sonar.api.batch.sensor.error.NewAnalysisError; import org.sonar.api.batch.sensor.highlighting.NewHighlighting; import org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting; import org.sonar.api.batch.sensor.internal.SensorStorage; @@ -42,6 +43,7 @@ import org.sonar.api.batch.sensor.symbol.NewSymbolTable; import org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable; import org.sonar.api.config.Settings; import org.sonar.api.utils.Version; +import org.sonar.scanner.sensor.noop.NoOpNewAnalysisError; import org.sonar.scanner.sensor.noop.NoOpNewCpdTokens; import org.sonar.scanner.sensor.noop.NoOpNewHighlighting; import org.sonar.scanner.sensor.noop.NoOpNewSymbolTable; @@ -51,6 +53,7 @@ public class DefaultSensorContext implements SensorContext { private static final NoOpNewHighlighting NO_OP_NEW_HIGHLIGHTING = new NoOpNewHighlighting(); private static final NoOpNewSymbolTable NO_OP_NEW_SYMBOL_TABLE = new NoOpNewSymbolTable(); private static final NoOpNewCpdTokens NO_OP_NEW_CPD_TOKENS = new NoOpNewCpdTokens(); + private static final NoOpNewAnalysisError NO_OP_NEW_ANALYSIS_ERROR = new NoOpNewAnalysisError(); private final Settings settings; private final FileSystem fs; @@ -145,4 +148,9 @@ public class DefaultSensorContext implements SensorContext { return new DefaultCpdTokens(settings, sensorStorage); } + @Override + public NewAnalysisError newAnalysisError() { + return NO_OP_NEW_ANALYSIS_ERROR; + } + } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java index 1024e1747cd..8487a379085 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java @@ -37,6 +37,7 @@ import org.sonar.api.batch.measure.MetricFinder; import org.sonar.api.batch.sensor.coverage.CoverageType; import org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage; import org.sonar.api.batch.sensor.cpd.internal.DefaultCpdTokens; +import org.sonar.api.batch.sensor.error.AnalysisError; import org.sonar.api.batch.sensor.highlighting.internal.DefaultHighlighting; import org.sonar.api.batch.sensor.highlighting.internal.SyntaxHighlightingRule; import org.sonar.api.batch.sensor.internal.SensorStorage; @@ -288,4 +289,9 @@ public class DefaultSensorStorage implements SensorStorage { return blockSize; } + @Override + public void store(AnalysisError analysisError) { + // no op + } + } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/noop/NoOpNewAnalysisError.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/noop/NoOpNewAnalysisError.java new file mode 100644 index 00000000000..29e57a39448 --- /dev/null +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/noop/NoOpNewAnalysisError.java @@ -0,0 +1,51 @@ +/* + * SonarQube + * Copyright (C) 2009-2016 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +package org.sonar.scanner.sensor.noop; + +import org.sonar.api.batch.fs.InputFile; +import org.sonar.api.batch.fs.TextPointer; +import org.sonar.api.batch.sensor.error.NewAnalysisError; + +public class NoOpNewAnalysisError implements NewAnalysisError { + + @Override + public NewAnalysisError onFile(InputFile inputFile) { + // no op + return this; + } + + @Override + public NewAnalysisError message(String message) { + // no op + return this; + } + + @Override + public NewAnalysisError at(TextPointer location) { + // no op + return this; + } + + @Override + public void save() { + // no op + } + +} |