@CheckForNull DefaultInputFile create(File file) { String relativePath = pathResolver.relativePath(fs.baseDir(), file); if (relativePath == null) { LOG.warn( "File '{}' is ignored. It is not located in module basedir '{}'.", file.getAbsolutePath(), fs.baseDir()); return null; } return new DefaultInputFile(moduleKey, relativePath); }
/** Optimization to not compute InputFile metadata if the file is excluded from analysis. */ @CheckForNull DefaultInputFile completeAndComputeMetadata(DefaultInputFile inputFile, InputFile.Type type) { inputFile.setType(type); inputFile.setModuleBaseDir(fs.baseDir().toPath()); inputFile.setCharset(fs.encoding()); String lang = langDetection.language(inputFile); if (lang == null && !settings.getBoolean(CoreProperties.IMPORT_UNKNOWN_FILES_KEY)) { return null; } inputFile.setLanguage(lang); inputFile.initMetadata(fileMetadata.readMetadata(inputFile.file(), fs.encoding())); inputFile.setStatus( statusDetection.status(inputFile.moduleKey(), inputFile.relativePath(), inputFile.hash())); if (analysisMode.isIncremental() && inputFile.status() == InputFile.Status.SAME) { return null; } return inputFile; }