aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaire Villard <60586848+claire-villard-sonarsource@users.noreply.github.com>2024-12-18 16:03:15 +0100
committersonartech <sonartech@sonarsource.com>2024-12-18 20:03:11 +0000
commit057577c5c422331e68e8965013d9b4e18ec25654 (patch)
tree8a136cc646c1726e8357e660f2241b4db2dbc5b5
parent19cc4e293ac40bad84c411e1a9781d8d1de44c63 (diff)
downloadsonarqube-057577c5c422331e68e8965013d9b4e18ec25654.tar.gz
sonarqube-057577c5c422331e68e8965013d9b4e18ec25654.zip
SONAR-23972 Update scanner-related broken documentation links
-rw-r--r--sonar-core/src/main/java/org/sonar/core/config/ScannerProperties.java2
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/RuntimeJavaVersion.java49
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringGlobalContainer.java4
-rw-r--r--sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/RuntimeJavaVersionTest.java107
4 files changed, 2 insertions, 160 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/config/ScannerProperties.java b/sonar-core/src/main/java/org/sonar/core/config/ScannerProperties.java
index e024b91cfca..b1c68acb353 100644
--- a/sonar-core/src/main/java/org/sonar/core/config/ScannerProperties.java
+++ b/sonar-core/src/main/java/org/sonar/core/config/ScannerProperties.java
@@ -30,7 +30,7 @@ import static org.sonar.api.PropertyType.INTEGER;
public class ScannerProperties {
- public static final String BRANCHES_DOC_LINK_SUFFIX = "/analyzing-source-code/branches/branch-analysis/";
+ public static final String BRANCHES_DOC_LINK_SUFFIX = "/analyzing-source-code/analysis-parameters/#multibranch";
public static final String BRANCH_NAME = "sonar.branch.name";
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/RuntimeJavaVersion.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/RuntimeJavaVersion.java
deleted file mode 100644
index 887f09a5f00..00000000000
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/RuntimeJavaVersion.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-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.sonar.scanner.bootstrap;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.sonar.api.notifications.AnalysisWarnings;
-import org.sonar.core.documentation.DocumentationLinkGenerator;
-
-public class RuntimeJavaVersion {
- private static final Logger LOG = LoggerFactory.getLogger(RuntimeJavaVersion.class);
- public static final String LOG_MESSAGE = "SonarScanner will require Java 17 to run, starting in SonarQube 10.4";
- public static final String WARNING_MESSAGE_TEMPLATE = "SonarScanner will require Java 17 to run, starting in SonarQube 10.4. Please upgrade the" +
- " version of Java that executes the scanner and refer to <a href=\"{}/\" target=\"_blank\">the documentation</a> if needed.";
-
- private final DocumentationLinkGenerator documentationLinkGenerator;
- private final AnalysisWarnings analysisWarnings;
-
- public RuntimeJavaVersion(DocumentationLinkGenerator documentationLinkGenerator, AnalysisWarnings analysisWarnings){
- this.documentationLinkGenerator = documentationLinkGenerator;
- this.analysisWarnings = analysisWarnings;
- }
-
- public void checkJavaVersion() {
- Runtime.Version version = Runtime.version();
- if (version.compareTo(Runtime.Version.parse("17")) < 0) {
- LOG.warn(LOG_MESSAGE);
- String documentationLink = documentationLinkGenerator.getDocumentationLink("/analyzing-source-code/scanner-environment");
- analysisWarnings.addUnique(WARNING_MESSAGE_TEMPLATE.replace("{}", documentationLink));
- }
- }
-}
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringGlobalContainer.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringGlobalContainer.java
index 9112b99c78b..55593f19704 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringGlobalContainer.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/SpringGlobalContainer.java
@@ -119,8 +119,7 @@ public class SpringGlobalContainer extends SpringComponentContainer {
ScannerCoreExtensionsInstaller.class,
DefaultGlobalSettingsLoader.class,
DefaultNewCodePeriodLoader.class,
- DefaultMetricsRepositoryLoader.class,
- RuntimeJavaVersion.class);
+ DefaultMetricsRepositoryLoader.class);
}
@Override
@@ -140,7 +139,6 @@ public class SpringGlobalContainer extends SpringComponentContainer {
if (!analysisMode.equals("publish")) {
throw MessageException.of("The preview mode, along with the 'sonar.analysis.mode' parameter, is no more supported. You should stop using this parameter.");
}
- getComponentByType(RuntimeJavaVersion.class).checkJavaVersion();
new SpringScannerContainer(this).execute();
LOG.info("Analysis total time: {}", formatTime(System.currentTimeMillis() - startTime));
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/RuntimeJavaVersionTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/RuntimeJavaVersionTest.java
deleted file mode 100644
index 83b61a78e33..00000000000
--- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/bootstrap/RuntimeJavaVersionTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-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.sonar.scanner.bootstrap;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.MockedStatic;
-import org.mockito.Mockito;
-import org.slf4j.event.Level;
-import org.sonar.api.notifications.AnalysisWarnings;
-import org.sonar.api.testfixtures.log.LogAndArguments;
-import org.sonar.api.testfixtures.log.LogTester;
-import org.sonar.core.documentation.DocumentationLinkGenerator;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-import static org.mockito.Mockito.when;
-import static org.sonar.scanner.bootstrap.RuntimeJavaVersion.WARNING_MESSAGE_TEMPLATE;
-
-public class RuntimeJavaVersionTest {
-
- @Rule
- public LogTester logTester = new LogTester();
-
- private DocumentationLinkGenerator documentLinkGenerator = mock(DocumentationLinkGenerator.class);
- private AnalysisWarnings analysisWarnings = spy(AnalysisWarnings.class);
- private RuntimeJavaVersion underTest = new RuntimeJavaVersion(documentLinkGenerator, analysisWarnings);
-
- @Before
- public void before(){
- when(documentLinkGenerator.getDocumentationLink(any())).thenReturn("{}");
- }
-
- @Test
- public void given_runtime11_should_log_message() {
- try (MockedStatic<Runtime> utilities = Mockito.mockStatic(Runtime.class)) {
- Runtime.Version version = Runtime.Version.parse("11");
- utilities.when(Runtime::version).thenReturn(version);
-
- underTest.checkJavaVersion();
-
- assertThat(logTester.getLogs(Level.WARN)).extracting(LogAndArguments::getRawMsg)
- .anyMatch(s -> s.contains(RuntimeJavaVersion.LOG_MESSAGE));
- }
- }
-
- @Test
- public void given_runtime11_should_addAnalysisWarning() {
- try (MockedStatic<Runtime> utilities = Mockito.mockStatic(Runtime.class)) {
- Runtime.Version version = Runtime.Version.parse("11");
- utilities.when(Runtime::version).thenReturn(version);
-
- underTest.checkJavaVersion();
-
- verify(analysisWarnings).addUnique(WARNING_MESSAGE_TEMPLATE);
- }
- }
-
-
- @Test
- public void given_runtime17_should_notLogOrAddWarning() {
- try (MockedStatic<Runtime> utilities = Mockito.mockStatic(Runtime.class)) {
- Runtime.Version version = Runtime.Version.parse("17");
- utilities.when(Runtime::version).thenReturn(version);
-
- underTest.checkJavaVersion();
-
- verifyNoInteractions(analysisWarnings);
- assertThat(logTester.logs()).isEmpty();
- }
- }
- @Test
-
- public void given_runtime20_should_notLogOrAddWarning() {
- try (MockedStatic<Runtime> utilities = Mockito.mockStatic(Runtime.class)) {
- Runtime.Version version = Runtime.Version.parse("20");
- utilities.when(Runtime::version).thenReturn(version);
-
- underTest.checkJavaVersion();
-
- verifyNoInteractions(analysisWarnings);
- assertThat(logTester.logs()).isEmpty();
- }
- }
-}