protected Map scanDirectory()

in maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/DefaultMojoAnnotationsScanner.java [196:222]


    protected Map<String, MojoAnnotatedClass> scanDirectory(
            File classDirectory, List<String> includePatterns, Artifact artifact, boolean excludeMojo)
            throws IOException, ExtractionException {
        Map<String, MojoAnnotatedClass> mojoAnnotatedClasses = new HashMap<>();

        DirectoryScanner scanner = new DirectoryScanner();
        scanner.setBasedir(classDirectory);
        scanner.addDefaultExcludes();
        if (includePatterns != null) {
            scanner.setIncludes(includePatterns.toArray(new String[includePatterns.size()]));
        }
        scanner.scan();
        String[] classFiles = scanner.getIncludedFiles();
        String classDirname = classDirectory.getAbsolutePath();

        for (String classFile : classFiles) {
            if (!SCANNABLE_CLASS.matcher(classFile).matches()) {
                continue;
            }

            try (InputStream is = //
                    new BufferedInputStream(new FileInputStream(new File(classDirectory, classFile)))) {
                analyzeClassStream(mojoAnnotatedClasses, is, artifact, excludeMojo, classDirname, classFile);
            }
        }
        return mojoAnnotatedClasses;
    }