@Override public boolean apply(InputFile f) { return language.equals(f.language()); } }
@CheckForNull private static String getLanguageKey(InputFile file) { return file.language(); }
@Override protected void doAdd(InputFile inputFile) { if (inputFile.language() != null) { languages.add(inputFile.language()); } fileMap.put(inputFile.relativePath(), inputFile); filesByNameCache.put(inputFile.filename(), inputFile); filesByExtensionCache.put(FileExtensionPredicate.getExtension(inputFile), inputFile); }
@Test public void indexAnyFile() throws IOException { File srcDir = new File(baseDir, "src"); srcDir.mkdir(); File xooFile = new File(srcDir, "sample.xoo"); FileUtils.write(xooFile, "Sample xoo\ncontent"); File otherFile = new File(srcDir, "sample.other"); FileUtils.write(otherFile, "Sample other\ncontent"); AnalysisResult result = tester.newAnalysis() .properties(builder .put("sonar.sources", "src") .build()) .execute(); assertThat(result.inputFiles()).hasSize(2); assertThat(result.inputFile("src/sample.other").type()).isEqualTo(InputFile.Type.MAIN); assertThat(result.inputFile("src/sample.other").relativePath()).isEqualTo("src/sample.other"); assertThat(result.inputFile("src/sample.other").language()).isNull(); }
private void parseFiles(SMInputCursor fileCursor, SensorContext context) throws XMLStreamException { while (fileCursor.getNext() != null) { checkElementName(fileCursor, "file"); String filePath = mandatoryAttribute(fileCursor, "path"); InputFile inputFile = context.fileSystem().inputFile(context.fileSystem().predicates().hasPath(filePath)); if (inputFile == null) { numberOfUnknownFiles++; if (numberOfUnknownFiles <= MAX_STORED_UNKNOWN_FILE_PATHS) { firstUnknownFiles.add(filePath); } continue; } Preconditions.checkState( inputFile.language() != null, "Line %s of report refers to a file with an unknown language: %s", fileCursor.getCursorLocation().getLineNumber(), filePath); Preconditions.checkState( inputFile.type() != InputFile.Type.MAIN, "Line %s of report refers to a file which is not configured as a test file: %s", fileCursor.getCursorLocation().getLineNumber(), filePath); matchedFileKeys.add(inputFile.absolutePath()); MutableTestPlan testPlan = testPlanBuilder.loadPerspective(MutableTestPlan.class, inputFile); SMInputCursor testCaseCursor = fileCursor.childElementCursor(); while (testCaseCursor.getNext() != null) { parseTestCase(testCaseCursor, testPlan); } } }
private void parseFiles(SMInputCursor fileCursor, SensorContext context) throws XMLStreamException { while (fileCursor.getNext() != null) { checkElementName(fileCursor, "file"); String filePath = mandatoryAttribute(fileCursor, "path"); InputFile inputFile = context.fileSystem().inputFile(context.fileSystem().predicates().hasPath(filePath)); if (inputFile == null) { numberOfUnknownFiles++; if (numberOfUnknownFiles <= MAX_STORED_UNKNOWN_FILE_PATHS) { firstUnknownFiles.add(filePath); } continue; } Preconditions.checkState( inputFile.language() != null, "Line %s of report refers to a file with an unknown language: %s", fileCursor.getCursorLocation().getLineNumber(), filePath); matchedFileKeys.add(inputFile.key()); NewCoverage newCoverage = context.newCoverage().onFile(inputFile); SMInputCursor lineToCoverCursor = fileCursor.childElementCursor(); while (lineToCoverCursor.getNext() != null) { parseLineToCover(lineToCoverCursor, newCoverage); } newCoverage.save(); } }
@Override public boolean apply(InputFile f) { return language.equals(f.language()); } }
@Override public boolean apply(InputFile f) { return language.equals(f.language()); } }
@Override public boolean apply(InputFile f) { return language.equals(f.language()); } }
@CheckForNull private static String getLanguageKey(InputFile file) { return file.language(); }
public boolean shouldComputeMetric() { // if input file has a language other than web, then we should not compute metrics for this file as we assume they will be computed by another plugin String language = inputFile.language(); return language == null || HtmlConstants.LANGUAGE_KEY.equals(language) || HtmlConstants.JSP_LANGUAGE_KEY.equals(language); }
private static void handleFileMeasures(Map<String, ParsingResult> resultByFilename) { for (ParsingResult parsingResult : resultByFilename.values()) { if (parsingResult.inputFile != null && Groovy.KEY.equals(parsingResult.inputFile.language())) { parsingResult.coverage.save(); } else { LOG.warn("File not found: {}", parsingResult.filename); } } }
@Override protected void doAdd(InputFile inputFile) { if (inputFile.language() != null) { languages.add(inputFile.language()); } fileMap.put(inputFile.relativePath(), inputFile); filesByNameCache.put(inputFile.filename(), inputFile); filesByExtensionCache.put(FileExtensionPredicate.getExtension(inputFile), inputFile); }
@Override public boolean accept(InputFile inputFile) { if (!TypeScriptLanguage.KEY.equals(inputFile.language())) { return true; } String[] excludedPatterns = this.configuration.getStringArray(TypeScriptPlugin.TS_EXCLUSIONS_KEY); String relativePath = inputFile.uri().toString(); return !WildcardPattern.match(WildcardPattern.create(excludedPatterns), relativePath); } }
@Override public boolean accept(InputFile inputFile) { if (!GoLanguage.KEY.equals(inputFile.language())) { return true; } String[] excludedPatterns = this.configuration.getStringArray(GoPlugin.EXCLUSIONS_KEY); String relativePath = inputFile.uri().toString(); return !WildcardPattern.match(WildcardPattern.create(excludedPatterns), relativePath); }
private long getDevelopmentCost(DecoratorContext context) { InputFile file = fs.inputFile(fs.predicates().hasRelativePath(context.getResource().getKey())); if (file != null) { String language = file.language(); return getMeasureValue(context, sqaleRatingSettings.getSizeMetric(language, metrics)) * sqaleRatingSettings.getDevCost(language); } else { Collection<Measure> childrenMeasures = context.getChildrenMeasures(CoreMetrics.DEVELOPMENT_COST); Double sum = sum(childrenMeasures); return sum.longValue(); } }
private void saveIssue(final InputFile inputFile, int line, final String externalRuleKey, final String message) { RuleKey ruleKey = RuleKey.of(getRepositoryKeyForLanguage(inputFile.language()), externalRuleKey); NewIssue newIssue = context.newIssue() .forRule(ruleKey); NewIssueLocation primaryLocation = newIssue.newLocation() .on(inputFile) .message(message); if (line > 0) { primaryLocation.at(inputFile.selectLine(line)); } newIssue.at(primaryLocation); newIssue.save(); }
public void execute(DefaultModuleFileSystem fs) { module.setBaseDir(fs.baseDir()); for (InputFile inputFile : fs.inputFiles()) { String languageKey = inputFile.language(); boolean unitTest = InputFile.Type.TEST == inputFile.type(); Resource sonarFile = File.create(inputFile.relativePath(), languages.get(languageKey), unitTest); sonarIndex.index(sonarFile); BatchComponent file = componentCache.get(sonarFile); file.setInputComponent(inputFile); Resource sonarDir = file.parent().resource(); InputDir inputDir = fs.inputDir(inputFile.file().getParentFile()); componentCache.get(sonarDir).setInputComponent(inputDir); } } }
@Override public void execute(final SensorContext context) { FileSystem fs = context.fileSystem(); for (InputFile f : fs.inputFiles(fs.predicates().all())) { BatchReportReader reader = new BatchReportReader(reportPublisher.getReportDir()); int batchId = resourceCache.get(f).batchId(); String language = f.language(); if (reader.hasSyntaxHighlighting(batchId) || language == null) { continue; } codeColorizers.toSyntaxHighlighting(f.file(), fs.encoding(), language, context.newHighlighting().onFile(f)); } }