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

me.snowdrop.licenses.GavFinder Maven / Gradle / Ivy

package me.snowdrop.licenses;

import me.snowdrop.licenses.maven.MavenProjectFactory;
import me.snowdrop.licenses.utils.Gav;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.project.MavenProject;

import java.nio.file.Path;
import java.util.Collection;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class GavFinder {
    private final MavenProjectFactory mavenProjectFactory;

    GavFinder(MavenProjectFactory mavenProjectFactory) {
        this.mavenProjectFactory = mavenProjectFactory;
    }

    public Collection inMavenProject(Path pomPath) {
        return getArtifactsForMavenProject(pomPath)
                .map(a -> new Gav(a.getGroupId(), a.getArtifactId(), a.getVersion(), a.getType()))
                .collect(Collectors.toSet());
    }

    Stream getArtifactsForMavenProject(Path pomPath) {
        return mavenProjectFactory.getMavenProjects(pomPath.toFile(), true)
                .stream()
                .map(MavenProject::getArtifacts)
                .flatMap(Set::stream);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy