project = mavenProjectBuilder.buildFromRepository( pomArtifact, remoteRepositories, localRepository, true );
public MavenProject resolvePom() throws ProjectBuildingException { return builder.buildFromRepository(artifact,remoteRepositories,localRepository); }
@Component private RepositorySystem repositorySystem; @Component private MavenProjectBuilder mavenProjectBuilder; @Parameter(property = "project.remoteArtifactRepositories") protected List<ArtifactRepository> remoteRepositories; @Parameter(property = "localRepository") protected ArtifactRepository localRepository; ... Artifact pomArtifact = repositorySystem.createProjectArtifact(groupId, artifactId,version); MavenProject project = mavenProjectBuilder.buildFromRepository(pomArtifact , remoteRepositories, localRepository);
/** * This method resolves all transitive dependencies of an artifact. * * @param artifact the artifact used to retrieve dependencies * * @return resolved set of dependencies * * @throws ArtifactResolutionException * @throws ArtifactNotFoundException * @throws ProjectBuildingException * @throws InvalidDependencyVersionException */ protected Set<Artifact> resolveArtifactDependencies(Artifact artifact) throws Exception { Artifact pomArtifact = factory.createArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), "", "pom"); MavenProject pomProject = mavenProjectBuilder.buildFromRepository(pomArtifact, remoteRepos, localRepo); return resolveDependencyArtifacts(pomProject); }
private List<String> getDependencies(Artifact artifact) throws ProjectBuildingException { MavenProject mp = mavenProjectBuilder.buildFromRepository(artifact, remoteRepositories, localRepository, true); List<String> deps = new LinkedList<String>(); for (Dependency dep : getDependencies(mp)) { if ("jar".equals(dep.getType()) && (dep.getScope().equals("compile") || dep.getScope().equals("runtime"))) { deps.add(getInternalId(dep)); } } return deps; }
/** * Get the <code>Maven project</code> from the repository depending * the <code>Artifact</code> given. * * @param artifact an artifact * @return the Maven project for the given artifact * @throws org.apache.maven.project.ProjectBuildingException * if any */ private MavenProject getMavenProjectFromRepository( Artifact artifact, ArtifactRepository localRepository ) throws ProjectBuildingException { Artifact projectArtifact = artifact; boolean allowStubModel = false; if ( !"pom".equals( artifact.getType() ) ) { projectArtifact = factory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getScope() ); allowStubModel = true; } // TODO: we should use the MavenMetadataSource instead return mavenProjectBuilder.buildFromRepository( projectArtifact, project.getRemoteArtifactRepositories(), localRepository, allowStubModel ); }
private MavenProject getMavenProject(ArtifactRevisionIdentifier artifactIdentifier) throws ProjectBuildingException { logger.debug("Fetching artifact " + artifactIdentifier); org.apache.maven.artifact.Artifact artifact = artifactFactory.createArtifact(artifactIdentifier.getGroupId(), artifactIdentifier.getArtifactId(), artifactIdentifier.getVersion(), org.apache.maven.artifact.Artifact.SCOPE_COMPILE, POM_TYPE); return mavenProjectBuilder.buildFromRepository( artifact, Collections.<ArtifactRepository>emptyList(), localRepository, false); }
public File resolve( Artifact artifact ) throws PathResolutionException { MavenProject project; try { Artifact dummy = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() ); project = projectBuilder.buildFromRepository( dummy, remoteRepositories, localRepository ); } catch ( ProjectBuildingException e ) { throw new PathResolutionException( "Cannot build project for artifact: " + artifact + ". Reason: " + e.getMessage(), e ); } String prefix = project.getProperties().getProperty( "prefix" ); List valueSources = new ArrayList(); valueSources.add( new ObjectBasedValueSource( project ) ); valueSources.add( new MapBasedValueSource( project.getProperties() ) ); valueSources.add( new MapBasedValueSource( System.getProperties() ) ); RegexBasedInterpolator interpolator = new RegexBasedInterpolator( valueSources ); prefix = interpolator.interpolate( prefix, "project|pom" ); log.debug( "Prefix for project: " + project.getId() + " is: " + prefix ); return new File( prefix ); }
public File resolve( Artifact artifact ) throws PathResolutionException { MavenProject project; try { Artifact dummy = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() ); project = projectBuilder.buildFromRepository( dummy, remoteRepositories, localRepository ); } catch ( ProjectBuildingException e ) { throw new PathResolutionException( "Cannot build project for artifact: " + artifact + ". Reason: " + e.getMessage(), e ); } String prefix = project.getProperties().getProperty( "prefix" ); List valueSources = new ArrayList(); valueSources.add( new ObjectBasedValueSource( project ) ); valueSources.add( new MapBasedValueSource( project.getProperties() ) ); valueSources.add( new MapBasedValueSource( System.getProperties() ) ); RegexBasedInterpolator interpolator = new RegexBasedInterpolator( valueSources ); prefix = interpolator.interpolate( prefix, "project|pom" ); log.debug( "Prefix for project: " + project.getId() + " is: " + prefix ); return new File( prefix ); }
this.projectBuilder.buildFromRepository( rootArtifact, this.remoteRepositories, this.localRepository ); List<Dependency> dependencies = rootProject.getDependencies();
this.projectBuilder.buildFromRepository( rootArtifact, this.remoteRepositories, this.localRepository ); List<Dependency> dependencies = rootProject.getDependencies();
private static MavenProject readMavenProject(MavenEmbedder embedder, Artifact artifact, List<ArtifactRepository> remoteRepos) throws ProjectBuildingException { //TODO rewrite MavenProjectBuilder bldr = embedder.lookupComponent(MavenProjectBuilder.class); assert bldr !=null : "MavenProjectBuilder component not found in maven"; embedder.setUpLegacySupport(); return bldr.buildFromRepository(artifact, remoteRepos, embedder.getLocalRepository()) ; }
MavenProject project = mavenProjectBuilder.buildFromRepository(artifact, this.remoteRepos, this.localRepository); Set<Artifact> dependencyArtifacts = project.createArtifacts( this.artifactFactory, Artifact.SCOPE_RUNTIME, new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME ) );
this.projectBuilder.buildFromRepository( executablePomArtifact, this.remoteRepositories, this.localRepository );
/** * Fixup an artifact. * @param artifact Artifact to fixup. * @throws Exception If anything goes wrong. */ protected void fixupRepositoryArtifact(Artifact artifact) throws Exception { // Resolve it resolver.resolve(artifact, remoteRepositories, localRepository); File artifactFile = artifact.getFile(); // Also, create a project for it MavenProject mavenProject = mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories, localRepository); for (Object createdArtifact : mavenProject.createArtifacts(artifactFactory, null, null)) { Artifact art = (Artifact) createdArtifact; if (art.getType().equals("war")) { // Sigh... Artifact art2 = artifactFactory.createArtifactWithClassifier( art.getGroupId(), art.getArtifactId(), art.getVersion(), "pom", null); fixupRepositoryArtifact(art2); } } MavenXpp3Reader pomReader = new MavenXpp3Reader(); Model pomFile = pomReader.read(new FileReader(artifactFile)); fixModelAndSaveInRepository(artifact, pomFile); }
depProj = projectBuilder.buildFromRepository(depObj, remoteRepositories, localRepository, false); } catch (ProjectBuildingException e) { throw new ProjectBuildingException(key, "Error creating dependent artifacts", e);
public static MavenProject readMavenProject(String grId, String artId, String ver, ArtifactRepository repository) { MavenProject mavenProject = null; try { // we need to use the online embedder as the project one never // puts anything in the local repository, thus not resolving dependencies. //mkleint: this is somewhat strange thing to do for indexing remote repositories // via the maven-repo-utils CLI tool.. ArtifactFactory artifactFactory = (ArtifactFactory) EmbedderFactory.getOnlineEmbedder().getPlexusContainer().lookup(ArtifactFactory.class); Artifact projectArtifact = artifactFactory.createProjectArtifact( grId, artId, ver, null); MavenProjectBuilder builder = (MavenProjectBuilder) EmbedderFactory.getOnlineEmbedder().getPlexusContainer().lookup(MavenProjectBuilder.class); mavenProject = builder.buildFromRepository(projectArtifact, new ArrayList(), repository); } catch (InvalidProjectModelException ex) { //ignore nexus is falling ??? ex.printStackTrace(); } catch (ProjectBuildingException ex) { ex.printStackTrace(); } catch (Exception exception) { exception.printStackTrace(); } return mavenProject; } }
MavenProject executableProject = this.projectBuilder.buildFromRepository(executablePomArtifact, this.remoteRepositories, this.localRepository);
org.apache.maven.artifact.Artifact pomArtifact = artifactFactory.createArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact .getVersion(), artifact.getClassifier(), "pom"); MavenProject pomProject = mavenProjectBuilder.buildFromRepository(pomArtifact, this.remoteRepositories, this.localRepository); Set<org.apache.maven.artifact.Artifact> dependents = pomProject.createArtifacts(this.artifactFactory, null, null); ArtifactResolutionResult result = resolver.resolveTransitively(dependents, pomArtifact, this.localRepository, this.remoteRepositories,
@Override public void run() { try { //TODO add progress bar. // XXX does online.resolve(...) not suffice? online.setUpLegacySupport(); builder.buildFromRepository(projectArtifact, p.getMavenProject().getRemoteArtifactRepositories(), online.getLocalRepository()); synchronized (AuxPropsImpl.this) { recheck = true; } } catch (ProjectBuildingException ex) { ex.printStackTrace(); // Exceptions.printStackTrace(ex); } } });