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

de.is24.deadcode4j.plugin.packaginghandler.DefaultPackagingHandler Maven / Gradle / Ivy

There is a newer version: 2.1.0
Show newest version
package de.is24.deadcode4j.plugin.packaginghandler;

import de.is24.deadcode4j.Repository;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.File;

import static de.is24.deadcode4j.Utils.getKeyFor;

/**
 * The DefaultPackagingHandler returns the default output directory if it exists.
 *
 * @since 1.2.0
 */
public class DefaultPackagingHandler extends PackagingHandler {

    @Nullable
    @Override
    public Repository getOutputRepositoryFor(@Nonnull MavenProject project) throws MojoExecutionException {
        logger.debug("Project {} has {} packaging, looking for output directory...", getKeyFor(project), project.getPackaging());
        File outputDirectory = new File(project.getBuild().getOutputDirectory());
        if (!outputDirectory.exists()) {
            logger.warn("The output directory of " + getKeyFor(project) +
                    " does not exist - assuming the project simply has nothing to provide!");
            return null;
        }
        logger.debug("  Found output directory [{}].", outputDirectory);
        return new Repository(outputDirectory);
    }

    @Nonnull
    @Override
    public Iterable getAdditionalRepositoriesFor(@Nonnull MavenProject project) throws MojoExecutionException {
        return getJavaFilesOfCompileSourceRootsAsRepositories(project);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy