List of usage examples for org.apache.maven.project MavenProject getPluginArtifactRepositories
public List<ArtifactRepository> getPluginArtifactRepositories()
From source file:com.google.gdt.eclipse.maven.e35.configurators.GoogleProjectConfigurator.java
License:Open Source License
@Override protected void doConfigure(final MavenProject mavenProject, IProject project, ProjectConfigurationRequest request, final IProgressMonitor monitor) throws CoreException { final IMaven maven = MavenPlugin.getDefault().getMaven(); boolean configureGaeNatureSuccess = configureNature(project, mavenProject, GaeNature.NATURE_ID, true, new NatureCallbackAdapter() { @Override//from ww w.java 2 s.c o m 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()) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", result.getExceptions().get(0))); } } catch (CoreException e) { Activator.getDefault().getLog().log( new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", e)); } } }, monitor); boolean configureGWTNatureSuccess = configureNature(project, mavenProject, GWTNature.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 (GWTMavenRuntime.MAVEN_GWT_GROUP_ID.equals(dependency.getGroupId()) && (GWTMavenRuntime.MAVEN_GWT_USER_ARTIFACT_ID .equals(dependency.getArtifactId()) || GWTMavenRuntime.MAVEN_GWT_SERVLET_ARTIFACT_ID .equals(dependency.getArtifactId()))) { gwtVersion = dependency.getVersion(); break; } } // Check that the pom.xml has GWT dependencies if (!StringUtilities.isEmpty(gwtVersion)) { try { /* * Download and install the gwt-dev.jar into the local * repository. */ maven.resolve(GWTMavenRuntime.MAVEN_GWT_GROUP_ID, GWTMavenRuntime.MAVEN_GWT_DEV_JAR_ARTIFACT_ID, gwtVersion, "jar", null, mavenProject.getRemoteArtifactRepositories(), monitor); } catch (CoreException e) { Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", e)); } } } }, monitor); if (configureGWTNatureSuccess || configureGaeNatureSuccess) { try { // Add GWT Web Application configuration parameters WebAppProjectProperties.setWarSrcDir(project, new Path("src/main/webapp")); WebAppProjectProperties.setWarSrcDirIsOutput(project, false); String artifactId = mavenProject.getArtifactId(); String version = mavenProject.getVersion(); IPath location = (project.getRawLocation() != null ? project.getRawLocation() : project.getLocation()); if (location != null && artifactId != null && version != null) { WebAppProjectProperties.setLastUsedWarOutLocation(project, location.append("target").append(artifactId + "-" + version)); } } catch (BackingStoreException be) { Activator.getDefault().getLog() .log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", be)); } } }
From source file:com.microfocus.plugins.attribution.datamodel.services.impl.DependenciesServiceImpl.java
@Override public List<ProjectDependency> getProjectDependencies(MavenProject project, Settings settings, ArtifactRepository localRepository, DependencyOverride[] dependencyOverrides) { List<ProjectDependency> projectDependencies = new ArrayList<ProjectDependency>(); Map<String, DependencyOverride> projectDependencyOverrides = new HashMap<String, DependencyOverride>(); if (dependencyOverrides != null) { for (DependencyOverride dependencyOverride : dependencyOverrides) { projectDependencyOverrides.put(dependencyOverride.getForDependency(), dependencyOverride); }//from www . j av a2 s . co m } RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory, resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(), localRepository, repositoryMetadataManager); DependencyNode dependencyNode = resolveProject(project); Dependencies dependencies = new Dependencies(project, dependencyNode, classesAnalyzer); try { List<Artifact> alldeps = dependencies.getAllDependencies(); if (log.isInfoEnabled()) { System.out.print("[INFO] Reading dependency information from available repositories."); } for (Artifact artifact : alldeps) { MavenProject pluginProject = mavenProjectBuilder.buildFromRepository(artifact, project.getRemoteArtifactRepositories(), localRepository); MavenProject artifactProject = repoUtils.getMavenProjectFromRepository(artifact); String projectUrl = pluginProject.getUrl(); List<ProjectDependencyLicense> licenses = DependencyUtils .toProjectLicenses(artifactProject.getLicenses()); List<String> downloadUrls = new ArrayList<String>(); for (ArtifactRepository artifactRepository : artifactProject.getRemoteArtifactRepositories()) { String downloadUrl = repoUtils.getDependencyUrlFromRepository(artifact, artifactRepository); if (dependencyExistsInRepo(repoUtils, artifactRepository, artifact)) { downloadUrls.add(downloadUrl); } if (log.isInfoEnabled()) { System.out.print('.'); } } DependencyOverride dependencyOverride = projectDependencyOverrides .get(artifact.getGroupId() + ":" + artifact.getArtifactId()); if (dependencyOverride != null) { if (StringUtils.isNotBlank(dependencyOverride.getProjectUrl())) { projectUrl = dependencyOverride.getProjectUrl(); } if (StringUtils.isNotBlank(dependencyOverride.getDownloadUrl())) { downloadUrls = Arrays.asList(dependencyOverride.getDownloadUrl()); } if (dependencyOverride.getLicense() != null) { licenses = Arrays.asList(dependencyOverride.getLicense()); } } String name = StringUtils.defaultIfBlank(artifactProject.getName(), artifact.getArtifactId()); ProjectDependency dependency = new ProjectDependency(); dependency.setGroupId(artifact.getGroupId()); dependency.setArtifactId(artifact.getArtifactId()); dependency.setVersion(artifact.getVersion()); dependency.setProjectUrl(projectUrl); dependency.setType(artifact.getType()); dependency.setLicenses(licenses); dependency.setName(name); dependency.setDownloadUrls(downloadUrls); projectDependencies.add(dependency); } System.out.println(); // End with a carriage return, so normal logging can continue } catch (ProjectBuildingException e) { throw new DataModelException("An error occurred building the list of project dependencies.", e); } Collections.sort(projectDependencies, byName()); return projectDependencies; }
From source file:com.tenderowls.opensource.haxemojos.components.NativeBootstrap.java
License:Apache License
public void initialize(MavenProject project, ArtifactRepository localRepository) throws Exception { this.project = project; this.localRepository = localRepository; Map<String, Plugin> pluginMap = project.getBuild().getPluginsAsMap(); Plugin plugin = pluginMap.get("com.tenderowls.opensource:haxemojos-maven-plugin"); Artifact pluginArtifact = resolveArtifact(repositorySystem.createPluginArtifact(plugin), project.getPluginArtifactRepositories()); String pluginHomeName = plugin.getArtifactId() + "-" + plugin.getVersion(); File pluginHome = new File(pluginArtifact.getFile().getParentFile(), pluginHomeName); if (!pluginHome.exists()) pluginHome.mkdirs();// w w w.j a va2s . co m initializePrograms(pluginHome, plugin.getDependencies()); initializeHaxelib(pluginHome); }
From source file:net.sf.buildbox.maven.contentcheck.LicenseShowMojo.java
License:Open Source License
private List<MavenProject> getMavenProjectForDependencies() throws MojoExecutionException, MojoFailureException { DependencyNode dependencyTreeNode = resolveProject(); MavenProject project = getMavenProject(); Dependencies dependencies = new Dependencies(project, dependencyTreeNode, classesAnalyzer); Log log = getLog();//from ww w.jav a 2 s . com RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory, resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(), localRepository, repositoryMetadataManager); Artifact projectArtifact = project.getArtifact(); log.info(String.format("Resolving project %s:%s:%s dependencies", projectArtifact.getGroupId(), projectArtifact.getArtifactId(), projectArtifact.getVersion())); List<Artifact> allDependencies = dependencies.getAllDependencies(); List<MavenProject> mavenProjects = new ArrayList<MavenProject>(); for (Artifact artifact : allDependencies) { log.debug(String.format("Resolving project information for %s:%s:%s", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion())); try { MavenProject mavenProject = repoUtils.getMavenProjectFromRepository(artifact); mavenProjects.add(mavenProject); } catch (ProjectBuildingException e) { throw new MojoFailureException( String.format("Cannot get project information for artifact %s:%s:%s from repository", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()), e); } } return mavenProjects; }
From source file:org.codehaus.mojo.sonar.Bootstraper.java
License:Open Source License
private void executeMojo(MavenProject project, MavenSession session) throws MojoExecutionException { ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader(); try {// w w w .jav a2 s. co m RepositoryRequest repositoryRequest = new DefaultRepositoryRequest(); repositoryRequest.setLocalRepository(session.getLocalRepository()); repositoryRequest.setRemoteRepositories(project.getPluginArtifactRepositories()); Plugin plugin = createSonarPlugin(); List<RemoteRepository> remoteRepositories = session.getCurrentProject().getRemotePluginRepositories(); PluginDescriptor pluginDescriptor = pluginManager.getPluginDescriptor(plugin, remoteRepositories, session.getRepositorySession()); String goal = "sonar"; MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo(goal); if (mojoDescriptor == null) { throw new MojoExecutionException("Unknown mojo goal: " + goal); } MojoExecution mojoExecution = new MojoExecution(plugin, goal, "sonar" + goal); mojoExecution.setConfiguration(convert(mojoDescriptor)); mojoExecution.setMojoDescriptor(mojoDescriptor); // olamy : we exclude nothing and import nothing regarding realm import and artifacts DependencyFilter artifactFilter = new DependencyFilter() { public boolean accept(DependencyNode arg0, List<DependencyNode> arg1) { return true; } }; pluginManager.setupPluginRealm(pluginDescriptor, session, Thread.currentThread().getContextClassLoader(), Collections.<String>emptyList(), artifactFilter); Mojo mojo = pluginManager.getConfiguredMojo(Mojo.class, session, mojoExecution); Thread.currentThread().setContextClassLoader(pluginDescriptor.getClassRealm()); mojo.execute(); } catch (Exception e) { throw new MojoExecutionException("Can not execute Sonar", e); } finally { Thread.currentThread().setContextClassLoader(originalClassLoader); } }
From source file:org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory.java
License:Open Source License
public static List<MappingMetadataSource> getProjectMetadataSources(MavenProject mavenProject, List<LifecycleMappingMetadataSource> bundleMetadataSources, List<MojoExecution> mojoExecutions, boolean includeDefault, IProgressMonitor monitor) throws CoreException, LifecycleMappingConfigurationException { List<MappingMetadataSource> metadataSources = new ArrayList<MappingMetadataSource>(); // List order // 1. preferences in project (*** not implemented yet) // 2. preferences in ancestor project (*** not implemented yet) // 3. this pom embedded, this pom referenced, parent embedded, parent referenced, grand parent embedded... // 4. preferences in workspace // 5. sources contributed by eclipse extensions // 6. maven-plugin embedded metadata // 7. default source, if present // TODO validate metadata and replace invalid entries with error mapping for (LifecycleMappingMetadataSource source : getPomMappingMetadataSources(mavenProject, monitor)) { metadataSources.add(new SimpleMappingMetadataSource(source)); }/*from w w w.j av a 2s .co m*/ metadataSources.add(new SimpleMappingMetadataSource(getWorkspaceMetadata(false))); // TODO filter out invalid metadata from sources contributed by eclipse extensions and the default source metadataSources.add(new SimpleMappingMetadataSource(bundleMetadataSources)); for (LifecycleMappingMetadataSource source : getMavenPluginEmbeddedMetadataSources(mojoExecutions, mavenProject.getPluginArtifactRepositories(), monitor)) { metadataSources.add(new SimpleMappingMetadataSource(source)); } if (includeDefault) { LifecycleMappingMetadataSource defaultSource = getDefaultLifecycleMappingMetadataSource(); if (defaultSource != null) { metadataSources.add(new SimpleMappingMetadataSource(defaultSource)); } } return metadataSources; }
From source file:org.eclipse.m2e.core.internal.project.registry.MavenProjectFacade.java
License:Open Source License
public MavenProjectFacade(ProjectRegistryManager manager, IFile pom, MavenProject mavenProject, Map<String, List<MojoExecution>> executionPlans, ResolverConfiguration resolverConfiguration) { this.manager = manager; this.pom = pom; IPath location = pom.getLocation();//ww w.j a v a2s. c om this.pomFile = location == null ? null : location.toFile(); // save pom file this.resolverConfiguration = resolverConfiguration; this.mavenProject = mavenProject; this.executionPlans = executionPlans; this.artifactKey = new ArtifactKey(mavenProject.getArtifact()); this.packaging = mavenProject.getPackaging(); this.modules = mavenProject.getModules(); this.resourceLocations = MavenProjectUtils.getResourceLocations(getProject(), mavenProject.getResources()); this.testResourceLocations = MavenProjectUtils.getResourceLocations(getProject(), mavenProject.getTestResources()); this.compileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(), mavenProject.getCompileSourceRoots()); this.testCompileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(), mavenProject.getTestCompileSourceRoots()); IPath fullPath = getProject().getFullPath(); IPath path = getProjectRelativePath(mavenProject.getBuild().getOutputDirectory()); this.outputLocation = (path != null) ? fullPath.append(path) : null; path = getProjectRelativePath(mavenProject.getBuild().getTestOutputDirectory()); this.testOutputLocation = path != null ? fullPath.append(path) : null; this.artifactRepositories = new LinkedHashSet<ArtifactRepositoryRef>(); for (ArtifactRepository repository : mavenProject.getRemoteArtifactRepositories()) { this.artifactRepositories.add(new ArtifactRepositoryRef(repository)); } this.pluginArtifactRepositories = new LinkedHashSet<ArtifactRepositoryRef>(); for (ArtifactRepository repository : mavenProject.getPluginArtifactRepositories()) { this.pluginArtifactRepositories.add(new ArtifactRepositoryRef(repository)); } setMavenProjectArtifacts(); updateTimestamp(); }
From source file:org.eclipse.tycho.extras.docbundle.DocletArtifactsResolver.java
License:Open Source License
/** * Resolves the dependencies and returns a list of paths to the dependency jar files. * // w w w.ja v a 2 s . c om * @param dependencies * the Dependencies to be resolved * @return the paths to the jar files * @throws MojoExecutionException * if one of the specified depenencies could not be resolved */ public Set<String> resolveArtifacts(List<Dependency> dependencies) throws MojoExecutionException { Set<String> files = new LinkedHashSet<String>(); if (dependencies == null || dependencies.isEmpty()) { return files; } MavenSession session = legacySupport.getSession(); MavenProject project = session.getCurrentProject(); for (Dependency dependency : dependencies) { Artifact artifact = repositorySystem.createDependencyArtifact(dependency); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setResolveRoot(true).setResolveTransitively(true); 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 MojoExecutionException( "Failed to resolve doclet artifact " + dependency.getManagementKey(), e); } for (Artifact resolvedArtifact : result.getArtifacts()) { files.add(resolvedArtifact.getFile().getAbsolutePath()); } } return files; }
From source file:org.eclipse.tycho.osgi.runtime.TychoOsgiRuntimeLocator.java
License:Open Source License
protected List<ArtifactRepository> getPluginRepositories(MavenSession session) { List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>(); for (MavenProject project : session.getProjects()) { repositories.addAll(project.getPluginArtifactRepositories()); }/*from w w w. j a va2 s . com*/ return repositorySystem.getEffectiveRepositories(repositories); }
From source file:org.eclipse.tycho.osgi.runtime.TychoP2RuntimeLocator.java
License:Open Source License
private File resolveArtifact(MavenSession session, Artifact artifact) throws MavenExecutionException { List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>(); for (MavenProject project : session.getProjects()) { repositories.addAll(project.getPluginArtifactRepositories()); }//from w w w.ja va2s . c om repositories = repositorySystem.getEffectiveRepositories(repositories); ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setArtifact(artifact); request.setResolveRoot(true).setResolveTransitively(false); request.setLocalRepository(session.getLocalRepository()); request.setRemoteRepositories(repositories); request.setCache(session.getRepositoryCache()); request.setOffline(session.isOffline()); request.setForceUpdate(session.getRequest().isUpdateSnapshots()); ArtifactResolutionResult result = repositorySystem.resolve(request); try { resolutionErrorHandler.throwErrors(request, result); } catch (ArtifactResolutionException e) { throw new MavenExecutionException("Could not resolve tycho-p2-runtime", e); } return artifact.getFile(); }