use of org.sonar.api.batch.rule.internal.RulesBuilder in project sonarqube by SonarSource.
the class RulesProvider method load.
private static Rules load(RulesLoader ref) {
Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG);
List<Rule> loadedRules = ref.load();
RulesBuilder builder = new RulesBuilder();
for (Rule r : loadedRules) {
NewRule newRule = builder.add(RuleKey.of(r.getRepository(), r.getKey()));
newRule.setName(r.getName());
newRule.setInternalKey(r.getInternalKey());
}
profiler.stopInfo();
return builder.build();
}
use of org.sonar.api.batch.rule.internal.RulesBuilder in project sonarqube by SonarSource.
the class JSONReportTest method before.
@Before
public void before() throws Exception {
moduleHierarchy = mock(InputModuleHierarchy.class);
userRepository = mock(UserRepositoryLoader.class);
File projectBaseDir = temp.newFolder();
fs = new DefaultFileSystem(projectBaseDir.toPath());
SIMPLE_DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+02:00"));
when(server.getVersion()).thenReturn("3.6");
InputComponentStore inputComponentStore = new InputComponentStore(new PathResolver());
DefaultComponentTree inputComponentTree = new DefaultComponentTree();
DefaultInputModule rootModule = new DefaultInputModule(ProjectDefinition.create().setBaseDir(projectBaseDir).setKey("struts"), 1);
inputComponentStore.put(rootModule);
DefaultInputModule moduleA = new DefaultInputModule("struts-core");
inputComponentTree.index(moduleA, rootModule);
DefaultInputModule moduleB = new DefaultInputModule("struts-ui");
inputComponentTree.index(moduleB, rootModule);
DefaultInputDir inputDir = new DefaultInputDir("struts", "src/main/java/org/apache/struts", TestInputFileBuilder.nextBatchId()).setModuleBaseDir(projectBaseDir.toPath());
DefaultInputFile inputFile = new TestInputFileBuilder("struts", "src/main/java/org/apache/struts/Action.java").setModuleBaseDir(projectBaseDir.toPath()).build();
inputFile.setStatus(InputFile.Status.CHANGED);
inputFile.setPublish(true);
inputComponentStore.put(inputFile);
inputComponentStore.put(inputDir);
inputComponentTree.index(inputDir, rootModule);
inputComponentTree.index(inputFile, inputDir);
when(moduleHierarchy.children(rootModule)).thenReturn(Arrays.asList(moduleA, moduleB));
when(moduleHierarchy.parent(moduleA)).thenReturn(rootModule);
when(moduleHierarchy.parent(moduleB)).thenReturn(rootModule);
when(moduleHierarchy.relativePath(moduleA)).thenReturn("core");
when(moduleHierarchy.relativePath(moduleB)).thenReturn("ui");
RulesBuilder builder = new RulesBuilder();
builder.add(RuleKey.of("squid", "AvoidCycles")).setName("Avoid Cycles");
rules = builder.build();
jsonReport = new JSONReport(moduleHierarchy, settings, fs, server, rules, issueCache, rootModule, inputComponentStore, userRepository, inputComponentTree);
}
use of org.sonar.api.batch.rule.internal.RulesBuilder in project sonarqube by SonarSource.
the class RulesProvider method provide.
@Bean("Rules")
public Rules provide(RulesLoader ref) {
Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG);
List<Rule> loadedRules = ref.load();
RulesBuilder builder = new RulesBuilder();
for (Rule r : loadedRules) {
NewRule newRule = builder.add(RuleKey.of(r.getRepository(), r.getKey()));
newRule.setName(r.getName());
newRule.setInternalKey(r.getInternalKey());
}
profiler.stopInfo();
return builder.build();
}
use of org.sonar.api.batch.rule.internal.RulesBuilder in project sonarqube by SonarSource.
the class RuleFinderCompatibilityTest method prepare.
@Before
public void prepare() {
RulesBuilder builder = new RulesBuilder();
builder.add(RuleKey.of("repo1", "rule1"));
builder.add(RuleKey.of("repo1", "rule2")).setInternalKey("rule2_internal");
builder.add(RuleKey.of("repo2", "rule1"));
rules = builder.build();
ruleFinder = new RuleFinderCompatibility(rules);
}
use of org.sonar.api.batch.rule.internal.RulesBuilder in project sonarlint-core by SonarSource.
the class SonarQubeRulesProvider method provide.
public Rules provide(Sonarlint.Rules storageRules) {
if (rules == null) {
RulesBuilder builder = new RulesBuilder();
for (Map.Entry<String, Sonarlint.Rules.Rule> entry : storageRules.getRulesByKeyMap().entrySet()) {
Sonarlint.Rules.Rule r = entry.getValue();
NewRule newRule = builder.add(RuleKey.of(r.getRepo(), r.getKey())).setName(r.getName()).setInternalKey(r.getInternalKey()).setSeverity(r.getSeverity()).setDescription(r.getHtmlDesc());
if (StringUtils.isNotEmpty(r.getType())) {
newRule.setType(r.getType());
}
}
rules = builder.build();
}
return rules;
}
Aggregations