List of usage examples for org.apache.maven.project MavenProject getRemoteProjectRepositories
public List<RemoteRepository> getRemoteProjectRepositories()
From source file:com.inetpsa.seed.plugin.components.ArtifactResolver.java
License:Open Source License
public String getHighestVersion(MavenProject mavenProject, String groupId, String artifactId, boolean allowSnapshots) { RepositorySystemSession session = mavenProject.getProjectBuildingRequest().getRepositorySession(); VersionRangeRequest rangeRequest = new VersionRangeRequest(); rangeRequest.setArtifact(new DefaultArtifact(groupId, artifactId, null, "[0,)")); rangeRequest.setRepositories(mavenProject.getRemoteProjectRepositories()); VersionRangeResult rangeResult;//from www .jav a 2s .c o m try { rangeResult = repositorySystem.resolveVersionRange(session, rangeRequest); } catch (Exception e) { throw new RuntimeException(String.format("Unable to resolve version for %s:%s", groupId, artifactId), e); } Version highestVersion = null; for (Version version : rangeResult.getVersions()) { if (highestVersion == null) { highestVersion = version; } else if ((allowSnapshots || !version.toString().endsWith("-SNAPSHOT")) && version.compareTo(highestVersion) > 0) { highestVersion = version; } } if (highestVersion == null) { throw new RuntimeException(String.format("No version found for artifact %s:%s", groupId, artifactId)); } return highestVersion.toString(); }
From source file:com.inetpsa.seed.plugin.components.ArtifactResolver.java
License:Open Source License
public ArtifactResult resolveArtifact(MavenProject mavenProject, String groupId, String artifactId, String type, String classifier, String version) throws ArtifactResolutionException { RepositorySystemSession session = mavenProject.getProjectBuildingRequest().getRepositorySession(); String coordinates = groupId + ":" + artifactId; if (type != null && !type.isEmpty()) { coordinates += ":" + type; }//from ww w .j a v a 2s . c o m if (classifier != null && !classifier.isEmpty()) { coordinates += ":" + classifier; } if (version != null && !version.isEmpty()) { coordinates += ":" + version; } return repositorySystem.resolveArtifact(session, new ArtifactRequest(new DefaultArtifact(coordinates), mavenProject.getRemoteProjectRepositories(), null)); }
From source file:com.jayway.maven.plugins.android.common.BuildHelper.java
License:Open Source License
public BuildHelper(RepositorySystem repoSystem, RepositorySystemSession repoSession, MavenProject project, Logger log) {/*from w w w . j a va 2 s .co m*/ this.repoSystem = repoSystem; this.repoSession = repoSession; this.projectRepos = project.getRemoteProjectRepositories(); final File targetFolder = new File(project.getBasedir(), "target"); this.unpackedLibsDirectory = new File(targetFolder, "unpacked-libs"); this.log = log; }
From source file:com.jayway.maven.plugins.android.phase_prebuild.AarMavenLifecycleParticipant.java
License:Open Source License
private Collection<Artifact> getProjectsArtifacts(MavenSession session, MavenProject project) throws MavenExecutionException { final DependencyResolver resolver = new DependencyResolver(log, repoSystem, session.getRepositorySession(), project.getRemoteProjectRepositories(), artifactHandler); try {//from www . j ava 2 s . c om return resolver.getDependenciesFor(project.getArtifact()); } catch (MojoExecutionException e) { throw new MavenExecutionException("Could not resolve dependencies for " + project.getArtifact(), e); } }
From source file:io.airlift.resolver.ArtifactResolver.java
License:Apache License
public List<Artifact> resolvePom(File pomFile) { if (pomFile == null) { throw new RuntimeException("pomFile is null"); }/* w w w .jav a 2s . c om*/ MavenProject pom; try { PlexusContainer container = container(); org.apache.maven.repository.RepositorySystem lrs = container .lookup(org.apache.maven.repository.RepositorySystem.class); ProjectBuilder projectBuilder = container.lookup(ProjectBuilder.class); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(); request.setSystemProperties(requiredSystemProperties()); request.setRepositorySession(repositorySystemSession); request.setProcessPlugins(false); request.setLocalRepository(lrs.createDefaultLocalRepository()); request.setRemoteRepositories( Arrays.asList(new ArtifactRepository[] { lrs.createDefaultRemoteRepository() }.clone())); ProjectBuildingResult result = projectBuilder.build(pomFile, request); pom = result.getProject(); } catch (Exception e) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } throw new RuntimeException("Error loading pom: " + pomFile.getAbsolutePath(), e); } Artifact rootArtifact = new DefaultArtifact(pom.getArtifact().getGroupId(), pom.getArtifact().getArtifactId(), pom.getArtifact().getClassifier(), pom.getArtifact().getType(), pom.getArtifact().getVersion(), null, new File(pom.getModel().getBuild().getOutputDirectory())); CollectRequest collectRequest = new CollectRequest(); for (org.apache.maven.model.Dependency dependency : pom.getDependencies()) { collectRequest.addDependency(toAetherDependency(dependency)); } for (RemoteRepository repository : pom.getRemoteProjectRepositories()) { collectRequest.addRepository(repository); } for (RemoteRepository repository : repositories) { collectRequest.addRepository(repository); } // Make sure we account for managed dependencies if (pom.getDependencyManagement() != null) { for (org.apache.maven.model.Dependency managedDependency : pom.getDependencyManagement() .getDependencies()) { collectRequest.addManagedDependency(toAetherDependency(managedDependency)); } } DependencyRequest dependencyRequest = new DependencyRequest(collectRequest, DependencyFilterUtils.classpathFilter(JavaScopes.RUNTIME)); List<Artifact> artifacts = resolveArtifacts(dependencyRequest); return ImmutableList.<Artifact>builder().add(rootArtifact).addAll(artifacts).build(); }
From source file:it.session.maven.plugin.TilesMavenLifecycleParticipant.java
License:Apache License
protected ArtifactRequest getArtifactRequestFromArtifact(Artifact tileArtifact, MavenProject mavenProject) { ArtifactRequest request = new ArtifactRequest(); request.setArtifact(tileArtifact);//from w w w . j av a2 s .co m request.setRepositories(mavenProject.getRemoteProjectRepositories()); return request; }
From source file:org.apache.karaf.tooling.features.DependencyHelperFactory.java
License:Apache License
/** * <p>Create a new {@link DependencyHelper} based on what has been found in {@link org.codehaus.plexus.PlexusContainer}</p> * * <p>{@code karaf-maven-plugin} depends on {@code maven-core:3.0}, so for Maven 3.0.x, it may use this API directly. * When using Maven 3.1.x/3.2.x, it should use reflection to invoke org.apache.maven.RepositoryUtils.toArtifact(Artifact) * as this method directly references specific Aether implementation.</p> * * <p>When {@code karaf-maven-plugin} switches to {@code maven-core:3.1.0+}, reflection should be use for Sonatype variant of Aether.</p> * * @param container//w ww .j av a 2s .com * @param mavenProject * @param mavenSession * @param log * @return * @throws MojoExecutionException */ public static DependencyHelper createDependencyHelper(PlexusContainer container, MavenProject mavenProject, MavenSession mavenSession, Log log) throws MojoExecutionException { try { if (container.hasComponent(org.sonatype.aether.RepositorySystem.class)) { org.sonatype.aether.RepositorySystem system = container .lookup(org.sonatype.aether.RepositorySystem.class); org.sonatype.aether.RepositorySystemSession session = mavenSession.getRepositorySession(); List<RemoteRepository> repositories = mavenProject.getRemoteProjectRepositories(); return new Dependency30Helper(repositories, session, system); } else if (container.hasComponent(org.eclipse.aether.RepositorySystem.class)) { org.eclipse.aether.RepositorySystem system = container .lookup(org.eclipse.aether.RepositorySystem.class); Object session; try { session = MavenSession.class.getMethod("getRepositorySession").invoke(mavenSession); } catch (Exception e) { throw new MojoExecutionException(e.getMessage(), e); } List<?> repositories = mavenProject.getRemoteProjectRepositories(); return new Dependency31Helper(repositories, session, system); } } catch (ComponentLookupException e) { throw new MojoExecutionException(e.getMessage(), e); } throw new MojoExecutionException( "Cannot locate either org.sonatype.aether.RepositorySystem or org.eclipse.aether.RepositorySystem"); }
From source file:org.apache.karaf.tooling.utils.DependencyHelperFactory.java
License:Apache License
/** * <p>Create a new {@link DependencyHelper} based on what has been found in {@link org.codehaus.plexus.PlexusContainer}</p> * * <p>{@code karaf-maven-plugin} depends on {@code maven-core:3.0}, so for Maven 3.0.x, it may use this API directly. * When using Maven 3.1.x/3.2.x, it should use reflection to invoke org.apache.maven.RepositoryUtils.toArtifact(Artifact) * as this method directly references specific Aether implementation.</p> * * <p>When {@code karaf-maven-plugin} switches to {@code maven-core:3.1.0+}, reflection should be use for Sonatype variant of Aether.</p> * * @param container/*from w ww . jav a 2s. c o m*/ * @param mavenProject * @param mavenSession * @param log * @return * @throws MojoExecutionException */ public static DependencyHelper createDependencyHelper(PlexusContainer container, MavenProject mavenProject, MavenSession mavenSession, Log log) throws MojoExecutionException { try { if (container.hasComponent("org.sonatype.aether.RepositorySystem")) { org.sonatype.aether.RepositorySystem system = container .lookup(org.sonatype.aether.RepositorySystem.class); org.sonatype.aether.RepositorySystemSession session = mavenSession.getRepositorySession(); List<RemoteRepository> repositories = mavenProject.getRemoteProjectRepositories(); return new Dependency30Helper(repositories, session, system); } else if (container.hasComponent("org.eclipse.aether.RepositorySystem")) { org.eclipse.aether.RepositorySystem system = container .lookup(org.eclipse.aether.RepositorySystem.class); Object session; try { session = MavenSession.class.getMethod("getRepositorySession").invoke(mavenSession); } catch (Exception e) { throw new MojoExecutionException(e.getMessage(), e); } List<?> repositories = mavenProject.getRemoteProjectRepositories(); return new Dependency31Helper(repositories, session, system); } } catch (ComponentLookupException e) { throw new MojoExecutionException(e.getMessage(), e); } throw new MojoExecutionException( "Cannot locate either org.sonatype.aether.RepositorySystem or org.eclipse.aether.RepositorySystem"); }
From source file:org.appformer.maven.integration.Aether.java
License:Apache License
private Collection<RemoteRepository> initRepositories(MavenProject mavenProject) { Collection<RemoteRepository> reps = new HashSet<RemoteRepository>(); reps.add(newCentralRepository());// www . j a v a 2 s.c o m if (mavenProject != null) { reps.addAll(mavenProject.getRemoteProjectRepositories()); } RemoteRepository localRepo = newLocalRepository(); if (localRepo != null) { localRepository = localRepo; } return reps; }
From source file:org.eclipse.m2e.core.embedder.MavenModelManager.java
License:Open Source License
DependencyNode readDependencyTree(RepositorySystemSession repositorySession, MavenProject mavenProject, String scope) throws CoreException { DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySession); DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer( new JavaEffectiveScopeCalculator(), new NearestVersionConflictResolver()); session.setDependencyGraphTransformer(transformer); ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try {/* ww w. j ava 2s.co m*/ Thread.currentThread().setContextClassLoader(maven.getProjectRealm(mavenProject)); ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry(); CollectRequest request = new CollectRequest(); request.setRequestContext("project"); //$NON-NLS-1$ request.setRepositories(mavenProject.getRemoteProjectRepositories()); for (org.apache.maven.model.Dependency dependency : mavenProject.getDependencies()) { request.addDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } DependencyManagement depMngt = mavenProject.getDependencyManagement(); if (depMngt != null) { for (org.apache.maven.model.Dependency dependency : depMngt.getDependencies()) { request.addManagedDependency(RepositoryUtils.toDependency(dependency, stereotypes)); } } DependencyNode node; try { node = MavenPluginActivator.getDefault().getRepositorySystem().collectDependencies(session, request) .getRoot(); } catch (DependencyCollectionException ex) { String msg = Messages.MavenModelManager_error_read; log.error(msg, ex); throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, msg, ex)); } Collection<String> scopes = new HashSet<String>(); Collections.addAll(scopes, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_COMPILE, Artifact.SCOPE_PROVIDED, Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST); if (Artifact.SCOPE_COMPILE.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); } else if (Artifact.SCOPE_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_RUNTIME); } else if (Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals(scope)) { scopes.remove(Artifact.SCOPE_COMPILE); scopes.remove(Artifact.SCOPE_SYSTEM); scopes.remove(Artifact.SCOPE_PROVIDED); scopes.remove(Artifact.SCOPE_RUNTIME); } else { scopes.clear(); } CloningDependencyVisitor cloner = new CloningDependencyVisitor(); node.accept(new FilteringDependencyVisitor(cloner, new ScopeDependencyFilter(null, scopes))); node = cloner.getRootNode(); return node; } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }