diff --git a/external-reports/pom.xml b/external-reports/pom.xml index 5b64e759878..7226df3eec9 100644 --- a/external-reports/pom.xml +++ b/external-reports/pom.xml @@ -30,8 +30,13 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures test @@ -53,6 +58,12 @@ + + + junit + junit + test + org.junit.jupiter junit-jupiter diff --git a/external-reports/src/test/java/org/sonar/java/externalreport/CheckstyleSensorTest.java b/external-reports/src/test/java/org/sonar/java/externalreport/CheckstyleSensorTest.java index a5a2aecfa00..0fd5d200319 100644 --- a/external-reports/src/test/java/org/sonar/java/externalreport/CheckstyleSensorTest.java +++ b/external-reports/src/test/java/org/sonar/java/externalreport/CheckstyleSensorTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.externalreport; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -30,12 +31,11 @@ import org.junit.jupiter.params.provider.ValueSource; import org.slf4j.event.Level; import org.sonar.api.batch.rule.Severity; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.ExternalIssue; import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.java.externalreport.ExternalReportTestUtils.onlyOneLogElement; diff --git a/external-reports/src/test/java/org/sonar/java/externalreport/ExternalReportTestUtils.java b/external-reports/src/test/java/org/sonar/java/externalreport/ExternalReportTestUtils.java index c091e3d6cfd..d633b370772 100644 --- a/external-reports/src/test/java/org/sonar/java/externalreport/ExternalReportTestUtils.java +++ b/external-reports/src/test/java/org/sonar/java/externalreport/ExternalReportTestUtils.java @@ -16,6 +16,8 @@ */ package org.sonar.java.externalreport; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -24,8 +26,6 @@ import java.util.stream.Stream; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.testfixtures.log.LogTesterJUnit5; import static java.nio.charset.StandardCharsets.UTF_8; diff --git a/external-reports/src/test/java/org/sonar/java/externalreport/ExternalRulesDefinitionTest.java b/external-reports/src/test/java/org/sonar/java/externalreport/ExternalRulesDefinitionTest.java index 732e2a37354..ade35213e26 100644 --- a/external-reports/src/test/java/org/sonar/java/externalreport/ExternalRulesDefinitionTest.java +++ b/external-reports/src/test/java/org/sonar/java/externalreport/ExternalRulesDefinitionTest.java @@ -16,10 +16,10 @@ */ package org.sonar.java.externalreport; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.nio.file.Path; import java.nio.file.Paths; import org.junit.jupiter.api.Test; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import static org.assertj.core.api.Assertions.assertThat; diff --git a/external-reports/src/test/java/org/sonar/java/externalreport/PmdSensorTest.java b/external-reports/src/test/java/org/sonar/java/externalreport/PmdSensorTest.java index 53aecbaffad..7922487ddb1 100644 --- a/external-reports/src/test/java/org/sonar/java/externalreport/PmdSensorTest.java +++ b/external-reports/src/test/java/org/sonar/java/externalreport/PmdSensorTest.java @@ -16,6 +16,8 @@ */ package org.sonar.java.externalreport; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -28,17 +30,15 @@ import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.TextRange; -import org.sonar.api.batch.fs.internal.DefaultTextPointer; -import org.sonar.api.batch.fs.internal.DefaultTextRange; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.rule.Severity; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.ExternalIssue; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.fs.DefaultTextPointer; +import org.sonar.scanner.plugin.api.impl.fs.DefaultTextRange; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static java.nio.charset.StandardCharsets.UTF_8; import static org.assertj.core.api.Assertions.assertThat; diff --git a/external-reports/src/test/java/org/sonar/java/externalreport/SpotBugsSensorTest.java b/external-reports/src/test/java/org/sonar/java/externalreport/SpotBugsSensorTest.java index af7f3db9f36..f834f02ff5c 100644 --- a/external-reports/src/test/java/org/sonar/java/externalreport/SpotBugsSensorTest.java +++ b/external-reports/src/test/java/org/sonar/java/externalreport/SpotBugsSensorTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.externalreport; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -30,12 +31,11 @@ import org.junit.jupiter.params.provider.ValueSource; import org.slf4j.event.Level; import org.sonar.api.batch.rule.Severity; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.ExternalIssue; import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; diff --git a/java-checks-aws/pom.xml b/java-checks-aws/pom.xml index d2f6d0dbc0a..52bca557296 100644 --- a/java-checks-aws/pom.xml +++ b/java-checks-aws/pom.xml @@ -29,11 +29,6 @@ sonar-plugin-api-test-fixtures test - - org.sonarsource.sonarqube - sonar-plugin-api-impl - test - ${project.groupId} java-frontend diff --git a/java-checks-common/pom.xml b/java-checks-common/pom.xml index 8a0356139c0..6e81f2322c3 100644 --- a/java-checks-common/pom.xml +++ b/java-checks-common/pom.xml @@ -24,16 +24,6 @@ slf4j-api provided - - org.sonarsource.api.plugin - sonar-plugin-api-test-fixtures - test - - - org.sonarsource.sonarqube - sonar-plugin-api-impl - test - ${project.groupId} java-frontend diff --git a/java-checks/pom.xml b/java-checks/pom.xml index b6f72ca2c7b..499bd8b2015 100644 --- a/java-checks/pom.xml +++ b/java-checks/pom.xml @@ -30,8 +30,13 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures test diff --git a/java-checks/src/test/java/org/sonar/java/filters/FilterVerifier.java b/java-checks/src/test/java/org/sonar/java/filters/FilterVerifier.java index 19ff890adc1..7f3fc483318 100644 --- a/java-checks/src/test/java/org/sonar/java/filters/FilterVerifier.java +++ b/java-checks/src/test/java/org/sonar/java/filters/FilterVerifier.java @@ -17,7 +17,8 @@ package org.sonar.java.filters; import com.sonar.sslr.api.RecognitionException; - +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.util.ArrayList; import java.util.Arrays; @@ -27,12 +28,8 @@ import java.util.List; import java.util.Map; import java.util.Set; - import org.assertj.core.api.Fail; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.rule.RuleKey; import org.sonar.api.scan.issue.filter.FilterableIssue; import org.sonar.api.utils.AnnotationUtils; @@ -49,6 +46,7 @@ import org.sonar.plugins.java.api.JavaCheck; import org.sonar.plugins.java.api.tree.SyntaxTrivia; import org.sonar.plugins.java.api.tree.Tree; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; @@ -174,7 +172,7 @@ public void visitTrivia(SyntaxTrivia syntaxTrivia) { } private static SonarComponents sonarComponents(InputFile inputFile) { - SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); + SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7))); context.setSettings(new MapSettings().setProperty(SonarComponents.FAIL_ON_EXCEPTION_KEY, true)); SonarComponents sonarComponents = new SonarComponents(null, context.fileSystem(), null, null, null, null) { @Override diff --git a/java-frontend/pom.xml b/java-frontend/pom.xml index bfb2e8b5aea..f127e967488 100644 --- a/java-frontend/pom.xml +++ b/java-frontend/pom.xml @@ -40,8 +40,18 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures + test + + + org.sonarsource.scanner.engine + sonar-scanner-extension-framework test @@ -75,6 +85,12 @@ ${project.version} test + + + junit + junit + test + org.junit.jupiter junit-jupiter diff --git a/java-frontend/src/test/java/org/sonar/java/BatchGeneratorTest.java b/java-frontend/src/test/java/org/sonar/java/BatchGeneratorTest.java index fbc8eb717be..85a4385f753 100644 --- a/java-frontend/src/test/java/org/sonar/java/BatchGeneratorTest.java +++ b/java-frontend/src/test/java/org/sonar/java/BatchGeneratorTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -26,8 +27,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; import static org.sonar.java.InputFileUtils.addFile; diff --git a/java-frontend/src/test/java/org/sonar/java/InputFileUtils.java b/java-frontend/src/test/java/org/sonar/java/InputFileUtils.java index fbf1674611b..d559bd859ef 100644 --- a/java-frontend/src/test/java/org/sonar/java/InputFileUtils.java +++ b/java-frontend/src/test/java/org/sonar/java/InputFileUtils.java @@ -16,6 +16,7 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -25,7 +26,6 @@ import java.util.regex.Pattern; import org.jetbrains.annotations.NotNull; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.sensor.internal.SensorContextTester; class InputFileUtils { public static InputFile addFile(Path temp, String code, SensorContextTester context) throws IOException { diff --git a/java-frontend/src/test/java/org/sonar/java/JavaFrontendTest.java b/java-frontend/src/test/java/org/sonar/java/JavaFrontendTest.java index 844812cc178..b90475ed428 100644 --- a/java-frontend/src/test/java/org/sonar/java/JavaFrontendTest.java +++ b/java-frontend/src/test/java/org/sonar/java/JavaFrontendTest.java @@ -16,6 +16,8 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -39,9 +41,6 @@ import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.cache.ReadCache; import org.sonar.api.batch.sensor.cache.WriteCache; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.issue.NoSonarFilter; import org.sonar.api.measures.FileLinesContext; import org.sonar.api.measures.FileLinesContextFactory; @@ -66,6 +65,7 @@ import org.sonar.plugins.java.api.ModuleScannerContext; import org.sonar.plugins.java.api.internal.EndOfAnalysis; import org.sonar.plugins.java.api.tree.CompilationUnitTree; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -87,11 +87,11 @@ class JavaFrontendTest { // sonarlint.plugin.api.version public static final Version LATEST_SONARLINT_API_VERSION = Version.create(8, 18); - public static final SonarRuntime SONARLINT_RUNTIME = SonarRuntimeImpl.forSonarLint(LATEST_SONARLINT_API_VERSION); + public static final SonarRuntime SONARLINT_RUNTIME = TestSonarRuntime.forSonarLint(LATEST_SONARLINT_API_VERSION); // private static final Version LATESTS_SONAR_API_VERSION = Version.create(8, 13); - public static final SonarRuntime SONARQUBE_RUNTIME = SonarRuntimeImpl.forSonarQube(LATESTS_SONAR_API_VERSION, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); + public static final SonarRuntime SONARQUBE_RUNTIME = TestSonarRuntime.forSonarQube(LATESTS_SONAR_API_VERSION, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); @TempDir public Path temp; diff --git a/java-frontend/src/test/java/org/sonar/java/MeasurerTest.java b/java-frontend/src/test/java/org/sonar/java/MeasurerTest.java index b203c27acbb..b27bd4b6381 100644 --- a/java-frontend/src/test/java/org/sonar/java/MeasurerTest.java +++ b/java-frontend/src/test/java/org/sonar/java/MeasurerTest.java @@ -16,12 +16,12 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.util.Collections; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.issue.NoSonarFilter; import org.sonar.api.utils.PathUtils; import org.sonar.java.model.JavaVersionImpl; diff --git a/java-frontend/src/test/java/org/sonar/java/MeasurerTester.java b/java-frontend/src/test/java/org/sonar/java/MeasurerTester.java index 9dfcfbdfd67..26c5895e103 100644 --- a/java-frontend/src/test/java/org/sonar/java/MeasurerTester.java +++ b/java-frontend/src/test/java/org/sonar/java/MeasurerTester.java @@ -16,6 +16,8 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; import java.io.File; import java.util.Collections; import java.util.HashMap; @@ -25,8 +27,6 @@ import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.BeforeEach; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.measure.Measure; import org.sonar.api.issue.NoSonarFilter; import org.sonar.java.model.JavaVersionImpl; @@ -44,7 +44,7 @@ public abstract class MeasurerTester { public void setUp() { context = SensorContextTester.create(projectDir()); - DefaultFileSystem fs = context.fileSystem(); + TestFileSystem fs = context.fileSystem(); FileUtils.listFiles(sourceDir(), new String[] {"java"}, true).stream() .map(file -> TestUtils.inputFile("", sourceDir(), file, InputFile.Type.MAIN)) @@ -52,7 +52,7 @@ public void setUp() { Measurer measurer = new Measurer(context, mock(NoSonarFilter.class)); JavaFrontend frontend = new JavaFrontend(new JavaVersionImpl(), mockSonarComponents(), measurer, new NoOpTelemetry(), mock(JavaResourceLocator.class), null); - List files = StreamSupport.stream(fs.inputFiles().spliterator(), false).toList(); + List files = StreamSupport.stream(fs.inputFiles(fs.predicates().all()).spliterator(), false).toList(); frontend.scan(files, Collections.emptyList(), Collections.emptyList()); } @@ -62,7 +62,7 @@ public void setUp() { public Map getMetrics() { Map metrics = new HashMap<>(); - for (InputFile inputFile : context.fileSystem().inputFiles()) { + for (InputFile inputFile : context.fileSystem().inputFiles(context.fileSystem().predicates().all())) { for (Measure measure : context.measures(inputFile.key())) { if (measure.value() != null) { String key = measure.metric().key(); diff --git a/java-frontend/src/test/java/org/sonar/java/SonarComponentsTest.java b/java-frontend/src/test/java/org/sonar/java/SonarComponentsTest.java index 8af9156dafe..cfdc8120ba5 100644 --- a/java-frontend/src/test/java/org/sonar/java/SonarComponentsTest.java +++ b/java-frontend/src/test/java/org/sonar/java/SonarComponentsTest.java @@ -17,7 +17,10 @@ package org.sonar.java; import com.sonar.sslr.api.RecognitionException; - +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -34,7 +37,6 @@ import java.util.function.LongSupplier; import java.util.stream.Stream; import javax.annotation.CheckForNull; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -54,21 +56,14 @@ import org.sonar.api.SonarRuntime; import org.sonar.api.batch.bootstrap.ProjectDefinition; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.rule.CheckFactory; import org.sonar.api.batch.rule.Checks; -import org.sonar.api.batch.rule.internal.ActiveRulesBuilder; -import org.sonar.api.batch.rule.internal.NewActiveRule; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.highlighting.NewHighlighting; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.Issue; import org.sonar.api.batch.sensor.symbol.NewSymbolTable; import org.sonar.api.config.Configuration; -import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.measures.FileLinesContext; import org.sonar.api.measures.FileLinesContextFactory; import org.sonar.api.rule.RuleKey; @@ -90,6 +85,9 @@ import org.sonar.plugins.java.api.JavaFileScannerContext; import org.sonar.plugins.java.api.JspCodeVisitor; import org.sonar.plugins.java.api.caching.SonarLintCache; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.rule.ActiveRulesBuilder; +import org.sonar.scanner.plugin.api.impl.rule.NewActiveRule; import org.sonarsource.sonarlint.core.plugin.commons.sonarapi.SonarLintRuntimeImpl; import static org.assertj.core.api.Assertions.assertThat; @@ -165,7 +163,7 @@ void base_and_work_directories() { File baseDir = new File(""); File workDir = new File("target"); SensorContextTester specificContext = SensorContextTester.create(baseDir); - DefaultFileSystem fs = specificContext.fileSystem(); + TestFileSystem fs = specificContext.fileSystem(); fs.setWorkDir(workDir.toPath()); SonarComponents sonarComponents = new SonarComponents( @@ -179,7 +177,7 @@ void set_work_directory_using_project_definition() { File baseDir = new File(""); File workDir = new File("target"); SensorContextTester specificContext = SensorContextTester.create(baseDir); - DefaultFileSystem fs = specificContext.fileSystem(); + TestFileSystem fs = specificContext.fileSystem(); fs.setWorkDir(workDir.toPath()); ProjectDefinition parentProjectDefinition = ProjectDefinition.create(); parentProjectDefinition.setWorkDir(workDir); @@ -193,7 +191,7 @@ void set_work_directory_using_project_definition() { @Test void test_sonar_components() { SensorContextTester sensorContextTester = spy(SensorContextTester.create(new File(""))); - DefaultFileSystem fs = sensorContextTester.fileSystem(); + TestFileSystem fs = sensorContextTester.fileSystem(); ClasspathForTest javaTestClasspath = mock(ClasspathForTest.class); List javaTestClasspathList = Collections.emptyList(); when(javaTestClasspath.getElements()).thenReturn(javaTestClasspathList); @@ -536,7 +534,7 @@ void add_issue_or_parse_error() { CheckRegistrar expectedRegistrar = getRegistrar(expectedCheck); SensorContextTester specificContext = SensorContextTester.create(new File(".")); - DefaultFileSystem fileSystem = specificContext.fileSystem(); + TestFileSystem fileSystem = specificContext.fileSystem(); TestInputFileBuilder inputFileBuilder = new TestInputFileBuilder("", "file.java"); inputFileBuilder.setLines(45); int[] lineStartOffsets = new int[45]; @@ -567,10 +565,10 @@ void add_issue_or_parse_error() { RecognitionException parseError = new RecognitionException(-1, "invalid code", new Exception("parse error")); - specificContext.setRuntime(SonarRuntimeImpl.forSonarLint(V8_9)); + specificContext.setRuntime(TestSonarRuntime.forSonarLint(V8_9)); assertThat(sonarComponents.reportAnalysisError(parseError, inputFile)).isTrue(); - specificContext.setRuntime(SonarRuntimeImpl.forSonarQube(V8_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); + specificContext.setRuntime(TestSonarRuntime.forSonarQube(V8_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); assertThat(sonarComponents.reportAnalysisError(parseError, inputFile)).isFalse(); } @@ -614,7 +612,7 @@ void cancellation() { SensorContextTester specificContext = SensorContextTester.create(new File("")); sonarComponents.setSensorContext(specificContext); - specificContext.setRuntime(SonarRuntimeImpl.forSonarLint(V8_9)); + specificContext.setRuntime(TestSonarRuntime.forSonarLint(V8_9)); assertThat(sonarComponents.analysisCancelled()).isFalse(); // cancellation only handled from SQ 6.0 @@ -629,7 +627,7 @@ void knows_if_quickfixes_are_supported() { SonarComponents sonarComponents = new SonarComponents(null, null, null, null, null, null); sonarComponents.setSensorContext(specificContext); - SonarRuntime sonarQube = SonarRuntimeImpl.forSonarQube(V8_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); + SonarRuntime sonarQube = TestSonarRuntime.forSonarQube(V8_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); specificContext.setRuntime(sonarQube); assertThat(sonarComponents.isQuickFixCompatible()).isFalse(); @@ -655,7 +653,7 @@ void knows_if_quickfixes_can_be_advertised() { @Test void knows_if_quickfixes_can_not_be_advertised() { SensorContextTester specificContext = SensorContextTester.create(new File("")); - specificContext.setRuntime(SonarRuntimeImpl.forSonarQube(Version.create(9, 0), SonarQubeSide.SERVER, SonarEdition.COMMUNITY)); + specificContext.setRuntime(TestSonarRuntime.forSonarQube(Version.create(9, 0), SonarQubeSide.SERVER, SonarEdition.COMMUNITY)); SonarComponents sonarComponents = new SonarComponents(null, null, null, null, null, null); sonarComponents.setSensorContext(specificContext); @@ -668,12 +666,12 @@ void readFileContentFromInputFile() throws Exception { InputFile inputFile = spy(TestUtils.inputFile("src/test/files/Kanji.java")); SensorContextTester specificContext = SensorContextTester.create(new File("")); - DefaultFileSystem fileSystem = specificContext.fileSystem(); + TestFileSystem fileSystem = specificContext.fileSystem(); fileSystem.add(inputFile); fileSystem.setEncoding(StandardCharsets.ISO_8859_1); SonarComponents sonarComponents = new SonarComponents(null, fileSystem, null, null, null, null); - specificContext.setRuntime(SonarRuntimeImpl.forSonarLint(V8_9)); + specificContext.setRuntime(TestSonarRuntime.forSonarLint(V8_9)); sonarComponents.setSensorContext(specificContext); String fileContent = sonarComponents.inputFileContents(inputFile); @@ -692,10 +690,10 @@ void readFileContentFromInputFile() throws Exception { @Test void io_error_when_reading_file_should_fail_analysis() { SensorContextTester specificContext = SensorContextTester.create(new File("")); - DefaultFileSystem fileSystem = specificContext.fileSystem(); + TestFileSystem fileSystem = specificContext.fileSystem(); InputFile unknownInputFile = TestUtils.emptyInputFile("unknown_file.java"); fileSystem.add(unknownInputFile); - specificContext.setRuntime(SonarRuntimeImpl.forSonarLint(V8_9)); + specificContext.setRuntime(TestSonarRuntime.forSonarLint(V8_9)); SonarComponents sonarComponents = new SonarComponents(null, fileSystem, null, null, null, null); sonarComponents.setSensorContext(specificContext); @@ -714,7 +712,7 @@ void io_error_when_reading_file_should_fail_analysis() { @Test void jsp_classpath_should_include_plugin() { SensorContextTester sensorContextTester = SensorContextTester.create(new File("")); - DefaultFileSystem fs = sensorContextTester.fileSystem(); + TestFileSystem fs = sensorContextTester.fileSystem(); ClasspathForMain javaClasspath = mock(ClasspathForMain.class); File someJar = new File("some.jar"); @@ -1083,7 +1081,7 @@ class Logging { private final DecimalFormat formatter = new DecimalFormat("00"); private final SensorContextTester context = SensorContextTester.create(new File("")); - private final DefaultFileSystem fs = context.fileSystem(); + private final TestFileSystem fs = context.fileSystem(); private final MapSettings settings = context.settings(); private final ClasspathForMain javaClasspath = new ClasspathForMain(context.config(), fs); diff --git a/java-frontend/src/test/java/org/sonar/java/TestUtils.java b/java-frontend/src/test/java/org/sonar/java/TestUtils.java index 4a01d772776..7c2c7d1f25e 100644 --- a/java-frontend/src/test/java/org/sonar/java/TestUtils.java +++ b/java-frontend/src/test/java/org/sonar/java/TestUtils.java @@ -16,6 +16,7 @@ */ package org.sonar.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -24,7 +25,6 @@ import java.util.stream.Stream; import org.sonar.api.batch.bootstrap.ProjectDefinition; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/java-frontend/src/test/java/org/sonar/java/ast/JavaAstScannerTest.java b/java-frontend/src/test/java/org/sonar/java/ast/JavaAstScannerTest.java index 236af0f0355..00ff3723a2c 100644 --- a/java-frontend/src/test/java/org/sonar/java/ast/JavaAstScannerTest.java +++ b/java-frontend/src/test/java/org/sonar/java/ast/JavaAstScannerTest.java @@ -17,6 +17,9 @@ package org.sonar.java.ast; import com.sonar.sslr.api.RecognitionException; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.io.InterruptedIOException; import java.util.ArrayList; @@ -33,10 +36,6 @@ import org.junit.jupiter.params.provider.ValueSource; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.issue.NoSonarFilter; import org.sonar.api.testfixtures.log.LogTesterJUnit5; import org.sonar.java.AnalysisException; @@ -64,10 +63,11 @@ import org.sonar.plugins.java.api.ModuleScannerContext; import org.sonar.plugins.java.api.internal.EndOfAnalysis; import org.sonar.plugins.java.api.tree.CompilationUnitTree; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; @@ -567,7 +567,7 @@ private void scanFilesWithVisitorsAndContext(List inputFiles, List inputFiles, List visitors, MapSettings contextMap, int javaVersion) { context.setSettings(contextMap); - DefaultFileSystem fileSystem = context.fileSystem(); + TestFileSystem fileSystem = context.fileSystem(); ClasspathForMain classpathForMain = new ClasspathForMain(context.config(), fileSystem); ClasspathForTest classpathForTest = new ClasspathForTest(context.config(), fileSystem); SonarComponents sonarComponents = new SonarComponents(null, fileSystem, classpathForMain, classpathForTest, null, null); diff --git a/java-frontend/src/test/java/org/sonar/java/ast/visitors/SonarSymbolTableVisitorTest.java b/java-frontend/src/test/java/org/sonar/java/ast/visitors/SonarSymbolTableVisitorTest.java index 7cb8264fb82..880b05a2eff 100644 --- a/java-frontend/src/test/java/org/sonar/java/ast/visitors/SonarSymbolTableVisitorTest.java +++ b/java-frontend/src/test/java/org/sonar/java/ast/visitors/SonarSymbolTableVisitorTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.ast.visitors; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.nio.file.Path; import java.util.Collection; @@ -26,10 +27,8 @@ import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.TextPointer; import org.sonar.api.batch.fs.TextRange; -import org.sonar.api.batch.fs.internal.DefaultTextPointer; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.rule.CheckFactory; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.measures.FileLinesContextFactory; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; @@ -37,6 +36,7 @@ import org.sonar.java.classpath.ClasspathForMain; import org.sonar.java.classpath.ClasspathForTest; import org.sonar.java.model.VisitorsBridge; +import org.sonar.scanner.plugin.api.impl.fs.DefaultTextPointer; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/java-frontend/src/test/java/org/sonar/java/ast/visitors/SyntaxHighlighterVisitorTest.java b/java-frontend/src/test/java/org/sonar/java/ast/visitors/SyntaxHighlighterVisitorTest.java index e6d8271e4c0..e84c1197f94 100644 --- a/java-frontend/src/test/java/org/sonar/java/ast/visitors/SyntaxHighlighterVisitorTest.java +++ b/java-frontend/src/test/java/org/sonar/java/ast/visitors/SyntaxHighlighterVisitorTest.java @@ -17,6 +17,7 @@ package org.sonar.java.ast.visitors; import com.google.common.io.Files; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Path; @@ -30,7 +31,6 @@ import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.rule.CheckFactory; import org.sonar.api.batch.sensor.highlighting.TypeOfText; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.measures.FileLinesContextFactory; import org.sonar.java.JavaFrontend; import org.sonar.java.Measurer; diff --git a/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java b/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java index 446fd7a3739..30f1af438bf 100644 --- a/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java +++ b/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.caching; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -29,7 +30,6 @@ import org.sonar.api.batch.sensor.SensorContext; import org.sonar.api.batch.sensor.cache.ReadCache; import org.sonar.api.batch.sensor.cache.WriteCache; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; import org.sonar.java.testing.ThreadLocalLogTester; diff --git a/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForMainTest.java b/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForMainTest.java index e0002b296d2..44aecd375d1 100644 --- a/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForMainTest.java +++ b/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForMainTest.java @@ -32,15 +32,14 @@ import org.junit.jupiter.params.provider.ValueSource; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.config.PropertyDefinitions; -import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.config.internal.MultivalueProperty; -import org.sonar.api.utils.System2; import org.sonar.java.AnalysisWarningsWrapper; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; import org.sonar.java.testing.ThreadLocalLogTester; +import org.sonar.scanner.extension.PropertyDefinitions; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.config.MultivalueProperty; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.spy; @@ -67,7 +66,7 @@ void setup() throws IOException { Files.createDirectories(baseDir.resolve("empty")); fs = new DefaultFileSystem(baseDir); fs.add(TestUtils.emptyInputFile("foo.java")); - PropertyDefinitions propertyDefinitions = new PropertyDefinitions(System2.INSTANCE); + PropertyDefinitions propertyDefinitions = new PropertyDefinitions(); ClasspathProperties.getProperties().forEach(propertyDefinitions::addComponent); settings = new MapSettings(propertyDefinitions) { /** diff --git a/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForTestTest.java b/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForTestTest.java index 0aa5371d2b9..f4c95126eb0 100644 --- a/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForTestTest.java +++ b/java-frontend/src/test/java/org/sonar/java/classpath/ClasspathForTestTest.java @@ -22,10 +22,10 @@ import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.config.internal.MapSettings; import org.sonar.java.TestUtils; import org.sonar.java.testing.ThreadLocalLogTester; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.spy; diff --git a/java-frontend/src/test/java/org/sonar/java/model/DefaultInputFileScannerContextTest.java b/java-frontend/src/test/java/org/sonar/java/model/DefaultInputFileScannerContextTest.java index d9abbfb60dc..e5d137c97fc 100644 --- a/java-frontend/src/test/java/org/sonar/java/model/DefaultInputFileScannerContextTest.java +++ b/java-frontend/src/test/java/org/sonar/java/model/DefaultInputFileScannerContextTest.java @@ -23,7 +23,6 @@ import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputComponent; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultInputDir; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; import org.sonar.java.reporting.AnalyzerMessage; @@ -31,6 +30,7 @@ import org.sonar.plugins.java.api.ModuleScannerContext; import org.sonar.plugins.java.api.internal.EndOfAnalysis; import org.sonar.plugins.java.api.tree.CompilationUnitTree; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputDir; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/java-frontend/src/test/java/org/sonar/java/model/DefaultJavaFileScannerContextWithSensorContextTest.java b/java-frontend/src/test/java/org/sonar/java/model/DefaultJavaFileScannerContextWithSensorContextTest.java index 9bf904f76b0..501bd6d2e56 100644 --- a/java-frontend/src/test/java/org/sonar/java/model/DefaultJavaFileScannerContextWithSensorContextTest.java +++ b/java-frontend/src/test/java/org/sonar/java/model/DefaultJavaFileScannerContextWithSensorContextTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.model; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.IOException; import java.nio.file.Paths; import java.util.Arrays; @@ -31,20 +32,19 @@ import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.rule.CheckFactory; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.Issue; import org.sonar.api.measures.FileLinesContextFactory; import org.sonar.api.platform.Server; import org.sonar.api.rule.RuleKey; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; -import org.sonarsource.analyzer.commons.collections.SetUtils; import org.sonar.java.classpath.ClasspathForMain; import org.sonar.java.classpath.ClasspathForTest; import org.sonar.plugins.java.api.JavaCheck; import org.sonar.plugins.java.api.JavaFileScannerContext; import org.sonar.plugins.java.api.tree.CompilationUnitTree; import org.sonar.plugins.java.api.tree.Tree; +import org.sonarsource.analyzer.commons.collections.SetUtils; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/java-frontend/src/test/java/org/sonar/java/model/GeneratedFileTest.java b/java-frontend/src/test/java/org/sonar/java/model/GeneratedFileTest.java index 3c9eb8767aa..b9aef5f6b2c 100644 --- a/java-frontend/src/test/java/org/sonar/java/model/GeneratedFileTest.java +++ b/java-frontend/src/test/java/org/sonar/java/model/GeneratedFileTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.model; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; @@ -28,10 +29,9 @@ import org.junit.jupiter.api.io.TempDir; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.java.testing.ThreadLocalLogTester; import org.sonar.plugins.java.api.SourceMap; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; import static java.nio.charset.StandardCharsets.UTF_8; import static org.assertj.core.api.Assertions.assertThat; diff --git a/java-frontend/src/test/java/org/sonar/java/model/SmapFileTest.java b/java-frontend/src/test/java/org/sonar/java/model/SmapFileTest.java index b53e13a651c..d6f6f31549a 100644 --- a/java-frontend/src/test/java/org/sonar/java/model/SmapFileTest.java +++ b/java-frontend/src/test/java/org/sonar/java/model/SmapFileTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.model; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashSet; @@ -24,10 +25,9 @@ import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.io.TempDir; import org.slf4j.event.Level; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.java.testing.ThreadLocalLogTester; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputFile; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/java-frontend/src/test/java/org/sonar/java/model/VisitorsBridgeTest.java b/java-frontend/src/test/java/org/sonar/java/model/VisitorsBridgeTest.java index 7e3a142fafe..20eeb57e160 100644 --- a/java-frontend/src/test/java/org/sonar/java/model/VisitorsBridgeTest.java +++ b/java-frontend/src/test/java/org/sonar/java/model/VisitorsBridgeTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.model; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.nio.file.Path; import java.util.ArrayList; @@ -25,15 +26,12 @@ import java.util.List; import java.util.Optional; import java.util.function.Function; - import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; import org.sonar.java.AnalysisException; import org.sonar.java.CheckFailureException; import org.sonar.java.SonarComponents; @@ -58,13 +56,13 @@ import org.sonar.plugins.java.api.tree.CompilationUnitTree; import org.sonar.plugins.java.api.tree.SyntaxToken; import org.sonar.plugins.java.api.tree.SyntaxTrivia; -import org.sonar.plugins.java.api.tree.Tree; import org.sonar.plugins.java.api.tree.Tree.Kind; - +import org.sonar.plugins.java.api.tree.Tree; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.assertj.core.api.Assertions.assertThatCode; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; diff --git a/java-frontend/src/test/java/org/sonar/java/reporting/InternalJavaIssueBuilderTest.java b/java-frontend/src/test/java/org/sonar/java/reporting/InternalJavaIssueBuilderTest.java index a2a71b209da..66265adf798 100644 --- a/java-frontend/src/test/java/org/sonar/java/reporting/InternalJavaIssueBuilderTest.java +++ b/java-frontend/src/test/java/org/sonar/java/reporting/InternalJavaIssueBuilderTest.java @@ -17,6 +17,7 @@ package org.sonar.java.reporting; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.io.File; import java.util.Arrays; import java.util.Collection; @@ -37,10 +38,7 @@ import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.TextPointer; import org.sonar.api.batch.fs.TextRange; -import org.sonar.api.batch.fs.internal.DefaultTextPointer; -import org.sonar.api.batch.fs.internal.DefaultTextRange; import org.sonar.api.batch.rule.Severity; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.batch.sensor.issue.Issue; import org.sonar.api.batch.sensor.issue.IssueLocation; import org.sonar.api.batch.sensor.issue.NewIssue; @@ -49,7 +47,6 @@ import org.sonar.api.batch.sensor.issue.fix.NewQuickFix; import org.sonar.api.batch.sensor.issue.fix.QuickFix; import org.sonar.api.batch.sensor.issue.fix.TextEdit; -import org.sonar.api.batch.sensor.issue.internal.DefaultIssue; import org.sonar.api.issue.impact.SoftwareQuality; import org.sonar.api.rule.RuleKey; import org.sonar.java.SonarComponents; @@ -61,6 +58,9 @@ import org.sonar.plugins.java.api.tree.ClassTree; import org.sonar.plugins.java.api.tree.CompilationUnitTree; import org.sonar.plugins.java.api.tree.Tree; +import org.sonar.scanner.plugin.api.impl.fs.DefaultTextPointer; +import org.sonar.scanner.plugin.api.impl.fs.DefaultTextRange; +import org.sonar.scanner.plugin.api.impl.sensor.issue.DefaultIssue; import org.sonarsource.sonarlint.core.analysis.container.analysis.filesystem.SonarLintInputFile; import org.sonarsource.sonarlint.core.analysis.sonarapi.DefaultSonarLintIssue; diff --git a/java-frontend/src/test/java/org/sonar/java/reporting/JavaIssueTest.java b/java-frontend/src/test/java/org/sonar/java/reporting/JavaIssueTest.java index 29acc8513fb..840a6f93f00 100644 --- a/java-frontend/src/test/java/org/sonar/java/reporting/JavaIssueTest.java +++ b/java-frontend/src/test/java/org/sonar/java/reporting/JavaIssueTest.java @@ -16,6 +16,7 @@ */ package org.sonar.java.reporting; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -23,13 +24,12 @@ import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.TextPointer; import org.sonar.api.batch.fs.TextRange; -import org.sonar.api.batch.fs.internal.DefaultInputProject; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.SensorStorage; import org.sonar.api.batch.sensor.issue.IssueLocation; -import org.sonar.api.batch.sensor.issue.internal.DefaultIssue; import org.sonar.api.rule.RuleKey; +import org.sonar.scanner.plugin.api.impl.SensorStorage; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputProject; +import org.sonar.scanner.plugin.api.impl.sensor.issue.DefaultIssue; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/java-frontend/src/test/java/org/sonar/java/testing/JavaFileScannerContextForTestsTest.java b/java-frontend/src/test/java/org/sonar/java/testing/JavaFileScannerContextForTestsTest.java index 485e918d0dc..40607240d27 100644 --- a/java-frontend/src/test/java/org/sonar/java/testing/JavaFileScannerContextForTestsTest.java +++ b/java-frontend/src/test/java/org/sonar/java/testing/JavaFileScannerContextForTestsTest.java @@ -16,6 +16,8 @@ */ package org.sonar.java.testing; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; import java.io.File; import java.util.Arrays; import java.util.Collections; @@ -28,8 +30,6 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; import org.sonar.java.model.JParserTestUtils; @@ -66,7 +66,7 @@ class B {} inputFile = TestUtils.emptyInputFile(""); JavaVersionImpl javaVersion = new JavaVersionImpl(); SensorContextTester sensorContext = SensorContextTester.create(new File(".")); - DefaultFileSystem fileSystem = sensorContext.fileSystem(); + TestFileSystem fileSystem = sensorContext.fileSystem(); fileSystem.add(inputFile); SonarComponents sonarComponents = new SonarComponents(null, fileSystem, null, null, null, null); diff --git a/java-frontend/src/test/java/org/sonar/java/testing/VisitorsBridgeForTestsTest.java b/java-frontend/src/test/java/org/sonar/java/testing/VisitorsBridgeForTestsTest.java index 5c67fe0bc59..0ed0e0a2987 100644 --- a/java-frontend/src/test/java/org/sonar/java/testing/VisitorsBridgeForTestsTest.java +++ b/java-frontend/src/test/java/org/sonar/java/testing/VisitorsBridgeForTestsTest.java @@ -16,13 +16,13 @@ */ package org.sonar.java.testing; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.util.ArrayList; import java.util.Collections; import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.utils.Version; import org.sonar.java.SonarComponents; import org.sonar.java.TestUtils; @@ -42,7 +42,7 @@ class VisitorsBridgeForTestsTest { @Test void test_semantic_disabled() { - SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); + SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7))); SonarComponents sonarComponents = new SonarComponents(null, context.fileSystem(), null, null, null, null); sonarComponents.setSensorContext(context); @@ -66,7 +66,7 @@ void test_semantic_disabled() { @Test void test_report_with_analysis_message() { - SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); + SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7))); SonarComponents sonarComponents = new SonarComponents(null, context.fileSystem(), null, null, null, null); sonarComponents.setSensorContext(context); @@ -92,7 +92,7 @@ void test_report_with_analysis_message() { @Test void create_InputFileScannerContext_also_sets_testContexts() { - SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); + SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7))); SonarComponents sonarComponents = new SonarComponents(null, context.fileSystem(), null, null, null, null); sonarComponents.setSensorContext(context); DummyVisitor javaCheck = new DummyVisitor(); diff --git a/java-frontend/src/test/java/org/sonar/plugins/java/api/semantic/MethodMatchersTest.java b/java-frontend/src/test/java/org/sonar/plugins/java/api/semantic/MethodMatchersTest.java index 61c7ade03a6..a05a671d23f 100644 --- a/java-frontend/src/test/java/org/sonar/plugins/java/api/semantic/MethodMatchersTest.java +++ b/java-frontend/src/test/java/org/sonar/plugins/java/api/semantic/MethodMatchersTest.java @@ -16,6 +16,7 @@ */ package org.sonar.plugins.java.api.semantic; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -23,7 +24,6 @@ import java.util.function.Predicate; import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.java.ast.JavaAstScanner; import org.sonar.java.ast.visitors.SubscriptionVisitor; import org.sonar.java.model.JavaTree; diff --git a/java-jsp/pom.xml b/java-jsp/pom.xml index 31a70831c0e..8c750ac471d 100644 --- a/java-jsp/pom.xml +++ b/java-jsp/pom.xml @@ -43,6 +43,12 @@ + + + junit + junit + test + org.junit.jupiter junit-jupiter @@ -69,8 +75,13 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures test diff --git a/java-jsp/src/test/java/org/sonar/java/jsp/JasperTest.java b/java-jsp/src/test/java/org/sonar/java/jsp/JasperTest.java index 32e6d15c7cf..7b829b1a7c4 100644 --- a/java-jsp/src/test/java/org/sonar/java/jsp/JasperTest.java +++ b/java-jsp/src/test/java/org/sonar/java/jsp/JasperTest.java @@ -16,6 +16,8 @@ */ package org.sonar.java.jsp; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -36,13 +38,11 @@ import org.junit.jupiter.api.io.TempDir; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.testfixtures.log.LogTesterJUnit5; import org.sonar.java.model.GeneratedFile; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputFile; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; diff --git a/java-surefire/pom.xml b/java-surefire/pom.xml index d9700882bac..a9a5cbbfd7b 100644 --- a/java-surefire/pom.xml +++ b/java-surefire/pom.xml @@ -49,6 +49,12 @@ + + + junit + junit + test + org.junit.jupiter junit-jupiter @@ -70,8 +76,13 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures test diff --git a/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireJavaParserTest.java b/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireJavaParserTest.java index 1fbaa02c478..7b7d512ca99 100644 --- a/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireJavaParserTest.java +++ b/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireJavaParserTest.java @@ -16,6 +16,8 @@ */ package org.sonar.plugins.surefire; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.util.List; import java.util.stream.Stream; @@ -23,9 +25,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.event.Level; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.measures.CoreMetrics; import org.sonar.api.testfixtures.log.LogTesterJUnit5; import org.sonar.plugins.java.api.JavaResourceLocator; diff --git a/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java b/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java index 2084682e6b5..c2fe66f29d7 100644 --- a/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java +++ b/java-surefire/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java @@ -16,23 +16,23 @@ */ package org.sonar.plugins.surefire; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; import java.io.File; import java.net.URISyntaxException; import java.util.Collections; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.sensor.SensorContext; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.measures.CoreMetrics; import org.sonar.api.scan.filesystem.PathResolver; import org.sonar.plugins.java.api.JavaResourceLocator; import org.sonar.plugins.surefire.api.SurefireUtils; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputFile; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; diff --git a/java-surefire/src/test/java/org/sonar/plugins/surefire/api/SurefireUtilsTest.java b/java-surefire/src/test/java/org/sonar/plugins/surefire/api/SurefireUtilsTest.java index c822cd57287..87b9abd7d66 100644 --- a/java-surefire/src/test/java/org/sonar/plugins/surefire/api/SurefireUtilsTest.java +++ b/java-surefire/src/test/java/org/sonar/plugins/surefire/api/SurefireUtilsTest.java @@ -21,10 +21,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.slf4j.event.Level; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.scan.filesystem.PathResolver; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.fs.DefaultFileSystem; import static org.assertj.core.api.Assertions.assertThat; diff --git a/pom.xml b/pom.xml index b95e13d8522..fb2cb5ff19b 100644 --- a/pom.xml +++ b/pom.xml @@ -91,6 +91,7 @@ sonarsource 13.8.0.4399 + 13.4.1.4007 11.6.0.85952 its/**,java-checks-test-sources/** 2.25.0.4954 @@ -153,9 +154,21 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl - ${sonar.version} + org.sonarsource.scanner.engine + plugin-api-scanner-impl + ${sonar.scanner.version} + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures + ${sonar.scanner.version} + test + + + org.sonarsource.scanner.engine + sonar-scanner-extension-framework + ${sonar.scanner.version} test diff --git a/sonar-java-plugin/pom.xml b/sonar-java-plugin/pom.xml index 27e4052560d..3af36dfac78 100644 --- a/sonar-java-plugin/pom.xml +++ b/sonar-java-plugin/pom.xml @@ -116,8 +116,13 @@ test - org.sonarsource.sonarqube - sonar-plugin-api-impl + org.sonarsource.scanner.engine + plugin-api-scanner-impl + test + + + org.sonarsource.scanner.engine + sensor-test-fixtures test diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/DroppedPropertiesSensorTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/DroppedPropertiesSensorTest.java index f65780562ee..f9400e169f5 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/DroppedPropertiesSensorTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/DroppedPropertiesSensorTest.java @@ -16,6 +16,7 @@ */ package org.sonar.plugins.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -23,11 +24,10 @@ import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.io.TempDir; import org.slf4j.event.Level; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.config.Configuration; -import org.sonar.api.config.internal.MapSettings; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static org.assertj.core.api.Assertions.assertThat; diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaPluginTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaPluginTest.java index 40dc64634bb..ffa2c6ca4e2 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaPluginTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaPluginTest.java @@ -16,12 +16,12 @@ */ package org.sonar.plugins.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import org.junit.jupiter.api.Test; import org.sonar.api.Plugin; import org.sonar.api.SonarEdition; import org.sonar.api.SonarQubeSide; import org.sonar.api.SonarRuntime; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.utils.Version; import org.sonar.java.jsp.Jasper; import org.sonar.plugins.java.api.caching.SonarLintCache; @@ -36,7 +36,7 @@ class JavaPluginTest { @Test void sonarLint_9_9_extensions() { - SonarRuntime runtime = SonarRuntimeImpl.forSonarLint(VERSION_9_9); + SonarRuntime runtime = TestSonarRuntime.forSonarLint(VERSION_9_9); Plugin.Context context = new Plugin.Context(runtime); javaPlugin.define(context); assertThat(context.getExtensions()) @@ -47,7 +47,7 @@ void sonarLint_9_9_extensions() { @Test void sonarqube_9_9_extensions() { - SonarRuntime sqCommunity = SonarRuntimeImpl.forSonarQube(VERSION_9_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); + SonarRuntime sqCommunity = TestSonarRuntime.forSonarQube(VERSION_9_9, SonarQubeSide.SCANNER, SonarEdition.COMMUNITY); Plugin.Context context = new Plugin.Context(sqCommunity); javaPlugin.define(context); assertThat(context.getExtensions()) @@ -57,7 +57,7 @@ void sonarqube_9_9_extensions() { @Test void sonarqube_9_9_commercial_extensions() { - SonarRuntime sqEnterprise = SonarRuntimeImpl.forSonarQube(VERSION_9_9, SonarQubeSide.SCANNER, SonarEdition.ENTERPRISE); + SonarRuntime sqEnterprise = TestSonarRuntime.forSonarQube(VERSION_9_9, SonarQubeSide.SCANNER, SonarEdition.ENTERPRISE); Plugin.Context context = new Plugin.Context(sqEnterprise); javaPlugin.define(context); assertThat(context.getExtensions()) diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaRulesDefinitionTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaRulesDefinitionTest.java index 48f101cf569..ceb8760788c 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaRulesDefinitionTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaRulesDefinitionTest.java @@ -16,6 +16,7 @@ */ package org.sonar.plugins.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.util.List; import java.util.Locale; import java.util.regex.Pattern; @@ -23,7 +24,6 @@ import org.sonar.api.SonarEdition; import org.sonar.api.SonarQubeSide; import org.sonar.api.SonarRuntime; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.rule.RuleKey; import org.sonar.api.rules.RuleType; import org.sonar.api.server.rule.RulesDefinition; @@ -42,8 +42,8 @@ class JavaRulesDefinitionTest { private static final String REPOSITORY_KEY = "java"; - private static final SonarRuntime SONAR_RUNTIME_9_2 = SonarRuntimeImpl.forSonarLint(Version.create(9, 2)); - private static final SonarRuntime SONAR_RUNTIME_9_8 = SonarRuntimeImpl.forSonarQube(Version.create(9, 8), SonarQubeSide.SERVER, SonarEdition.COMMUNITY); + private static final SonarRuntime SONAR_RUNTIME_9_2 = TestSonarRuntime.forSonarLint(Version.create(9, 2)); + private static final SonarRuntime SONAR_RUNTIME_9_8 = TestSonarRuntime.forSonarQube(Version.create(9, 8), SonarQubeSide.SERVER, SonarEdition.COMMUNITY); @Test void test_creation_of_rules() { diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java index deb459fa984..100c198526f 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java @@ -16,6 +16,9 @@ */ package org.sonar.plugins.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -33,19 +36,10 @@ import org.sonar.api.SonarQubeSide; import org.sonar.api.batch.fs.FileSystem; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; import org.sonar.api.batch.rule.ActiveRules; import org.sonar.api.batch.rule.CheckFactory; import org.sonar.api.batch.rule.Checks; -import org.sonar.api.batch.rule.internal.ActiveRulesBuilder; -import org.sonar.api.batch.rule.internal.NewActiveRule; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.config.Configuration; -import org.sonar.api.config.internal.MapSettings; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.issue.NoSonarFilter; import org.sonar.api.measures.FileLinesContext; import org.sonar.api.measures.FileLinesContextFactory; @@ -74,6 +68,12 @@ import org.sonar.plugins.java.api.JavaResourceLocator; import org.sonar.plugins.java.api.JavaVersion; import org.sonar.plugins.java.api.JspCodeVisitor; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputFile; +import org.sonar.scanner.plugin.api.impl.rule.ActiveRulesBuilder; +import org.sonar.scanner.plugin.api.impl.rule.NewActiveRule; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.Arrays.asList; @@ -90,7 +90,7 @@ class JavaSensorTest { - private static final String EXPECTED_TYPE_ERROR_COUNT = "199"; + private static final String EXPECTED_TYPE_ERROR_COUNT = "205"; private static final CheckFactory checkFactory = mock(CheckFactory.class); private static final Checks checks = mock(Checks.class); @@ -173,8 +173,8 @@ private void testIssueCreation(InputFile.Type onType, int expectedIssues) throws settings.setProperty("sonar.scanner.app", "ScannerJavaSensorTest"); NoSonarFilter noSonarFilter = mock(NoSonarFilter.class); - SensorContextTester context = spy(createContext(onType).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7)))); - DefaultFileSystem fs = context.fileSystem(); + SensorContextTester context = spy(createContext(onType).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7)))); + TestFileSystem fs = context.fileSystem(); fs.setWorkDir(Files.createTempDirectory(tmp, "work")); SonarComponents sonarComponents = createSonarComponentsMock(context); DefaultJavaResourceLocator javaResourceLocator = createDefaultJavaResourceLocator(settings.asConfig(), fs); @@ -183,7 +183,8 @@ private void testIssueCreation(InputFile.Type onType, int expectedIssues) throws jss.execute(context); int expectedNoSonarLine = lineNumberOfTheMethodWithNoSonar(fs); - verify(noSonarFilter, times(1)).noSonarInFile(fs.inputFiles().iterator().next(), Collections.singleton(expectedNoSonarLine)); + verify(noSonarFilter, times(1)).noSonarInFile( + fs.inputFiles(fs.predicates().all()).iterator().next(), Collections.singleton(expectedNoSonarLine)); verify(sonarComponents, times(expectedIssues)).reportIssue(any(AnalyzerMessage.class)); // There are additional entries, but we do not test them. @@ -213,11 +214,11 @@ private void testIssueCreation(InputFile.Type onType, int expectedIssues) throws private static SensorContextTester createContext(InputFile.Type onType) throws IOException { SensorContextTester context = SensorContextTester.create(new File("src/test/java/").getAbsoluteFile()); - DefaultFileSystem fs = context.fileSystem(); + TestFileSystem fs = context.fileSystem(); String effectiveKey = "org/sonar/plugins/java/JavaSensorTest.java"; File file = new File(fs.baseDir(), effectiveKey); - DefaultInputFile inputFile = new TestInputFileBuilder("", effectiveKey).setLanguage("java").setModuleBaseDir(fs.baseDirPath()) + DefaultInputFile inputFile = new TestInputFileBuilder("", effectiveKey).setLanguage("java").setModuleBaseDir(fs.baseDir().toPath()) .setType(onType) .initMetadata(new String(Files.readAllBytes(file.toPath()), UTF_8)) .setCharset(UTF_8) @@ -227,7 +228,7 @@ private static SensorContextTester createContext(InputFile.Type onType) throws I } private static SonarComponents createSonarComponentsMock(SensorContextTester contextTester) { - DefaultFileSystem fs = contextTester.fileSystem(); + TestFileSystem fs = contextTester.fileSystem(); ClasspathForTest javaTestClasspath = new ClasspathForTest(contextTester.config(), fs); ClasspathForMain javaClasspath = new ClasspathForMain(contextTester.config(), fs); @@ -243,7 +244,7 @@ private static SonarComponents createSonarComponentsMock(SensorContextTester con return sonarComponents; } - private static DefaultJavaResourceLocator createDefaultJavaResourceLocator(Configuration settings, DefaultFileSystem fs) { + private static DefaultJavaResourceLocator createDefaultJavaResourceLocator(Configuration settings, TestFileSystem fs) { ClasspathForMain classpathForMain = new ClasspathForMain(settings, fs); ClasspathForTest classpathForTest = new ClasspathForTest(settings, fs); @@ -468,13 +469,13 @@ void custom_file_scanner_is_not_filtered_in_autoscan() throws IOException { SensorContextTester context = SensorContextTester.create(new File("src/test/files").getAbsoluteFile()) .setSettings(settings) - .setRuntime(SonarRuntimeImpl.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); + .setRuntime(TestSonarRuntime.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); - DefaultFileSystem fs = context.fileSystem(); + TestFileSystem fs = context.fileSystem(); fs.setWorkDir(Files.createTempDirectory(tmp, "work")); File mainFile = new File(fs.baseDir(), "CodeWithIssues.java"); - fs.add(new TestInputFileBuilder("", mainFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDirPath()) + fs.add(new TestInputFileBuilder("", mainFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDir().toPath()) .setType(InputFile.Type.MAIN).initMetadata(Files.readString(mainFile.toPath())).setCharset(UTF_8).build()); FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); @@ -523,17 +524,17 @@ void test_describe_sensor() throws IOException { private SensorContextTester analyzeTwoFilesWithIssues(MapSettings settings) throws IOException { SensorContextTester context = SensorContextTester.create(new File("src/test/files").getAbsoluteFile()) .setSettings(settings) - .setRuntime(SonarRuntimeImpl.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); + .setRuntime(TestSonarRuntime.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); - DefaultFileSystem fs = context.fileSystem(); + TestFileSystem fs = context.fileSystem(); fs.setWorkDir(Files.createTempDirectory(tmp, "work")); File mainFile = new File(fs.baseDir(), "CodeWithIssues.java"); - fs.add(new TestInputFileBuilder("", mainFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDirPath()) + fs.add(new TestInputFileBuilder("", mainFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDir().toPath()) .setType(InputFile.Type.MAIN).initMetadata(Files.readString(mainFile.toPath())).setCharset(UTF_8).build()); File testFile = new File(fs.baseDir(), "CodeWithIssuesTest.java"); - fs.add(new TestInputFileBuilder("", testFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDirPath()) + fs.add(new TestInputFileBuilder("", testFile.getName()).setLanguage("java").setModuleBaseDir(fs.baseDir().toPath()) .setType(InputFile.Type.TEST).initMetadata(Files.readString(testFile.toPath())).setCharset(UTF_8).build()); FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class); @@ -568,9 +569,9 @@ private SensorContextTester analyzeTwoFilesWithIssues(MapSettings settings) thro private void executeJavaSensorForPerformanceMeasure(MapSettings settings, Path workDir) throws IOException { Configuration configuration = settings.asConfig(); SensorContextTester context = createContext(InputFile.Type.MAIN) - .setRuntime(SonarRuntimeImpl.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); + .setRuntime(TestSonarRuntime.forSonarQube(Version.create(8, 7), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY)); context.setSettings(settings); - DefaultFileSystem fs = context.fileSystem(); + TestFileSystem fs = context.fileSystem(); fs.setWorkDir(workDir); SonarComponents components = createSonarComponentsMock(context); DefaultJavaResourceLocator resourceLocator = createDefaultJavaResourceLocator(context.config(), fs); diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaTest.java index 6bb0e26b9a8..f3321f59c87 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaTest.java @@ -17,7 +17,7 @@ package org.sonar.plugins.java; import org.junit.jupiter.api.Test; -import org.sonar.api.config.internal.MapSettings; +import org.sonar.scanner.plugin.api.impl.config.MapSettings; import static org.assertj.core.api.Assertions.assertThat; diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/ProjectEndOfAnalysisSensorTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/ProjectEndOfAnalysisSensorTest.java index 45642c00bd0..f95dafaa978 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/ProjectEndOfAnalysisSensorTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/ProjectEndOfAnalysisSensorTest.java @@ -16,17 +16,17 @@ */ package org.sonar.plugins.java; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; import java.nio.file.Path; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.io.TempDir; import org.slf4j.event.Level; -import org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor; -import org.sonar.api.batch.sensor.internal.SensorContextTester; import org.sonar.api.testfixtures.log.LogTesterJUnit5; +import org.sonar.java.telemetry.DefaultTelemetry; import org.sonar.java.telemetry.NoOpTelemetry; import org.sonar.java.telemetry.TelemetryKey; -import org.sonar.java.telemetry.DefaultTelemetry; +import org.sonar.scanner.plugin.api.impl.sensor.DefaultSensorDescriptor; import static org.assertj.core.api.Assertions.assertThat; diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/SanityTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/SanityTest.java index 9ff54ba4d44..2c1cb5d8d4c 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/SanityTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/SanityTest.java @@ -17,6 +17,9 @@ package org.sonar.plugins.java; import com.sonar.sslr.api.RecognitionException; +import com.sonarsource.scanner.engine.sensor.test.fixtures.SensorContextTester; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestInputFileBuilder; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestSonarRuntime; import java.io.File; import java.nio.file.Files; import java.util.ArrayList; @@ -37,11 +40,6 @@ import org.slf4j.LoggerFactory; import org.slf4j.event.Level; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.internal.DefaultFileSystem; -import org.sonar.api.batch.fs.internal.DefaultInputFile; -import org.sonar.api.batch.fs.internal.TestInputFileBuilder; -import org.sonar.api.batch.sensor.internal.SensorContextTester; -import org.sonar.api.internal.SonarRuntimeImpl; import org.sonar.api.testfixtures.log.LogAndArguments; import org.sonar.api.testfixtures.log.LogTesterJUnit5; import org.sonar.api.utils.AnnotationUtils; @@ -57,6 +55,8 @@ import org.sonar.java.testing.VisitorsBridgeForTests; import org.sonar.plugins.java.api.JavaCheck; import org.sonar.plugins.java.api.JavaVersion; +import com.sonarsource.scanner.engine.sensor.test.fixtures.TestFileSystem; +import org.sonar.scanner.plugin.api.impl.fs.DefaultInputFile; import static java.nio.charset.StandardCharsets.UTF_8; import static org.assertj.core.api.Assertions.assertThat; @@ -287,8 +287,8 @@ private static String parseStackForCheck(@Nullable Throwable realCause) { } private static SonarComponents sonarComponents(File moduleBaseDir, List inputFiles) { - SensorContextTester context = SensorContextTester.create(moduleBaseDir).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); - DefaultFileSystem fileSystem = context.fileSystem(); + SensorContextTester context = SensorContextTester.create(moduleBaseDir).setRuntime(TestSonarRuntime.forSonarLint(Version.create(6, 7))); + TestFileSystem fileSystem = context.fileSystem(); SonarComponents sonarComponents = new SonarComponents(null, fileSystem, null, null, null, null) { @Override public boolean reportAnalysisError(RecognitionException re, InputFile inputFile) {