@Override public void define(Context context) { NewRepository repo = context.createRepository("fake", "java"); // almost all the attributes of rule1 are changed NewRule rule1 = repo.createRule("rule1") .setName("One v2") .setHtmlDescription("Description of One v2") .setSeverity(Severity.INFO) .setInternalKey("config1 v2") // tag2 and tag3 removed, tag4 added .setTags("tag1", "tag4") .setStatus(RuleStatus.READY) .setDebtSubCharacteristic("MEMORY_EFFICIENCY") .setEffortToFixDescription("squid.S115.effortToFix.v2"); rule1.setDebtRemediationFunction( rule1.debtRemediationFunctions().linearWithOffset("6d", "2h")); rule1.createParam("param1").setDescription("parameter one v2").setDefaultValue("default1 v2"); rule1.createParam("param2").setDescription("parameter two v2").setDefaultValue("default2 v2"); // rule2 is dropped, rule3 is new repo.createRule("rule3").setName("Three").setHtmlDescription("Rule Three"); repo.done(); }
@Override public void define(Context context) { NewRepository repository = context.createRepository(CheckList.REPOSITORY_KEY, Python.KEY).setName(REPOSITORY_NAME); AnnotationBasedRulesDefinition.load(repository, Python.KEY, CheckList.getChecks()); repository.done(); }
@Override public void define(Context context) { NewRepository repo = context.newRepository("squid", "java"); repo.setName("Squid"); repo.newRule("DEF").setName("DEF").setHtmlDescription("Description of DEF"); repo.done(); }
@Override public void define(Context context) { NewRepository repo = context.newRepository("findbugs", "java"); repo.setName("Findbugs"); repo.newRule("ABC").setName("ABC").setHtmlDescription("Description of ABC"); repo.done(); }
@Override public void define(Context context) { NewRepository repository = context.createRepository(REPOSITORY_KEY, Python.KEY).setName(REPOSITORY_NAME); xmlLoader.load(repository, getClass().getResourceAsStream(RULES_FILE), Charsets.UTF_8.name()); SqaleXmlLoader.load(repository, SQALE_FILE); repository.done(); }
@Override public void define(Context context) { NewRepository repository = context .createRepository(SONAR_SCANNER_REPOSITORY_KEY, JavaPropertiesLanguage.KEY) .setName(SONAR_SCANNER_REPOSITORY_NAME); new AnnotationBasedRulesDefinition(repository, JavaPropertiesLanguage.KEY) .addRuleClasses(false, getChecks()); repository.done(); }
private void defineRulesForLanguage( Context context, String repositoryKey, String repositoryName, String languageKey) { NewRepository repository = context.createRepository(repositoryKey, languageKey).setName(repositoryName); InputStream rulesXml = this.getClass().getResourceAsStream(rulesDefinitionFilePath()); if (rulesXml != null) { RulesDefinitionXmlLoader rulesLoader = new RulesDefinitionXmlLoader(); rulesLoader.load(repository, rulesXml, Charsets.UTF_8.name()); } repository.done(); }
@Override public void define(Context context) { NewRepository repository = context.createRepository(REPOSITORY_KEY, Java.KEY).setName(REPOSITORY_NAME); RulesDefinitionXmlLoader ruleLoader = new RulesDefinitionXmlLoader(); ruleLoader.load( repository, FindSecurityBugsRulesDefinition.class.getResourceAsStream( "/org/sonar/plugins/findbugs/rules-findsecbugs.xml"), "UTF-8"); repository.done(); }
@Override public void define(Context context) { NewRepository repo = context.createRepository("big", "java"); for (int i = 0; i < SIZE; i++) { NewRule rule = repo.createRule("rule" + i) .setName("name of " + i) .setHtmlDescription("description of " + i); for (int j = 0; j < 20; j++) { rule.createParam("param" + j); } } repo.done(); }
@Override public void define(Context context) { NewRepository repository = context .createRepository(CheckList.REPOSITORY_KEY, CxxLanguage.KEY) .setName(REPOSITORY_NAME); AnnotationBasedRulesDefinition.load(repository, CxxLanguage.KEY, CheckList.getChecks()); for (NewRule rule : repository.rules()) { // FIXME: set internal key to key to ensure rule templates works properly : should be removed // when SONAR-6162 is fixed. rule.setInternalKey(rule.key()); } SqaleXmlLoader.load(repository, "/com/sonar/sqale/cxx-model.xml"); repository.done(); }
@Override public void define(Context context) { NewRepository repo = context.createRepository("fake", "java"); NewRule rule1 = repo.createRule("rule1") .setName("One") .setHtmlDescription("Description of One") .setSeverity(Severity.BLOCKER) .setInternalKey("config1") .setTags("tag1", "tag2", "tag3") .setStatus(RuleStatus.BETA) .setDebtSubCharacteristic("MEMORY_EFFICIENCY") .setEffortToFixDescription("squid.S115.effortToFix"); rule1.setDebtRemediationFunction( rule1.debtRemediationFunctions().linearWithOffset("5d", "10h")); rule1.createParam("param1").setDescription("parameter one").setDefaultValue("default1"); rule1.createParam("param2").setDescription("parameter two").setDefaultValue("default2"); repo.createRule("rule2").setName("Two").setHtmlDescription("Minimal rule"); repo.done(); }
@Override public void define(Context context) { NewRepository repo = context.createRepository("findbugs", "java"); repo.createRule("rule1").setName("Rule One").setHtmlDescription("Description of Rule One"); repo.done(); }
@Override public void define(Context context) { if (includeX1 || includeX1bis || includeX2 || includeTemplate1 || includeRuleLinkedToRootCharacteristic) { NewRepository repository = context.createRepository("xoo", "xoo").setName("Xoo Repo"); if (includeX1) { NewRule x1Rule = repository .createRule(RuleTesting.XOO_X1.rule()) .setName("x1 name") .setHtmlDescription("x1 desc") .setSeverity(Severity.MINOR) .setEffortToFixDescription("x1 effort to fix") .setTags("tag1"); x1Rule .createParam("acceptWhitespace") .setType(RuleParamType.BOOLEAN) .setDefaultValue("false") .setDescription("Accept whitespaces on the line"); x1Rule .setDebtSubCharacteristic(SubCharacteristics.INTEGRATION_TESTABILITY) .setDebtRemediationFunction( x1Rule.debtRemediationFunctions().linearWithOffset("1h", "30min")); } // X1 having fields updated to simulate an update from the plugin if (includeX1bis) { NewRule x1Rule = repository .createRule(RuleTesting.XOO_X1.rule()) .setName("x1 name updated") .setHtmlDescription("x1 desc updated") .setSeverity(Severity.INFO) .setEffortToFixDescription("x1 effort to fix updated") .setTags("tag1", "tag2", "user-tag"); x1Rule .createParam("acceptWhitespace") .setType(RuleParamType.BOOLEAN) .setDefaultValue("true") .setDescription("Accept whitespaces on the line updated"); // New param x1Rule .createParam("format") .setType(RuleParamType.TEXT) .setDefaultValue("txt") .setDescription("Format"); x1Rule .setDebtSubCharacteristic(SubCharacteristics.INSTRUCTION_RELIABILITY) .setDebtRemediationFunction(x1Rule.debtRemediationFunctions().linear("2h")); } if (includeX2) { repository .createRule(RuleTesting.XOO_X2.rule()) .setName("x2 name") .setHtmlDescription("x2 desc") .setSeverity(Severity.MAJOR); } if (includeRuleLinkedToRootCharacteristic) { NewRule x1Rule = repository .createRule("RuleLinkedToRootCharacteristic") .setName("RuleLinkedToRootCharacteristic name") .setHtmlDescription("RuleLinkedToRootCharacteristic desc") .setSeverity(Severity.MINOR); x1Rule // Link to a root characteristic -> fail .setDebtSubCharacteristic("REUSABILITY") .setDebtRemediationFunction( x1Rule.debtRemediationFunctions().linearWithOffset("1h", "30min")); } if (includeTemplate1) { repository .createRule("template1") .setName("template1 name") .setHtmlDescription("template1 desc") .setSeverity(Severity.MAJOR) .setTemplate(true) .createParam("format") .setDefaultValue("csv") .setType(RuleParamType.STRING) .setDescription("format parameter"); } repository.done(); } }