From ca01285e729e387685cc15e7261417aa318f769e Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Fri, 8 Jun 2018 18:13:19 +0200 Subject: [PATCH] SONAR-10690 move deprecated views task to public scanner --- .../scanner/bootstrap/BatchComponents.java | 5 +- .../org/sonar/scanner/task/ViewsTask.java | 47 +++++++++++++++++ .../org/sonar/scanner/task/ViewsTaskTest.java | 52 +++++++++++++++++++ 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 sonar-scanner-engine/src/main/java/org/sonar/scanner/task/ViewsTask.java create mode 100644 sonar-scanner-engine/src/test/java/org/sonar/scanner/task/ViewsTaskTest.java diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchComponents.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchComponents.java index da7fd41b874..9331e3cf5f8 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchComponents.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/BatchComponents.java @@ -38,6 +38,7 @@ import org.sonar.scanner.source.ZeroCoverageSensor; import org.sonar.scanner.task.ListTask; import org.sonar.scanner.task.ScanTask; import org.sonar.scanner.task.Tasks; +import org.sonar.scanner.task.ViewsTask; public class BatchComponents { private BatchComponents() { @@ -53,7 +54,9 @@ public class BatchComponents { ListTask.DEFINITION, ListTask.class, ScanTask.DEFINITION, - ScanTask.class); + ScanTask.class, + ViewsTask.DEFINITION, + ViewsTask.class); components.addAll(CorePropertyDefinitions.all()); if (!analysisMode.isIssues()) { // SCM diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/task/ViewsTask.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/task/ViewsTask.java new file mode 100644 index 00000000000..3fed02f5151 --- /dev/null +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/task/ViewsTask.java @@ -0,0 +1,47 @@ +/* + * SonarQube + * Copyright (C) 2009-2018 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.task; + +import org.sonar.api.task.Task; +import org.sonar.api.task.TaskDefinition; +import org.sonar.api.utils.MessageException; + +/** + * This task is deprecated since the refresh of portfolios and application is now automatic + * This task does nothing + * + * @deprecated since 7.1 + */ +@Deprecated +public class ViewsTask implements Task { + + private static final String KEY = "views"; + + public static final TaskDefinition DEFINITION = TaskDefinition.builder() + .key(KEY) + .description("Removed - was used to trigger portfolios refresh") + .taskClass(ViewsTask.class) + .build(); + + @Override + public void execute() { + throw MessageException.of("The task 'views' was removed with SonarQube 7.1. You can safely remove this call since portfolios and applications are automatically re-calculated."); + } +} diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/task/ViewsTaskTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/task/ViewsTaskTest.java new file mode 100644 index 00000000000..8eb2ffd8e5d --- /dev/null +++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/task/ViewsTaskTest.java @@ -0,0 +1,52 @@ +/* + * SonarQube + * Copyright (C) 2009-2018 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.task; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.sonar.api.utils.MessageException; +import org.sonar.api.utils.log.LogTester; + +public class ViewsTaskTest { + + @Rule + public LogTester logTester = new LogTester(); + @Rule + public ExpectedException expectedException = ExpectedException.none(); + + private ViewsTask underTest = new ViewsTask(); + + @Test + public void triggerShowError() { + expectedException.expect(MessageException.class); + expectedException.expectMessage( + "The task 'views' was removed with SonarQube 7.1. You can safely remove this call since portfolios and applications are automatically re-calculated."); + + underTest.execute(); + } +} -- 2.39.5