package com.willowtreeapps.saguaro.maven.util; import com.willowtreeapps.saguaro.plugin.PluginException; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectBuilder; import org.apache.maven.project.ProjectBuildingException; import java.util.List; import java.util.Set; /** * User: evantatarka * Date: 3/31/14 * Time: 1:55 PM */ public class ProjectHelper { private MavenProject project; private List<ArtifactRepository> remoteRepositories; private ArtifactRepository localRepository; private MavenProjectBuilder projectBuilder; public ProjectHelper(MavenProject project, MavenProjectBuilder projectBuilder, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository) { this.project = project; this.projectBuilder = projectBuilder; this.remoteRepositories = remoteRepositories; this.localRepository = localRepository; } public Set<Artifact> getArtifacts() { return project.getDependencyArtifacts(); } public MavenProject buildFromRepository(Artifact artifact) throws PluginException { try { return projectBuilder.buildFromRepository(artifact, remoteRepositories, localRepository, true); } catch (ProjectBuildingException e) { throw new PluginException( "Unable to build project: " + artifact.getDependencyConflictId(), e); } } }