@Test public void does_not_match_exclusion_patterns() { assertThat(predicates.doesNotMatchPathPatterns(new String[] {}).apply(javaFile)).isTrue(); assertThat(predicates.doesNotMatchPathPatterns(new String[] {"src/other/**.java", "src/**/*.php"}).apply(javaFile)).isTrue(); assertThat(predicates.doesNotMatchPathPatterns(new String[] {"src/other/**.java", "src/main/**/Action.java"}).apply(javaFile)).isFalse(); }
@Override public void index(String languageKey) { String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); FilePredicates p = fs.predicates(); List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(p.and( p.hasType(InputFile.Type.MAIN), p.hasLanguage(languageKey), p.doesNotMatchPathPatterns(cpdExclusions)))); if (sourceFiles.isEmpty()) { return; } createIndex(sourceFiles); }
@Override public void index(String languageKey) { CpdMapping mapping = mappings.getMapping(languageKey); if (mapping == null) { LOG.debug("No CpdMapping for language " + languageKey); return; } String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); FilePredicates p = fs.predicates(); List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(p.and( p.hasType(InputFile.Type.MAIN), p.hasLanguage(languageKey), p.doesNotMatchPathPatterns(cpdExclusions)))); if (sourceFiles.isEmpty()) { return; } // Create index populateIndex(languageKey, sourceFiles, mapping, index); }
@Override public void analyse(String languageKey, SensorContext context) { String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); FilePredicates p = fs.predicates(); List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(p.and( p.hasType(InputFile.Type.MAIN), p.hasLanguage(languageKey), p.doesNotMatchPathPatterns(cpdExclusions) ))); if (sourceFiles.isEmpty()) { return; } SonarDuplicationsIndex index = createIndex(project, languageKey, sourceFiles); detect(index, context, sourceFiles); }
@Override public void analyse(String languageKey, SensorContext context) { CpdMapping mapping = mappings.getMapping(languageKey); if (mapping == null) { LOG.debug("No CpdMapping for language " + languageKey); return; } String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); FilePredicates p = fs.predicates(); List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(p.and( p.hasType(InputFile.Type.MAIN), p.hasLanguage(languageKey), p.doesNotMatchPathPatterns(cpdExclusions) ))); if (sourceFiles.isEmpty()) { return; } // Create index SonarDuplicationsIndex index = indexFactory.create(project, languageKey); populateIndex(languageKey, sourceFiles, mapping, index); // Detect runCpdAnalysis(languageKey, context, sourceFiles, index); }