diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2024-05-06 15:48:11 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2024-05-07 13:04:55 +0200 |
commit | f2df80dbd277ffa97d2d43f8e44368944d3e1e4b (patch) | |
tree | 23762f8e8f545df1ec65da0e910a7ca98888da0e | |
parent | 3f3dfbe7907f6e2c0efe2d1b2a515db234cb65da (diff) | |
download | sonar-scanner-cli-f2df80dbd277ffa97d2d43f8e44368944d3e1e4b.tar.gz sonar-scanner-cli-f2df80dbd277ffa97d2d43f8e44368944d3e1e4b.zip |
Update to the latest scanner-java-library
-rw-r--r-- | .cirrus.yml | 2 | ||||
-rw-r--r-- | it/pom.xml | 38 | ||||
-rw-r--r-- | it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java | 16 | ||||
-rw-r--r-- | it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java | 2 | ||||
-rw-r--r-- | pom.xml | 6 | ||||
-rw-r--r-- | src/main/java/org/sonarsource/scanner/cli/Conf.java | 4 | ||||
-rw-r--r-- | src/main/java/org/sonarsource/scanner/cli/ScannerEngineBootstrapperFactory.java | 2 | ||||
-rw-r--r-- | src/main/java/org/sonarsource/scanner/cli/Slf4jLogOutput.java | 50 | ||||
-rw-r--r-- | src/test/java/org/sonarsource/scanner/cli/Slf4jLogOutputTest.java | 51 |
9 files changed, 36 insertions, 135 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index fd15fa2..0405791 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -77,6 +77,7 @@ linux_qa_java17_task: matrix: - SQ_VERSION: LATEST_RELEASE[9.9] - SQ_VERSION: LATEST_RELEASE + - SQ_VERSION: DEV maven_cache: folder: ${CIRRUS_WORKING_DIR}/.m2/repository qa_script: @@ -103,6 +104,7 @@ win_qa_java17_task: matrix: - SQ_VERSION: LATEST_RELEASE[9.9] - SQ_VERSION: LATEST_RELEASE + - SQ_VERSION: DEV maven_cache: folder: ${CIRRUS_WORKING_DIR}/.m2/repository qa_script: @@ -67,22 +67,28 @@ </dependencies> <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <systemProperties> - <scanner.version>${env.PROJECT_VERSION}</scanner.version> - </systemProperties> - <includes> - <include>**/SonarScannerTestSuite.java</include> - </includes> - </configuration> - </plugin> - </plugins> - </pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <!-- Some tests are asserting on localized messages or dates --> + <systemPropertyVariables> + <user.language>en</user.language> + <user.country>US</user.country> + </systemPropertyVariables> + <environmentVariables> + <LANGUAGE>en_US</LANGUAGE> + </environmentVariables> + <systemProperties> + <scanner.version>${env.PROJECT_VERSION}</scanner.version> + </systemProperties> + <includes> + <include>**/SonarScannerTestSuite.java</include> + </includes> + </configuration> + </plugin> + </plugins> </build> <profiles> diff --git a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java index 8055d82..d6b9bf7 100644 --- a/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java +++ b/it/src/test/java/com/sonarsource/scanner/it/ScannerTest.java @@ -164,17 +164,14 @@ public class ScannerTest extends ScannerTestCase { @Test public void should_use_environment_prop() { SonarScanner build = newScanner(new File("projects/simple-sample")) - .setEnvironmentVariable("SONAR_HOST_URL", "http://from-env.org"); + .setEnvironmentVariable("SONAR_HOST_URL", "http://www.google.com/404"); BuildRunner runner = new BuildRunner(orchestrator.getConfiguration()); BuildResult buildResult = runner.runQuietly(null, build); assertThat(buildResult.isSuccess()).isFalse(); assertThat(buildResult.getLogs()) - .containsAnyOf( - "No such host is known (from-env.org)", // Windows - "from-env.org: Name or service not known" // Linux - ); + .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404"); } @Test @@ -192,18 +189,15 @@ public class ScannerTest extends ScannerTestCase { public void should_fail_if_unable_to_connect() { SonarScanner build = newScanner(new File("projects/simple-sample")) //env property should be overridden - .setEnvironmentVariable("SONAR_HOST_URL", "http://from-env.org") - .setProperty("sonar.host.url", "http://foo"); + .setEnvironmentVariable("SONAR_HOST_URL", "http://www.google.com") + .setProperty("sonar.host.url", "http://www.google.com/404"); BuildResult result = orchestrator.executeBuildQuietly(build); // expect build failure assertThat(result.isSuccess()).isFalse(); // with the following message assertThat(result.getLogs()) - .containsAnyOf( - "No such host is known (foo)", // Windows - "foo: No address associated with hostname" // Linux - ); + .contains("Error status returned by url [http://www.google.com/404/api/v2/analysis/version]: 404"); } // SONARPLUGINS-3574 diff --git a/it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java b/it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java index e3222a5..8d4df88 100644 --- a/it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java +++ b/it/src/test/java/com/sonarsource/scanner/it/SonarScannerTestSuite.java @@ -38,7 +38,7 @@ public class SonarScannerTestSuite { private static OrchestratorRule createOrchestrator() { String sonarVersion = System - .getProperty("sonar.runtimeVersion", "LATEST_RELEASE[9.9]"); + .getProperty("sonar.runtimeVersion", "DEV"); return OrchestratorRule.builderEnv() .useDefaultAdminCredentialsForBuilds(true) .setSonarVersion(sonarVersion) @@ -66,7 +66,7 @@ <dependency> <groupId>org.sonarsource.scanner.lib</groupId> <artifactId>sonar-scanner-java-library</artifactId> - <version>3.0.0.114</version> + <version>3.0.0.141</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> @@ -213,8 +213,8 @@ <configuration> <rules> <requireFilesSize> - <minsize>4100000</minsize> - <maxsize>4200000</maxsize> + <minsize>4300000</minsize> + <maxsize>4400000</maxsize> <files> <file>${project.build.directory}/sonar-scanner-${project.version}.zip</file> </files> diff --git a/src/main/java/org/sonarsource/scanner/cli/Conf.java b/src/main/java/org/sonarsource/scanner/cli/Conf.java index b1cbe62..47f431f 100644 --- a/src/main/java/org/sonarsource/scanner/cli/Conf.java +++ b/src/main/java/org/sonarsource/scanner/cli/Conf.java @@ -81,8 +81,8 @@ class Conf { return resolver.resolve(); } - private Map<String, String> loadEnvironmentProperties() { - return EnvironmentConfig.load(new Slf4jLogOutput()); + private static Map<String, String> loadEnvironmentProperties() { + return EnvironmentConfig.load(); } private Properties loadGlobalProperties() { diff --git a/src/main/java/org/sonarsource/scanner/cli/ScannerEngineBootstrapperFactory.java b/src/main/java/org/sonarsource/scanner/cli/ScannerEngineBootstrapperFactory.java index 63ee9d0..a0983d9 100644 --- a/src/main/java/org/sonarsource/scanner/cli/ScannerEngineBootstrapperFactory.java +++ b/src/main/java/org/sonarsource/scanner/cli/ScannerEngineBootstrapperFactory.java @@ -38,7 +38,7 @@ class ScannerEngineBootstrapperFactory { } ScannerEngineBootstrapper newScannerEngineBootstrapper(String appName, String appVersion) { - return ScannerEngineBootstrapper.create(appName, appVersion, new Slf4jLogOutput()); + return ScannerEngineBootstrapper.create(appName, appVersion); } diff --git a/src/main/java/org/sonarsource/scanner/cli/Slf4jLogOutput.java b/src/main/java/org/sonarsource/scanner/cli/Slf4jLogOutput.java deleted file mode 100644 index 2ce5cba..0000000 --- a/src/main/java/org/sonarsource/scanner/cli/Slf4jLogOutput.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarScanner CLI - * Copyright (C) 2011-2024 SonarSource SA - * mailto:info 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.sonarsource.scanner.cli; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.sonarsource.scanner.lib.LogOutput; - -public class Slf4jLogOutput implements LogOutput { - - private static final Logger LOG = LoggerFactory.getLogger(Slf4jLogOutput.class); - - @Override - public void log(String s, Level level) { - switch (level) { - case TRACE: - LOG.trace(s); - break; - case DEBUG: - LOG.debug(s); - break; - case INFO: - LOG.info(s); - break; - case WARN: - LOG.warn(s); - break; - case ERROR: - LOG.error(s); - break; - } - } -} diff --git a/src/test/java/org/sonarsource/scanner/cli/Slf4jLogOutputTest.java b/src/test/java/org/sonarsource/scanner/cli/Slf4jLogOutputTest.java deleted file mode 100644 index adf29f4..0000000 --- a/src/test/java/org/sonarsource/scanner/cli/Slf4jLogOutputTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * SonarScanner CLI - * Copyright (C) 2011-2024 SonarSource SA - * mailto:info 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.sonarsource.scanner.cli; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.RegisterExtension; -import org.slf4j.event.Level; -import org.sonarsource.scanner.lib.LogOutput; -import testutils.LogTester; - -import static org.assertj.core.api.Assertions.assertThat; - -class Slf4jLogOutputTest { - - @RegisterExtension - LogTester logTester = new LogTester().setLevel(Level.TRACE); - - @Test - void make_coverage_happy() { - var underTest = new Slf4jLogOutput(); - underTest.log("trace", LogOutput.Level.TRACE); - underTest.log("debug", LogOutput.Level.DEBUG); - underTest.log("info", LogOutput.Level.INFO); - underTest.log("warn", LogOutput.Level.WARN); - underTest.log("error", LogOutput.Level.ERROR); - - assertThat(logTester.logs(Level.TRACE)).containsOnly("trace"); - assertThat(logTester.logs(Level.DEBUG)).containsOnly("debug"); - assertThat(logTester.logs(Level.INFO)).containsOnly("info"); - assertThat(logTester.logs(Level.WARN)).containsOnly("warn"); - assertThat(logTester.logs(Level.ERROR)).containsOnly("error"); - } - -} |