diff --git a/its/plugin/plugins/php-custom-rules-plugin/src/main/java/org/sonar/samples/php/CustomPHPRuleRepository.java b/its/plugin/plugins/php-custom-rules-plugin/src/main/java/org/sonar/samples/php/CustomPHPRuleRepository.java index 4de76b5f54..e274d88767 100644 --- a/its/plugin/plugins/php-custom-rules-plugin/src/main/java/org/sonar/samples/php/CustomPHPRuleRepository.java +++ b/its/plugin/plugins/php-custom-rules-plugin/src/main/java/org/sonar/samples/php/CustomPHPRuleRepository.java @@ -47,7 +47,7 @@ public String repositoryKey() { } @Override - public List checkClasses() { + public List> checkClasses() { return Arrays.asList(CustomPHPVisitorCheck.class, CustomPHPSubscriptionCheck.class); } } diff --git a/php-checks/src/main/java/org/sonar/php/checks/CheckList.java b/php-checks/src/main/java/org/sonar/php/checks/CheckList.java index 91e855ebeb..651168e68e 100644 --- a/php-checks/src/main/java/org/sonar/php/checks/CheckList.java +++ b/php-checks/src/main/java/org/sonar/php/checks/CheckList.java @@ -74,8 +74,8 @@ public class CheckList { private CheckList() { } - public static List getChecks() { - return ImmutableList.of( + public static List> getChecks() { + return ImmutableList.of( AbortedTestCaseCheck.class, AliasFunctionUsageCheck.class, AllBranchesIdenticalCheck.class, @@ -289,8 +289,8 @@ public static List getChecks() { ZipEntryCheck.class); } - public static Iterable getPhpIniChecks() { - return ImmutableList.of( + public static Iterable> getPhpIniChecks() { + return ImmutableList.of( AllowUrlCheck.class, CookiesSecureCheck.class, CgiForceRedirectCheck.class, @@ -302,8 +302,8 @@ public static Iterable getPhpIniChecks() { SessionUseTransSidCheck.class); } - public static Set getAllChecks() { - return ImmutableSet.builder() + public static Set> getAllChecks() { + return ImmutableSet.>builder() .addAll(CheckList.getChecks()) .addAll(CheckList.getPhpIniChecks()) .build(); diff --git a/php-checks/src/test/java/org/sonar/php/checks/CheckListTest.java b/php-checks/src/test/java/org/sonar/php/checks/CheckListTest.java index 1e910be495..593c49c4d0 100644 --- a/php-checks/src/test/java/org/sonar/php/checks/CheckListTest.java +++ b/php-checks/src/test/java/org/sonar/php/checks/CheckListTest.java @@ -54,7 +54,7 @@ public void count() { */ @Test public void test() { - Set checks = CheckList.getAllChecks(); + Set> checks = CheckList.getAllChecks(); for (Class cls : checks) { if (cls != ParsingErrorCheck.class) { diff --git a/php-checks/src/test/java/org/sonar/php/checks/utils/CheckUtilsTest.java b/php-checks/src/test/java/org/sonar/php/checks/utils/CheckUtilsTest.java index 372de5051d..ee5a3e1f74 100644 --- a/php-checks/src/test/java/org/sonar/php/checks/utils/CheckUtilsTest.java +++ b/php-checks/src/test/java/org/sonar/php/checks/utils/CheckUtilsTest.java @@ -20,7 +20,6 @@ package org.sonar.php.checks.utils; import com.sonar.sslr.api.typed.ActionParser; -import com.sonarsource.checks.coverage.UtilityClass; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -49,6 +48,7 @@ import org.sonar.plugins.php.api.tree.statement.ExpressionStatementTree; import org.sonar.plugins.php.api.tree.statement.ForStatementTree; import org.sonar.plugins.php.api.tree.statement.StatementTree; +import org.sonarsource.analyzer.commons.checks.coverage.UtilityClass; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/php-checks/src/test/java/org/sonar/php/checks/utils/SyntacticEquivalenceTest.java b/php-checks/src/test/java/org/sonar/php/checks/utils/SyntacticEquivalenceTest.java index 684be736d9..e547a8bc61 100644 --- a/php-checks/src/test/java/org/sonar/php/checks/utils/SyntacticEquivalenceTest.java +++ b/php-checks/src/test/java/org/sonar/php/checks/utils/SyntacticEquivalenceTest.java @@ -20,13 +20,13 @@ package org.sonar.php.checks.utils; import com.sonar.sslr.api.typed.ActionParser; -import com.sonarsource.checks.coverage.UtilityClass; import javax.annotation.CheckForNull; import javax.annotation.Nullable; import org.junit.Test; import org.sonar.php.parser.PHPLexicalGrammar; import org.sonar.php.parser.PHPParserBuilder; import org.sonar.plugins.php.api.tree.Tree; +import org.sonarsource.analyzer.commons.checks.coverage.UtilityClass; import static org.assertj.core.api.Assertions.assertThat; diff --git a/php-frontend/src/main/java/org/sonar/plugins/php/api/tests/PHPCheckVerifier.java b/php-frontend/src/main/java/org/sonar/plugins/php/api/tests/PHPCheckVerifier.java index ba94da0a19..315de75191 100644 --- a/php-frontend/src/main/java/org/sonar/plugins/php/api/tests/PHPCheckVerifier.java +++ b/php-frontend/src/main/java/org/sonar/plugins/php/api/tests/PHPCheckVerifier.java @@ -21,7 +21,6 @@ import com.google.common.base.Preconditions; import com.sonar.sslr.api.typed.ActionParser; -import com.sonarsource.checks.verifier.MultiFileVerifier; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; @@ -45,6 +44,7 @@ import org.sonar.plugins.php.api.visitors.PhpFile; import org.sonar.plugins.php.api.visitors.PhpIssue; import org.sonar.plugins.php.api.visitors.PreciseIssue; +import org.sonarsource.analyzer.commons.checks.verifier.MultiFileVerifier; import static java.nio.charset.StandardCharsets.UTF_8; diff --git a/php-frontend/src/main/java/org/sonar/plugins/php/api/visitors/PHPCustomRuleRepository.java b/php-frontend/src/main/java/org/sonar/plugins/php/api/visitors/PHPCustomRuleRepository.java index e9645a5707..69b4436e0e 100644 --- a/php-frontend/src/main/java/org/sonar/plugins/php/api/visitors/PHPCustomRuleRepository.java +++ b/php-frontend/src/main/java/org/sonar/plugins/php/api/visitors/PHPCustomRuleRepository.java @@ -40,6 +40,6 @@ public interface PHPCustomRuleRepository { /** * List of the custom rules classes. */ - List checkClasses(); + List> checkClasses(); } diff --git a/pom.xml b/pom.xml index 170a2a1053..58b815855d 100644 --- a/pom.xml +++ b/pom.xml @@ -89,7 +89,7 @@ 1.24.0.633 30.1.1-jre 4.7.0.12286 - 1.10.2.456 + 1.14.1.690 ${project.groupId}:sonar-php-plugin:jar diff --git a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPChecks.java b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPChecks.java index 7ec2d6eee6..f9969751f0 100644 --- a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPChecks.java +++ b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPChecks.java @@ -21,6 +21,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; + import java.util.List; import java.util.Set; import javax.annotation.Nullable; @@ -46,7 +47,7 @@ public static PHPChecks createPHPCheck(CheckFactory checkFactory) { return new PHPChecks(checkFactory); } - public PHPChecks addChecks(String repositoryKey, Iterable checkClass) { + public PHPChecks addChecks(String repositoryKey, Iterable> checkClass) { checksByRepository.add(checkFactory .create(repositoryKey) .addAnnotatedChecks(checkClass)); diff --git a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPProfileDefinition.java b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPProfileDefinition.java index d09c0eca4d..54c4027b2d 100644 --- a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPProfileDefinition.java +++ b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPProfileDefinition.java @@ -49,17 +49,11 @@ public final class PHPProfileDefinition implements BuiltInQualityProfilesDefinit public static final String SONAR_WAY_PROFILE = "Sonar way"; public static final String SONAR_WAY_PATH = "org/sonar/l10n/php/rules/php/Sonar_way_profile.json"; - private final SonarRuntime sonarRuntime; - - public PHPProfileDefinition(SonarRuntime sonarRuntime) { - this.sonarRuntime = sonarRuntime; - } - @Override public void define(Context context) { NewBuiltInQualityProfile sonarWay = context.createBuiltInQualityProfile(SONAR_WAY_PROFILE, Php.KEY); sonarWay.activateRule("common-" + Php.KEY, "DuplicatedBlocks"); - BuiltInQualityProfileJsonLoader.load(sonarWay, CheckList.REPOSITORY_KEY, SONAR_WAY_PATH, RESOURCE_BASE_PATH, sonarRuntime); + BuiltInQualityProfileJsonLoader.load(sonarWay, CheckList.REPOSITORY_KEY, SONAR_WAY_PATH); getSecurityRuleKeys().forEach(key -> sonarWay.activateRule(key.repository(), key.rule())); sonarWay.done(); } diff --git a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPRulesDefinition.java b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPRulesDefinition.java index 76c2296029..7f7e2c7be2 100644 --- a/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPRulesDefinition.java +++ b/sonar-php-plugin/src/main/java/org/sonar/plugins/php/PHPRulesDefinition.java @@ -20,7 +20,6 @@ package org.sonar.plugins.php; import java.util.ArrayList; -import org.sonar.api.SonarRuntime; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.php.checks.CheckList; import org.sonar.plugins.php.api.Php; @@ -30,17 +29,12 @@ public class PHPRulesDefinition implements RulesDefinition { private static final String REPOSITORY_NAME = "SonarAnalyzer"; static final String RESOURCE_BASE_PATH = "org/sonar/l10n/php/rules/php"; - private final SonarRuntime sonarRuntime; - - public PHPRulesDefinition(SonarRuntime sonarRuntime) { - this.sonarRuntime = sonarRuntime; - } @Override public void define(Context context) { NewRepository repository = context.createRepository(CheckList.REPOSITORY_KEY, Php.KEY).setName(REPOSITORY_NAME); - RuleMetadataLoader ruleMetadataLoader = new RuleMetadataLoader(RESOURCE_BASE_PATH, PHPProfileDefinition.SONAR_WAY_PATH, sonarRuntime); + RuleMetadataLoader ruleMetadataLoader = new RuleMetadataLoader(RESOURCE_BASE_PATH, PHPProfileDefinition.SONAR_WAY_PATH); ruleMetadataLoader.addRulesByAnnotatedClass(repository, new ArrayList<>(CheckList.getAllChecks())); diff --git a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPProfileDefinitionTest.java b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPProfileDefinitionTest.java index 620b952699..377c70a5d1 100644 --- a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPProfileDefinitionTest.java +++ b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPProfileDefinitionTest.java @@ -40,9 +40,8 @@ public class PHPProfileDefinitionTest { public void should_create_sonar_way_profile() { ValidationMessages validation = ValidationMessages.create(); - SonarRuntime sonarRuntime = SonarRuntimeImpl.forSonarQube(Version.create(7, 3), SonarQubeSide.SERVER, SonarEdition.COMMUNITY); BuiltInQualityProfilesDefinition.Context context = new BuiltInQualityProfilesDefinition.Context(); - PHPProfileDefinition definition = new PHPProfileDefinition(sonarRuntime); + PHPProfileDefinition definition = new PHPProfileDefinition(); definition.define(context); BuiltInQualityProfilesDefinition.BuiltInQualityProfile profile = context.profile("php", "Sonar way"); assertThat(profile.language()).isEqualTo(Php.KEY); diff --git a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPRulesDefinitionTest.java b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPRulesDefinitionTest.java index 971661fcb4..e0da735e3a 100644 --- a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPRulesDefinitionTest.java +++ b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPRulesDefinitionTest.java @@ -37,8 +37,7 @@ public class PHPRulesDefinitionTest { @Test public void testActivationSonarLint() { - SonarRuntime sonarRuntime = SonarRuntimeImpl.forSonarQube(Version.create(7, 3), SonarQubeSide.SERVER, SonarEdition.COMMUNITY); - PHPRulesDefinition rulesDefinition = new PHPRulesDefinition(sonarRuntime); + PHPRulesDefinition rulesDefinition = new PHPRulesDefinition(); RulesDefinition.Context context = new RulesDefinition.Context(); rulesDefinition.define(context); RulesDefinition.Repository repository = context.repository("php"); diff --git a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPSensorTest.java b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPSensorTest.java index 3822095533..daf961b7f7 100644 --- a/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPSensorTest.java +++ b/sonar-php-plugin/src/test/java/org/sonar/plugins/php/PHPSensorTest.java @@ -112,7 +112,7 @@ public String repositoryKey() { } @Override - public ImmutableList checkClasses() { + public ImmutableList> checkClasses() { return ImmutableList.of(MyCustomRule.class); } }};