use of org.sonar.api.batch.fs.FilePredicates in project sonarqube by SonarSource.
the class RandomAccessSensor method execute.
@Override
public void execute(SensorContext context) {
File f = new File(context.config().get(SONAR_XOO_RANDOM_ACCESS_ISSUE_PATHS).orElseThrow(() -> new IllegalStateException("Required property")));
FileSystem fs = context.fileSystem();
FilePredicates p = fs.predicates();
try {
for (String path : FileUtils.readLines(f)) {
createIssues(fs.inputFile(p.and(p.hasPath(path), p.hasType(Type.MAIN), p.hasLanguage(Xoo.KEY))), context);
}
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
use of org.sonar.api.batch.fs.FilePredicates in project sonar-web by SonarSource.
the class HtmlSensor method execute.
@Override
public void execute(SensorContext sensorContext) {
FileSystem fileSystem = sensorContext.fileSystem();
// configure page scanner and the visitors
final HtmlAstScanner scanner = setupScanner(sensorContext);
FilePredicates predicates = fileSystem.predicates();
Iterable<InputFile> inputFiles = fileSystem.inputFiles(predicates.and(predicates.hasType(InputFile.Type.MAIN), predicates.or(predicates.hasLanguages(HtmlConstants.LANGUAGE_KEY, HtmlConstants.JSP_LANGUAGE_KEY), predicates.or(Stream.of(OTHER_FILE_SUFFIXES).map(predicates::hasExtension).toArray(FilePredicate[]::new)))));
for (InputFile inputFile : inputFiles) {
if (sensorContext.isCancelled()) {
return;
}
HtmlSourceCode sourceCode = new HtmlSourceCode(inputFile);
try (Reader reader = new InputStreamReader(inputFile.inputStream(), inputFile.charset())) {
PageLexer lexer = inputFile.filename().endsWith(".vue") ? new VueLexer() : new PageLexer();
scanner.scan(lexer.parse(reader), sourceCode);
saveMetrics(sensorContext, sourceCode);
saveLineLevelMeasures(inputFile, sourceCode);
} catch (Exception e) {
LOG.error("Cannot analyze file " + inputFile, e);
sensorContext.newAnalysisError().onFile(inputFile).message(e.getMessage()).save();
}
}
}
use of org.sonar.api.batch.fs.FilePredicates in project sonar-findbugs by spotbugs.
the class FindbugsConfigurationTest method setUp.
@BeforeEach
public void setUp() throws Exception {
baseDir = new File(temp, "findbugs");
workDir = new File(temp, "findbugs");
filePredicates = mock(FilePredicates.class);
fs = mock(FileSystem.class);
when(fs.baseDir()).thenReturn(baseDir);
when(fs.workDir()).thenReturn(workDir);
when(fs.predicates()).thenReturn(filePredicates);
activeRules = FakeActiveRules.createWithOnlyFindbugsRules();
configuration = new SimpleConfiguration();
javaResourceLocator = mock(JavaResourceLocator.class);
conf = new FindbugsConfiguration(fs, configuration, activeRules, javaResourceLocator);
}
Aggregations