@Override public boolean apply(InputFile f) { return status == null || status == f.status(); }
private boolean shouldCopyServerIssues(InputComponent component) { if (!mode.scanAllFiles() && component.isFile()) { InputFile inputFile = (InputFile) component; if (inputFile.status() == Status.SAME) { return true; } } return false; }
@Override public boolean test(InputFile inputFile) { if (hasExplicitFilterOnStatus(currentPredicate)) { // If user explicitly requested a given status, don't change the result return true; } // TODO: the inputFile could try to calculate the status itself without generating metadata Status status = statusDetection.getStatusWithoutMetadata(moduleKeyWithBranch, (DefaultInputFile) inputFile); if (status != null) { return status != Status.SAME; } // this will trigger computation of metadata return inputFile.status() != Status.SAME; }
@Override public boolean apply(InputFile f) { return status == f.status(); }
@Override public boolean apply(InputFile f) { return status == null || status == f.status(); }
@Override public boolean apply(InputFile f) { return status == null || status == f.status(); }
private boolean shouldCopyServerIssues(InputComponent component) { if (!mode.scanAllFiles() && component.isFile()) { InputFile inputFile = (InputFile) component; if (inputFile.status() == Status.SAME) { return true; } } return false; }
@Override public boolean test(InputFile inputFile) { if (hasExplicitFilterOnStatus(currentPredicate)) { // If user explicitly requested a given status, don't change the result return true; } // TODO: the inputFile could try to calculate the status itself without generating metadata Status status = statusDetection.getStatusWithoutMetadata(moduleKeyWithBranch, (DefaultInputFile) inputFile); if (status != null) { return status != Status.SAME; } // this will trigger computation of metadata return inputFile.status() != Status.SAME; }
public Iterable<ServerIssue> byComponent(BatchResource component) { if (analysisMode.isIncremental()) { if (!component.isFile()) { throw new UnsupportedOperationException("Incremental mode should only get issues on files"); } InputFile inputFile = (InputFile) inputPathCache.getInputPath(component); if (inputFile.status() == Status.ADDED) { return Collections.emptyList(); } Profiler profiler = Profiler.create(LOG).startInfo("Load server issues for " + component.resource().getPath()); final List<ServerIssue> result = new ArrayList<>(); previousIssuesLoader.load(component.key(), new Function<ServerIssue, Void>() { @Override public Void apply(@Nullable ServerIssue issue) { if (issue == null) { return null; } result.add(issue); return null; } }, true); profiler.stopDebug(); return result; } else { return issuesCache.values(component.batchId()); } }
private List<InputFile> collectFilesToBlame() { if (configuration.forceReloadAll()) { LOG.warn("Forced reloading of SCM data for all files."); } List<InputFile> filesToBlame = new LinkedList<>(); for (InputFile f : fs.inputFiles(fs.predicates().all())) { if (configuration.forceReloadAll() || f.status() != Status.SAME) { addIfNotEmpty(filesToBlame, f); } else { // File status is SAME so that mean fileData exists FileData fileData = projectRepositories.fileData(projectDefinition.getKeyWithBranch(), f.relativePath()); if (StringUtils.isEmpty(fileData.revision())) { addIfNotEmpty(filesToBlame, f); } } } return filesToBlame; }
private void copyPreviousMeasuresForUnmodifiedFiles(final SensorContext context, List<InputFile> filesToBlame, InputFile f) { FileData fileData = projectReferentials.fileData(projectDefinition.getKeyWithBranch(), f.relativePath()); if (f.status() == Status.SAME && fileData != null) { if (fileData.needBlame()) { addIfNotEmpty(filesToBlame, (DefaultInputFile) f); } else { // Copy previous measures String scmAuthorsByLine = fileData.scmAuthorsByLine(); String scmLastCommitDatetimesByLine = fileData.scmLastCommitDatetimesByLine(); String scmRevisionsByLine = fileData.scmRevisionsByLine(); if (scmAuthorsByLine != null && scmLastCommitDatetimesByLine != null && scmRevisionsByLine != null) { saveMeasures(context, f, scmAuthorsByLine, scmLastCommitDatetimesByLine, scmRevisionsByLine); } } } else { addIfNotEmpty(filesToBlame, (DefaultInputFile) f); } }
private void writeJsonComponents(JsonWriter json) throws IOException { json.name("components").beginArray(); // Dump modules writeJsonModuleComponents(json, rootModule); for (InputFile inputFile : fileCache.allFiles()) { String key = ((DefaultInputFile) inputFile).key(); json .beginObject() .prop("key", key) .prop("path", inputFile.relativePath()) .prop("moduleKey", StringUtils.substringBeforeLast(key, ":")) .prop("status", inputFile.status().name()) .endObject(); } for (InputDir inputDir : fileCache.allDirs()) { String key = ((DefaultInputDir) inputDir).key(); json .beginObject() .prop("key", key) .prop("path", inputDir.relativePath()) .prop("moduleKey", StringUtils.substringBeforeLast(key, ":")) .endObject(); } json.endArray(); }
private void writeJsonComponents(JsonWriter json) throws IOException { json.name("components").beginArray(); // Dump modules writeJsonModuleComponents(json, rootModule); for (InputFile inputFile : fileCache.allFiles()) { String key = ((DefaultInputFile) inputFile).key(); json .beginObject() .prop("key", key) .prop("path", inputFile.relativePath()) .prop("moduleKey", StringUtils.substringBeforeLast(key, ":")) .prop("status", inputFile.status().name()) .endObject(); } for (InputDir inputDir : fileCache.allDirs()) { String key = ((DefaultInputDir) inputDir).key(); json .beginObject() .prop("key", key) .prop("path", inputDir.relativePath()) .prop("moduleKey", StringUtils.substringBeforeLast(key, ":")) .endObject(); } json.endArray(); }