Skip to content

Commit 34b16ba

Browse files
Update analyzer commons and fix loggers usage (#277)
1 parent bec7fa7 commit 34b16ba

File tree

10 files changed

+57
-39
lines changed

10 files changed

+57
-39
lines changed

pom.xml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,10 @@
6060
<sonar.version>10.0.0.68432</sonar.version>
6161
<sonar.minVersion>9.9</sonar.minVersion>
6262

63-
<sonar.analyzerCommons.version>2.5.0.1358</sonar.analyzerCommons.version>
63+
<sonar.analyzerCommons.version>2.7.0.1482</sonar.analyzerCommons.version>
6464
<sonar.orchestrator.version>3.42.0.312</sonar.orchestrator.version>
6565
<sonar.sonarlint-core.version>8.15.0.65216</sonar.sonarlint-core.version>
66-
<sonar.pluginApi.version>9.14.0.375</sonar.pluginApi.version>
67-
66+
<sonar.pluginApi.version>10.1.0.809</sonar.pluginApi.version>
6867
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
6968

7069
<!-- Release: enable publication to Bintray -->
@@ -85,7 +84,16 @@
8584
<artifactId>sonar-analyzer-commons</artifactId>
8685
<version>${sonar.analyzerCommons.version}</version>
8786
</dependency>
88-
87+
<dependency>
88+
<groupId>org.sonarsource.api.plugin</groupId>
89+
<artifactId>sonar-plugin-api-test-fixtures</artifactId>
90+
<version>${sonar.pluginApi.version}</version>
91+
</dependency>
92+
<dependency>
93+
<groupId>org.slf4j</groupId>
94+
<artifactId>slf4j-api</artifactId>
95+
<version>1.7.30</version>
96+
</dependency>
8997
<dependency>
9098
<groupId>org.sonarsource.analyzer-commons</groupId>
9199
<artifactId>sonar-xml-parsing</artifactId>

sonar-xml-plugin/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@
3535
<scope>provided</scope>
3636
</dependency>
3737

38+
<dependency>
39+
<groupId>org.sonarsource.api.plugin</groupId>
40+
<artifactId>sonar-plugin-api-test-fixtures</artifactId>
41+
<scope>test</scope>
42+
</dependency>
43+
44+
<dependency>
45+
<groupId>org.slf4j</groupId>
46+
<artifactId>slf4j-api</artifactId>
47+
<scope>provided</scope>
48+
</dependency>
49+
3850
<dependency>
3951
<groupId>com.google.code.findbugs</groupId>
4052
<artifactId>jsr305</artifactId>

sonar-xml-plugin/src/main/java/org/sonar/plugins/xml/LineCounter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
import java.io.Serializable;
2323
import java.util.HashSet;
2424
import java.util.Set;
25+
import org.slf4j.Logger;
26+
import org.slf4j.LoggerFactory;
2527
import org.sonar.api.batch.fs.InputFile;
2628
import org.sonar.api.batch.sensor.SensorContext;
2729
import org.sonar.api.measures.CoreMetrics;
2830
import org.sonar.api.measures.FileLinesContext;
2931
import org.sonar.api.measures.FileLinesContextFactory;
3032
import org.sonar.api.measures.Metric;
31-
import org.sonar.api.utils.log.Logger;
32-
import org.sonar.api.utils.log.Loggers;
3333
import org.sonarsource.analyzer.commons.xml.XmlFile;
3434
import org.sonarsource.analyzer.commons.xml.XmlTextRange;
3535
import org.w3c.dom.Document;
@@ -40,7 +40,7 @@
4040

4141
public final class LineCounter {
4242

43-
private static final Logger LOG = Loggers.get(LineCounter.class);
43+
private static final Logger LOG = LoggerFactory.getLogger(LineCounter.class);
4444

4545
private LineCounter() {
4646
}

sonar-xml-plugin/src/main/java/org/sonar/plugins/xml/XmlSensor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import java.util.List;
2626
import java.util.concurrent.TimeUnit;
2727
import java.util.stream.Collectors;
28+
import org.slf4j.Logger;
29+
import org.slf4j.LoggerFactory;
2830
import org.sonar.api.SonarProduct;
2931
import org.sonar.api.SonarRuntime;
3032
import org.sonar.api.batch.fs.FilePredicate;
@@ -40,8 +42,6 @@
4042
import org.sonar.api.measures.FileLinesContextFactory;
4143
import org.sonar.api.rule.RuleKey;
4244
import org.sonar.api.utils.Version;
43-
import org.sonar.api.utils.log.Logger;
44-
import org.sonar.api.utils.log.Loggers;
4545
import org.sonar.plugins.xml.checks.CheckList;
4646
import org.sonar.plugins.xml.checks.ParsingErrorCheck;
4747
import org.sonarsource.analyzer.commons.ProgressReport;
@@ -51,7 +51,7 @@
5151

5252
public class XmlSensor implements Sensor {
5353

54-
private static final Logger LOG = Loggers.get(XmlSensor.class);
54+
private static final Logger LOG = LoggerFactory.getLogger(XmlSensor.class);
5555

5656
private static final RuleKey PARSING_ERROR_RULE_KEY = RuleKey.of(Xml.REPOSITORY_KEY, ParsingErrorCheck.RULE_KEY);
5757

@@ -142,7 +142,7 @@ void runCheck(SensorContext context, SonarXmlCheck check, RuleKey ruleKey, XmlFi
142142
}
143143

144144
private static void logFailingRule(RuleKey rule, URI fileLocation, Exception e) {
145-
LOG.error(String.format("Unable to execute rule %s on %s", rule, fileLocation), e);
145+
LOG.error("Unable to execute rule {} on {}", rule, fileLocation, e);
146146
}
147147

148148
@Override
@@ -175,7 +175,7 @@ private void processesFilesIndependently(SensorDescriptor descriptor) {
175175
private void processParseException(Exception e, SensorContext context, InputFile inputFile) {
176176
reportAnalysisError(e, context, inputFile);
177177

178-
LOG.warn(String.format("Unable to analyse file %s;", inputFile.uri()));
178+
LOG.warn("Unable to analyse file {};", inputFile.uri());
179179
LOG.debug("Cause: {}", e.getMessage());
180180

181181
if (parsingErrorCheckEnabled) {

sonar-xml-plugin/src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
import javax.xml.xpath.XPathExpression;
2929
import javax.xml.xpath.XPathExpressionException;
3030
import javax.xml.xpath.XPathFactory;
31+
import org.slf4j.Logger;
32+
import org.slf4j.LoggerFactory;
3133
import org.sonar.api.utils.WildcardPattern;
32-
import org.sonar.api.utils.log.Logger;
33-
import org.sonar.api.utils.log.Loggers;
3434
import org.sonar.check.Rule;
3535
import org.sonar.check.RuleProperty;
3636
import org.sonarsource.analyzer.commons.xml.XmlFile;
@@ -46,7 +46,7 @@
4646
@Rule(key = XPathCheck.RULE_KEY)
4747
public class XPathCheck extends SonarXmlCheck {
4848

49-
private static final Logger LOG = Loggers.get(XPathCheck.class);
49+
private static final Logger LOG = LoggerFactory.getLogger(XPathCheck.class);
5050

5151
public static final String RULE_KEY = "XPathCheck";
5252

sonar-xml-plugin/src/main/java/org/sonar/plugins/xml/checks/maven/DisallowedDependenciesCheck.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import java.util.regex.Pattern;
2626
import javax.annotation.CheckForNull;
2727
import javax.xml.xpath.XPathExpression;
28-
import org.sonar.api.utils.log.Logger;
29-
import org.sonar.api.utils.log.Loggers;
28+
import org.slf4j.Logger;
29+
import org.slf4j.LoggerFactory;
3030
import org.sonar.check.Rule;
3131
import org.sonar.check.RuleProperty;
3232
import org.sonar.plugins.xml.checks.maven.helpers.MavenDependencyMatcher;
@@ -40,7 +40,7 @@
4040
@DeprecatedRuleKey(repositoryKey = "java", ruleKey = DisallowedDependenciesCheck.KEY)
4141
public class DisallowedDependenciesCheck extends SimpleXPathBasedCheck {
4242

43-
private static final Logger LOG = Loggers.get(DisallowedDependenciesCheck.class);
43+
private static final Logger LOG = LoggerFactory.getLogger(DisallowedDependenciesCheck.class);
4444

4545
public static final String KEY = "S3417";
4646

@@ -115,7 +115,7 @@ private MavenDependencyMatcher getMatcher() {
115115
try {
116116
dependencyMatcher = new MavenDependencyMatcher(dependencyName, version);
117117
} catch (RuntimeException e) {
118-
LOG.error("The rule xml:" + KEY + " is configured with some invalid parameters. " + e.getMessage());
118+
LOG.error("The rule xml:{} is configured with some invalid parameters. {}", KEY, e.getMessage());
119119
}
120120
}
121121
return dependencyMatcher;

sonar-xml-plugin/src/test/java/org/sonar/plugins/xml/XmlRulesDefinitionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void test() {
6666
rulesDefinition.define(context);
6767
RulesDefinition.Repository repository = context.repository("xml");
6868

69-
assertThat(repository.name()).isEqualTo("SonarQube");
69+
assertThat(repository.name()).isEqualTo("Sonar");
7070
assertThat(repository.language()).isEqualTo("xml");
7171
assertThat(repository.rules()).hasSize(CheckList.getCheckClasses().size());
7272

sonar-xml-plugin/src/test/java/org/sonar/plugins/xml/XmlSensorTest.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.util.concurrent.TimeUnit;
3333
import java.util.regex.Pattern;
3434
import java.util.stream.IntStream;
35-
3635
import org.apache.commons.lang.NotImplementedException;
3736
import org.assertj.core.api.Condition;
3837
import org.junit.Rule;
@@ -41,6 +40,7 @@
4140
import org.junit.jupiter.api.extension.RegisterExtension;
4241
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
4342
import org.junit.rules.TemporaryFolder;
43+
import org.slf4j.event.Level;
4444
import org.sonar.api.SonarEdition;
4545
import org.sonar.api.SonarQubeSide;
4646
import org.sonar.api.SonarRuntime;
@@ -66,10 +66,8 @@
6666
import org.sonar.api.measures.FileLinesContext;
6767
import org.sonar.api.measures.FileLinesContextFactory;
6868
import org.sonar.api.rule.RuleKey;
69+
import org.sonar.api.testfixtures.log.LogTesterJUnit5;
6970
import org.sonar.api.utils.Version;
70-
import org.sonar.api.utils.log.LogAndArguments;
71-
import org.sonar.api.utils.log.LogTesterJUnit5;
72-
import org.sonar.api.utils.log.LoggerLevel;
7371
import org.sonar.plugins.xml.checks.TabCharacterCheck;
7472
import org.sonarsource.analyzer.commons.xml.XmlFile;
7573
import org.sonarsource.analyzer.commons.xml.checks.SonarXmlCheck;
@@ -87,7 +85,7 @@ class XmlSensorTest {
8785
public TemporaryFolder temporaryFolder = new TemporaryFolder();
8886

8987
@RegisterExtension
90-
public LogTesterJUnit5 logTester = new LogTesterJUnit5();
88+
public LogTesterJUnit5 logTester = new LogTesterJUnit5().setLevel(Level.DEBUG);
9189

9290
private DefaultFileSystem fs;
9391
private XmlSensor sensor;
@@ -133,8 +131,8 @@ void test_not_xml_web_config() throws Exception {
133131
sensor.execute(context);
134132

135133
assertThat(context.allIssues()).isEmpty();
136-
assertThat(logTester.logs(LoggerLevel.WARN)).isEmpty();
137-
assertThat(logTester.logs(LoggerLevel.ERROR)).isEmpty();
134+
assertThat(logTester.logs(Level.WARN)).isEmpty();
135+
assertThat(logTester.logs(Level.ERROR)).isEmpty();
138136
}
139137

140138
@Test
@@ -281,9 +279,9 @@ public void scanFile(XmlFile file) {
281279
assertThat(context.allIssues()).isEmpty();
282280
assertThat(logTester.getLogs()).isNotEmpty();
283281

284-
List<LogAndArguments> errors = logTester.getLogs(LoggerLevel.ERROR);
282+
List<String> errors = logTester.logs(Level.ERROR);
285283
assertThat(errors).hasSize(1);
286-
assertThat(errors.get(0).getRawMsg()).startsWith("Unable to execute rule xml:S666");
284+
assertThat(errors.get(0)).startsWith("Unable to execute rule xml:S666");
287285
}
288286

289287
/**
@@ -348,8 +346,8 @@ void should_log_a_warning_if_file_does_not_exist() throws Exception {
348346
sensor.execute(context);
349347

350348
assertThat(context.allIssues()).isEmpty();
351-
assertThat(logTester.logs(LoggerLevel.WARN)).contains("Unable to analyse file " + invalidFile.uri() + ";");
352-
assertThat(logTester.logs(LoggerLevel.ERROR)).isEmpty();
349+
assertThat(logTester.logs(Level.WARN)).contains("Unable to analyse file " + invalidFile.uri() + ";");
350+
assertThat(logTester.logs(Level.ERROR)).isEmpty();
353351
}
354352

355353
private void init() throws Exception {

sonar-xml-plugin/src/test/java/org/sonar/plugins/xml/checks/XPathCheckTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.junit.jupiter.api.Test;
2323
import org.junit.jupiter.api.extension.RegisterExtension;
2424
import org.junit.jupiter.migrationsupport.rules.EnableRuleMigrationSupport;
25-
import org.sonar.api.utils.log.LogTesterJUnit5;
26-
import org.sonar.api.utils.log.LoggerLevel;
25+
import org.slf4j.event.Level;
26+
import org.sonar.api.testfixtures.log.LogTesterJUnit5;
2727
import org.sonarsource.analyzer.commons.xml.checks.SonarXmlCheckVerifier;
2828

2929
import static org.assertj.core.api.Assertions.assertThat;
@@ -109,12 +109,12 @@ void test_failure_without_log() {
109109
check.setExpression("//comment()");
110110

111111
logTester.clear();
112-
logTester.setLevel(LoggerLevel.INFO);
112+
logTester.setLevel(Level.INFO);
113113
SonarXmlCheckVerifier.verifyNoIssue("../xPathFailure.xml", check);
114114
assertThat(logTester.getLogs()).isEmpty();
115115

116116
logTester.clear();
117-
logTester.setLevel(LoggerLevel.DEBUG);
117+
logTester.setLevel(Level.DEBUG);
118118
SonarXmlCheckVerifier.verifyNoIssue("../xPathFailure.xml", check);
119119
assertThat(logTester.getLogs()).isNotEmpty();
120120
}

sonar-xml-plugin/src/test/java/org/sonar/plugins/xml/checks/maven/DisallowedDependenciesCheckTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import org.junit.jupiter.api.extension.RegisterExtension;
2525
import org.junit.jupiter.params.ParameterizedTest;
2626
import org.junit.jupiter.params.provider.CsvSource;
27-
import org.sonar.api.utils.log.LogTesterJUnit5;
28-
import org.sonar.api.utils.log.LoggerLevel;
27+
import org.slf4j.event.Level;
28+
import org.sonar.api.testfixtures.log.LogTesterJUnit5;
2929
import org.sonarsource.analyzer.commons.xml.checks.SonarXmlCheckVerifier;
3030

3131
import static org.assertj.core.api.Assertions.assertThat;
@@ -65,7 +65,7 @@ void should_log_error_when_invalid_dependency_name_is_provided() {
6565
check.dependencyName = "org.sonar";
6666
check.version = "";
6767
SonarXmlCheckVerifier.verifyNoIssue("noVersion/pom.xml", check);
68-
assertThat(logTester.logs(LoggerLevel.ERROR))
68+
assertThat(logTester.logs(Level.ERROR))
6969
.containsExactly("The rule xml:S3417 is configured with some invalid parameters." +
7070
" Invalid DependencyName pattern 'org.sonar'." +
7171
" Should match '[groupId]:[artifactId]', you can use '*' as wildcard or a regular expression." +
@@ -77,7 +77,7 @@ void should_log_error_when_invalid_dependency_version_is_provided() {
7777
check.dependencyName = "org.sonar.*:*";
7878
check.version = "version-0";
7979
SonarXmlCheckVerifier.verifyNoIssue("noVersion/pom.xml", check);
80-
assertThat(logTester.logs(LoggerLevel.ERROR))
80+
assertThat(logTester.logs(Level.ERROR))
8181
.containsExactly("The rule xml:S3417 is configured with some invalid parameters." +
8282
" Invalid Version pattern 'version-0'." +
8383
" Leave blank for all versions. You can use '*' as wildcard and '-' as range like '1.0-3.1' or '*-3.1'." +

0 commit comments

Comments
 (0)