All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.kemitix.dependency.digraph.maven.plugin.DefaultSourceFileProvider Maven / Gradle / Ivy

package net.kemitix.dependency.digraph.maven.plugin;

import lombok.Getter;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;

/**
 * Provider walks the directory and builds a list of discovered Java files.
 *
 * @author pcampbell
 */
class DefaultSourceFileProvider extends AbstractMojoService
        implements SourceFileProvider {

    /**
     * The list of Java files discovered.
     */
    @Getter
    private final List javaFiles = new ArrayList<>();

    @Override
    public void process(final List directories) {
        final SourceFileVisitor fileVisitor = getMojo().getFileVisitor();
        directories.forEach((final String dir) -> {
            try {
                Files.walkFileTree(new File(dir).getAbsoluteFile().toPath(),
                                   fileVisitor);
            } catch (IOException ex) {
                getLog().error(ex);
            }
        });
        javaFiles.addAll(fileVisitor.getJavaFiles());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy