List of usage examples for org.apache.maven.project MavenProject setRemoteArtifactRepositories
public void setRemoteArtifactRepositories(List<ArtifactRepository> remoteArtifactRepositories)
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public List<MavenProject> buildReactorProjectInstances(final ProjectToolsSession session, final File... rootPoms) throws ProjectToolsException { final ProjectBuildingRequest pbr = sessionInjector.getProjectBuildingRequest(session); try {/*from w ww .j av a2s . com*/ final List<File> pomFiles = Arrays.asList(rootPoms); final List<ProjectBuildingResult> results = projectBuilder.build(pomFiles, true, pbr); final List<MavenProject> projects = new ArrayList<MavenProject>(results.size()); for (final ProjectBuildingResult result : results) { final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); projects.add(project); } session.setReactorProjects(projects); if (LOGGER.isDebugEnabled()) { LOGGER.debug( "Adding projects to dependency graph:\n\t" + StringUtils.join(projects.iterator(), "\n\t")); } addProjects(session, projects); return projects; } catch (final ProjectBuildingException e) { // logger.error( "Failed to build MavenProject instances from POM files for sorting: " + e.getMessage(), e // ); final List<ProjectBuildingResult> results = e.getResults(); final StringBuilder sb = new StringBuilder(); if (results == null) { sb.append("Cannot build reactor project instances for root-POM: ").append(rootPoms); final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); e.printStackTrace(pWriter); sb.append("\n").append(sWriter); } else { int i = 0; for (final ProjectBuildingResult result : results) { final List<ModelProblem> problems = result.getProblems(); if (problems != null && !problems.isEmpty()) { sb.append("\n").append(result.getProjectId()); for (final ModelProblem problem : problems) { sb.append("\n\t").append(problem.getMessage()).append("\n\t\t") .append(problem.getSource()).append("@").append(problem.getLineNumber()) .append(":" + problem.getColumnNumber()); if (problem.getException() != null) { final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); problem.getException().printStackTrace(pWriter); sb.append("\n").append(sWriter); } sb.append((++i)).append(" ").append(sb); } } } } throw new ProjectToolsException("Failed to build project instance. \n\n%s", e, sb); } }
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public MavenProject buildProjectInstance(final File pomFile, final ProjectToolsSession session) throws ProjectToolsException { final ProjectBuildingRequest pbr = sessionInjector.getProjectBuildingRequest(session); try {//from ww w .j av a 2s . c om final ProjectBuildingResult result = projectBuilder.build(pomFile, pbr); final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); addProjects(session, project); return project; } catch (final ProjectBuildingException e) { // logger.error( "Failed to build MavenProject instances from POM files for sorting: " + e.getMessage(), e // ); final List<ProjectBuildingResult> results = e.getResults(); final StringBuilder sb = new StringBuilder(); if (results == null) { sb.append("Cannot build project instance for: ").append(pomFile); final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); e.printStackTrace(pWriter); sb.append("\n").append(sWriter); } else { int i = 0; for (final ProjectBuildingResult result : results) { final List<ModelProblem> problems = result.getProblems(); for (final ModelProblem problem : problems) { sb.append(problem.getMessage()).append("\n\t").append(problem.getSource()).append("@") .append(problem.getLineNumber()).append(":" + problem.getColumnNumber()); if (problem.getException() != null) { final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); problem.getException().printStackTrace(pWriter); sb.append("\n").append(sWriter); } sb.append((++i)).append(" ").append(sb); } } } throw new ProjectToolsException("Failed to build project instance. \n\n%s", e, sb); } }
From source file:org.commonjava.emb.project.ProjectLoader.java
License:Apache License
public MavenProject buildProjectInstance(final String groupId, final String artifactId, final String version, final ProjectToolsSession session) throws ProjectToolsException { final ProjectBuildingRequest req = sessionInjector.getProjectBuildingRequest(session); try {// w w w. j av a 2 s .c o m final org.apache.maven.artifact.Artifact pomArtifact = mavenRepositorySystem.createArtifact(groupId, artifactId, version, "pom"); final Artifact aetherPomArtifact = RepositoryUtils.toArtifact(pomArtifact); final ArtifactRequest artifactRequest = new ArtifactRequest(aetherPomArtifact, sessionInjector.getRemoteRepositories(session), "project"); final ArtifactResult artifactResult = aetherRepositorySystem.resolveArtifact(req.getRepositorySession(), artifactRequest); final File pomFile = artifactResult.getArtifact().getFile(); final ProjectBuildingResult result = projectBuilder.build(pomFile, req); final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories(session.getRemoteArtifactRepositories()); project.setFile(pomFile); addProjects(session, project); return project; } catch (final ProjectBuildingException e) { // logger.error( "Failed to build MavenProject instances from POM files for sorting: " + e.getMessage(), e // ); final List<ProjectBuildingResult> results = e.getResults(); final StringBuilder sb = new StringBuilder(); int i = 0; if (results == null) { sb.append("Cannot build project instance for: ").append(groupId).append(':').append(artifactId) .append(':').append(version); final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); e.printStackTrace(pWriter); sb.append("\n").append(sWriter); } else { for (final ProjectBuildingResult result : results) { final List<ModelProblem> problems = result.getProblems(); for (final ModelProblem problem : problems) { sb.append(problem.getMessage()).append("\n\t").append(problem.getSource()).append("@") .append(problem.getLineNumber()).append(":" + problem.getColumnNumber()); if (problem.getException() != null) { final StringWriter sWriter = new StringWriter(); final PrintWriter pWriter = new PrintWriter(sWriter); problem.getException().printStackTrace(pWriter); sb.append("\n").append(sWriter); } sb.append((++i)).append(" ").append(sb); } } } throw new ProjectToolsException("Failed to build project instance. \n\n%s", e, sb); } catch (final ArtifactResolutionException e) { throw new ProjectToolsException("Failed to resolve POM: %s:%s:%s\nReason: %s", e, groupId, artifactId, version, e.getMessage()); } }
From source file:org.sourcepit.maven.bootstrap.core.AbstractBootstrapper.java
License:Apache License
private List<MavenProject> buildBootstrapProjects(MavenSession session, Collection<File> descriptors) { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest( session.getProjectBuildingRequest()); request.setRemoteRepositories(filterArtifactRepositories(request.getRemoteRepositories())); final List<ProjectBuildingResult> results; try {/*from w w w .j a v a2 s . c o m*/ results = projectBuilder.build(new ArrayList<File>(descriptors), false, request); } catch (ProjectBuildingException e) { throw new IllegalStateException("Cannot build bootstrapper project for " + e.getPomFile(), e); } final List<MavenProject> projects = new ArrayList<MavenProject>(results.size()); for (ProjectBuildingResult result : results) { final MavenProject project = result.getProject(); project.setRemoteArtifactRepositories( filterArtifactRepositories(project.getRemoteArtifactRepositories())); project.setPluginArtifactRepositories( filterArtifactRepositories(project.getPluginArtifactRepositories())); projects.add(project); } final ProjectSorter projectSorter; try { // HACK: Constructor arg changed with Maven 3.2 from List to Collection which made it binary incompatible projectSorter = (ProjectSorter) ProjectSorter.class.getConstructors()[0].newInstance(projects); } catch (InstantiationException e) { throw new IllegalStateException(e); } catch (IllegalAccessException e) { throw new IllegalStateException(e); } catch (InvocationTargetException e) { throw new IllegalStateException(e.getTargetException()); } return projectSorter.getSortedProjects(); }
From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java
License:Apache License
private MavenProject filterUnconnectableRepos(MavenProject project) { final RepositorySystemSession repositorySession = buildContext.getRepositorySession(); final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories(); final List<ArtifactRepository> validRepositories = new ArrayList<ArtifactRepository>(); final List<ArtifactRepository> invalidRepositories = new ArrayList<ArtifactRepository>(); for (ArtifactRepository artifactRepository : repositories) { try {//from ww w. j ava 2s.c o m repositoryConnectorProvider.newRepositoryConnector(repositorySession, toRepo(artifactRepository)); validRepositories.add(artifactRepository); } catch (NoRepositoryConnectorException e) { invalidRepositories.add(artifactRepository); } } if (!invalidRepositories.isEmpty()) { project = project.clone(); project.setRemoteArtifactRepositories(validRepositories); } return project; }
From source file:org.sourcepit.tpmp.resolver.tycho.TychoSessionTargetPlatformResolver.java
License:Apache License
private MavenProject setupAggregatedProject(MavenSession session, TargetPlatformConfiguration aggregatedConfiguration) { PropertiesMap mvnProperties = new LinkedPropertiesMap(); mvnProperties.load(getClass().getClassLoader(), "META-INF/tpmp/maven.properties"); String groupId = mvnProperties.get("groupId"); String artifactId = mvnProperties.get("artifactId"); String version = mvnProperties.get("version"); final String tpmpKey = Plugin.constructKey(groupId, artifactId); MavenProject origin = session.getCurrentProject(); Model model = origin.getModel().clone(); Build build = model.getBuild();//from w ww. j av a 2s . c om if (build.getPluginsAsMap().get(tpmpKey) == null) { Plugin tpmp = new Plugin(); tpmp.setGroupId(groupId); tpmp.setArtifactId(artifactId); tpmp.setVersion(version); build.getPlugins().add(tpmp); build.flushPluginMap(); } MavenProject fake = new MavenProject(model); fake.setClassRealm(origin.getClassRealm()); fake.setFile(origin.getFile()); final Map<String, ArtifactRepository> artifactRepositories = new LinkedHashMap<String, ArtifactRepository>(); final Map<String, ArtifactRepository> pluginRepositories = new LinkedHashMap<String, ArtifactRepository>(); for (MavenProject project : session.getProjects()) { for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) { if (!artifactRepositories.containsKey(repository.getId())) { artifactRepositories.put(repository.getId(), repository); } } for (ArtifactRepository repository : project.getPluginArtifactRepositories()) { if (!pluginRepositories.containsKey(repository.getId())) { pluginRepositories.put(repository.getId(), repository); } } } fake.setRemoteArtifactRepositories(new ArrayList<ArtifactRepository>(artifactRepositories.values())); fake.setPluginArtifactRepositories(new ArrayList<ArtifactRepository>(pluginRepositories.values())); fake.setManagedVersionMap(origin.getManagedVersionMap()); if (getTychoProject(fake) == null) { fake.setPackaging("eclipse-repository"); } fake.getBuildPlugins(); AbstractTychoProject tychoProject = (AbstractTychoProject) getTychoProject(fake); tychoProject.setupProject(session, fake); Properties properties = new Properties(); properties.putAll(fake.getProperties()); properties.putAll(session.getSystemProperties()); // session wins properties.putAll(session.getUserProperties()); fake.setContextValue(TychoConstants.CTX_MERGED_PROPERTIES, properties); fake.setContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION, aggregatedConfiguration); ExecutionEnvironmentConfiguration eeConfiguration = new ExecutionEnvironmentConfigurationImpl(logger, aggregatedConfiguration.isResolveWithEEConstraints()); tychoProject.readExecutionEnvironmentConfiguration(fake, eeConfiguration); fake.setContextValue(TychoConstants.CTX_EXECUTION_ENVIRONMENT_CONFIGURATION, eeConfiguration); final DependencyMetadata dm = new DependencyMetadata(); for (ReactorProject reactorProject : DefaultReactorProject.adapt(session)) { mergeMetadata(dm, reactorProject, true); mergeMetadata(dm, reactorProject, false); } int i = 0; for (Object object : dm.getMetadata(true)) { InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO( object.getClass().getClassLoader()); dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i); i++; } for (Object object : dm.getMetadata(false)) { InstallableUnitDAO dao = new TychoSourceIUResolver.InstallableUnitDAO( object.getClass().getClassLoader()); dao.setProperty(object, RepositoryLayoutHelper.PROP_CLASSIFIER, "fake_" + i); i++; } Map<String, DependencyMetadata> metadata = new LinkedHashMap<String, DependencyMetadata>(); metadata.put(null, dm); fake.setContextValue("tpmp.aggregatedMetadata", metadata); return fake; }