List of usage examples for org.apache.maven.project MavenProject getPluginArtifactRepositories
public List<ArtifactRepository> getPluginArtifactRepositories()
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 ww w .j a v a 2 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 ProjectBuildingRequest newProjectBuildingRequest(boolean resolveDeps, boolean processPlugins) { final ProjectBuildingRequest request = new DefaultProjectBuildingRequest( buildContext.getSession().getProjectBuildingRequest()); request.setResolveDependencies(resolveDeps); request.setProcessPlugins(processPlugins); request.setProject(null);/*from www. j a v a2s . com*/ final MavenProject project = buildContext.getSession().getCurrentProject(); if (project != null) { @SuppressWarnings("unchecked") List<ArtifactRepository> artifactRepos = combine(project.getRemoteArtifactRepositories(), request.getRemoteRepositories()); @SuppressWarnings("unchecked") List<ArtifactRepository> pluginRepos = combine(project.getPluginArtifactRepositories(), request.getPluginArtifactRepositories()); request.setRemoteRepositories(artifactRepos); request.setPluginArtifactRepositories(pluginRepos); } return request; }
From source file:org.sourcepit.tpmp.resolver.tycho.AbstractTychoTargetPlatformResolver.java
License:Apache License
private List<File> getFrameworkExtensions(MavenSession session, MavenProject project, Collection<Dependency> frameworkExtensions) { final List<File> files = new ArrayList<File>(); if (frameworkExtensions != null) { for (Dependency frameworkExtension : frameworkExtensions) { Artifact artifact = repositorySystem.createDependencyArtifact(frameworkExtension); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setResolveRoot(true).setResolveTransitively(false); request.setLocalRepository(session.getLocalRepository()); request.setRemoteRepositories(project.getPluginArtifactRepositories()); request.setOffline(session.isOffline()); request.setForceUpdate(session.getRequest().isUpdateSnapshots()); ArtifactResolutionResult result = repositorySystem.resolve(request); try { resolutionErrorHandler.throwErrors(request, result); } catch (ArtifactResolutionException e) { throw new IllegalStateException( "Failed to resolve framework extension " + frameworkExtension.getManagementKey(), e); }/* w w w .java 2s .co m*/ files.add(artifact.getFile()); } } return files; }
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();// ww w . j a v a 2s. com 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; }
From source file:org.springframework.ide.eclipse.maven.legacy.internal.core.GoogleProjectConfigurator.java
License:Open Source License
/** * {@inheritDoc}/* w w w .j a v a2s . c o m*/ */ @Override protected void doConfigure(final MavenProject mavenProject, IProject project, ProjectConfigurationRequest request, final IProgressMonitor monitor) throws CoreException { final IMaven maven = MavenPlugin.getDefault().getMaven(); configureNature(project, mavenProject, GAE_NATURE_ID, true, new NatureCallbackAdapter() { @Override public void beforeAddingNature() { try { DefaultMavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest(); executionRequest.setBaseDirectory(mavenProject.getBasedir()); executionRequest.setLocalRepository(maven.getLocalRepository()); executionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories()); executionRequest.setPluginArtifactRepositories(mavenProject.getPluginArtifactRepositories()); executionRequest.setPom(mavenProject.getFile()); executionRequest.setGoals(GAE_UNPACK_GOAL); MavenExecutionResult result = maven.execute(executionRequest, monitor); if (result.hasExceptions()) { MavenCorePlugin.getDefault().getLog() .log(new Status(IStatus.ERROR, MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", result.getExceptions().get(0))); } } catch (CoreException e) { MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e)); } } }, monitor); if (configureNature(project, mavenProject, GWT_NATURE_ID, true, new NatureCallbackAdapter() { @Override public void beforeAddingNature() { // Get the GWT version from the project pom String gwtVersion = null; List<Dependency> dependencies = mavenProject.getDependencies(); for (Dependency dependency : dependencies) { if (GWT_GROUP_ID.equals(dependency.getGroupId()) && ("gwt-user".equals(dependency.getArtifactId()) || "gwt-servlet".equals(dependency.getArtifactId()))) { gwtVersion = dependency.getVersion(); break; } } // Check that the pom.xml has GWT dependencies if (StringUtils.hasLength(gwtVersion)) { try { // Download and install the gwt-dev.jar into the local repository maven.resolve(GWT_GROUP_ID, "gwt-dev", gwtVersion, "jar", null, mavenProject.getRemoteArtifactRepositories(), monitor); } catch (CoreException e) { MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e)); } } } }, monitor)) { try { // Add GWT Web Application configuration parameters IEclipsePreferences prefs = SpringCorePreferences .getProjectPreferences(project, "com.google.gdt.eclipse.core").getProjectPreferences(); prefs.put("warSrcDir", "src/main/webapp"); prefs.putBoolean("warSrcDirIsOutput", false); String artifactId = mavenProject.getArtifactId(); String version = mavenProject.getVersion(); IPath location = SpringCoreUtils.getProjectLocation(project); if (location != null && artifactId != null && version != null) { prefs.put("lastWarOutDir", location.append("target").append(artifactId + "-" + version).toFile() .getAbsolutePath()); } prefs.flush(); } catch (BackingStoreException e) { MavenCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MavenCorePlugin.NON_LEGACY_PLUGIN_ID, "Error configuring project", e)); } } }