Example #1
0
    @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();
 }
Example #3
0
 @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();
 }
Example #4
0
 @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();
  }
Example #9
0
 @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();
 }
Example #10
0
  @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();
  }
Example #11
0
    @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();
    }
Example #12
0
 @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();
      }
    }