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