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

com.atlassian.clover.ant.tasks.FilesetFileVisitor Maven / Gradle / Ivy

Go to download

Clover is an award winning code coverage and testing tool for Java and Groovy. It integrates easily with Maven, Ant, Grails, Eclipse and IntelliJ IDEA as well as with continuous integration servers such as Bamboo, Jenkins or Hudson. Note: before Clover 4.0 this artifact was named com.cenqua.clover:clover.

The newest version!
package com.atlassian.clover.ant.tasks;

import com.atlassian.clover.ant.AntFileSetUtils;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.Project;

import java.io.File;
import java.util.List;

import com.atlassian.clover.Logger;

public interface FilesetFileVisitor {

    void visit(File file);

    class Util {

        static void collectFiles(Project project, List fileSets, FilesetFileVisitor visitor) {
            collectFiles(project, fileSets, false, visitor);
        }

        /**
         * Visits all files in the given list of filesets.
         * @param project the project owning the filesets
         * @param fileSets the filesets to visit
         * @param continueIfMissing whether or not to continue if a directory is missing or is a file
         * @param visitor the visitor to call
         */
        static void collectFiles(Project project, List fileSets,  boolean continueIfMissing, FilesetFileVisitor visitor) {
            for (final FileSet fileset : fileSets) {
                // warn if base directory is missing
                final File baseDir = fileset.getDir(project);
                if (continueIfMissing && (!baseDir.exists() || !baseDir.isDirectory())) {
                    Logger.getInstance().debug("Invalid directory specified: " + baseDir.getAbsolutePath() + ". Ignoring");
                    continue;
                }

                // warn if inclusion/exclusion patterns contain leading/trailing whitespace
                AntFileSetUtils.checkForNonTrimmedPatterns(fileset, project);

                final String[] includedFiles = fileset.getDirectoryScanner(project).getIncludedFiles();
                for (final String includedFile : includedFiles) {
                    visitor.visit(new File(baseDir, includedFile));
                }
            }
        }

    }

}







© 2015 - 2025 Weber Informatics LLC | Privacy Policy