/** * Gets the source directories. * * @return the source directories */ public List<File> getSourceDirectories() { return getProject().getFileSystem().getSourceDirs(); }
private Resource findResourceFor(IRuleViolation violation) { List<File> allSources = ImmutableList.copyOf(Iterables.concat(projectFileSystem.getSourceDirs(), projectFileSystem.getTestDirs())); return JavaFile.fromAbsolutePath(violation.getFilename(), allSources, true); }
/** * Gets the project source folders. * * @return List<File> the source folders */ public List<File> getSourceDir() { return getProject().getFileSystem().getSourceDirs(); }
private void initResource(AuditEvent event) { if (currentResource == null) { String absoluteFilename = event.getFileName(); currentResource = JavaFile.fromAbsolutePath(absoluteFilename, project.getFileSystem().getSourceDirs(), false); } }
protected void analyse(ProjectFileSystem fileSystem, SensorContext context) { parseDirs(context, InputFileUtils.toFiles(fileSystem.mainFiles(ObjectiveC.KEY)), fileSystem.getSourceDirs(), false, fileSystem.getSourceCharset()); }
/** * From absolute path. * * @param path * the path * @param project * the current project * @return the php file */ public PhpFile fromAbsolutePath(String path, Project project) { PhpFile phpFile = null; if (path != null) { File file = new File(path); ProjectFileSystem fileSystem = project.getFileSystem(); List<File> sourceFiles = fileSystem.getSourceFiles(PHP); List<File> testFiles = fileSystem.getTestFiles(PHP); if (sourceFiles.contains(file)) { phpFile = fromIOFile(file, fileSystem.getSourceDirs(), false); } if (phpFile == null && testFiles.contains(file)) { phpFile = fromIOFile(file, fileSystem.getTestDirs(), true); } } return phpFile; }
/** * Imports php file contains in the source and tests folders. * * @param project * the project * @param context * the context * @throws IOException * Signals that an I/O exception has occurred. */ protected void doAnalyse(Project project, SensorContext context) throws IOException { // Importing source files ProjectFileSystem fileSystem = project.getFileSystem(); Charset sourceCharset = fileSystem.getSourceCharset(); List<File> sourceDirs = fileSystem.getSourceDirs(); List<File> sourceFiles = fileSystem.getSourceFiles(PHP); parseDirs(context, sourceFiles, sourceDirs, false, sourceCharset); for (File directory : sourceDirs) { LOG.info(directory.getName()); } // Importing tests files List<File> testDirs = fileSystem.getTestDirs(); List<File> testFiles = fileSystem.getTestFiles(PHP); parseDirs(context, testFiles, testDirs, true, sourceCharset); // Display source dirs and tests directories if info level is enabled. for (File directory : testDirs) { LOG.info(directory.getName()); } }
/** * @param context * @param duplicationsData * @param original * @param copied * @param duplication * @param project */ private void processClassMeasure(SensorContext context, Map<Resource, ClassDuplicationData> duplicationsData, FileNode original, FileNode copied, DuplicationNode duplication, Project project) { PhpFile instance = PhpFile.getInstance(project); Resource file = instance.fromAbsolutePath(copied.getPath(), project.getFileSystem().getSourceDirs(), false); Resource targetPhpClass = instance.fromAbsolutePath(original.getPath(), project.getFileSystem().getSourceDirs(), false); if (file != null) { ClassDuplicationData data = duplicationsData.get(file); if (data == null) { data = new ClassDuplicationData(file, context); duplicationsData.put(file, data); } data.cumulate(targetPhpClass, original.getLineNumber(), copied.getLineNumber(), duplication.getLines()); } }
dirs = getProject().getFileSystem().getTestDirs(); } else { dirs = getProject().getFileSystem().getSourceDirs();
/** * @see org.sonar.api.batch.Sensor#analyse(org.sonar.api.resources.Project, org.sonar.api.batch.SensorContext) */ public void analyse(Project project, SensorContext context) { ProjectFileSystem fileSystem = project.getFileSystem(); List<File> sourceFiles = fileSystem.getSourceFiles(PHP); List<File> directories = fileSystem.getSourceDirs(); for (File file : sourceFiles) { PhpFile phpFile = PhpFile.getInstance(project).fromIOFile(file, directories, false); if (phpFile != null) { Source source = analyseSourceCode(file); if (source != null) { filter.addResource(phpFile, source.getNoSonarTagLines()); double measure = source.getMeasure(Metric.COMMENTED_OUT_CODE_LINES); context.saveMeasure(phpFile, CoreMetrics.COMMENTED_OUT_CODE_LINES, measure); } } } }
@Override public void analyse(Project module, org.sonar.api.batch.SensorContext context) { createIssueOnDir(new Directory("")); File src = module.getFileSystem().getSourceDirs().get(0); for (File f : fileSystem.files(FileQuery.onMain().onLanguage(Xoo.KEY))) { String relativePathFromSourceDir = new PathResolver().relativePath(src, f); org.sonar.api.resources.File sonarFile = new org.sonar.api.resources.File(relativePathFromSourceDir); Issuable issuable = perspectives.as(Issuable.class, sonarFile); issuable.addIssue(issuable.newIssueBuilder() .ruleKey(RuleKey.of(XooRulesDefinition.XOO_REPOSITORY, RULE_KEY)) .message("Issue created using deprecated API") .line(1) .build()); sonarFile = context.getResource(sonarFile); Directory parent = sonarFile.getParent(); createIssueOnDir(parent); } }