List of usage examples for org.apache.maven.project MavenProject getRemoteArtifactRepositories
public List<ArtifactRepository> getRemoteArtifactRepositories()
From source file:org.nuxeo.build.maven.AntBuildMojo.java
License:Open Source License
@Override public void resolveDependencyTree(Artifact artifact, ArtifactFilter filter, ResolutionListener listener) throws ArtifactResolutionException, ProjectBuildingException { MavenProject mavenProject = projectBuilder.buildFromRepository(artifact, remoteRepositories, localRepository);/*from www. jav a2 s. c om*/ ArtifactCollector collector = new DefaultArtifactCollector(); collector.collect(mavenProject.getDependencyArtifacts(), mavenProject.getArtifact(), mavenProject.getManagedVersionMap(), localRepository, mavenProject.getRemoteArtifactRepositories(), metadataSource, filter, Collections.singletonList(listener)); }
From source file:org.nuxeo.build.maven.EmbeddedMavenClient.java
License:Open Source License
public void resolveDependencyTree(Artifact artifact, ArtifactFilter filter, ResolutionListener listener) throws ArtifactResolutionException, ProjectBuildingException { MavenProject project = mavenProjectBuilder.buildFromRepository(artifact, getRemoteRepositories(), localRepository);/*from ww w . j a v a 2 s .c o m*/ @SuppressWarnings("rawtypes") Set dependencyArtifacts = project.getDependencyArtifacts(); if (dependencyArtifacts == null) { try { dependencyArtifacts = project.createArtifacts(artifactFactory, null, null); } catch (InvalidDependencyVersionException e) { throw new ArtifactResolutionException("Cannot set dependencies", artifact, e); } project.setDependencyArtifacts(dependencyArtifacts); } ArtifactCollector collector = new DefaultArtifactCollector(); collector.collect(dependencyArtifacts, project.getArtifact(), project.getManagedVersionMap(), localRepository, project.getRemoteArtifactRepositories(), artifactMetadataSource, filter, Collections.singletonList(listener)); }
From source file:org.phpmaven.project.impl.ProjectPhpExecution.java
License:Apache License
/** * Returns the maven project from given artifact. * @param project the maven project/* www . j av a 2 s . c o m*/ * @param a artifact * @return maven project * @throws ProjectBuildingException thrown if there are problems creating the project * @since 2.0.1 */ protected MavenProject getProjectFromArtifact(final MavenProject project, final Artifact a) throws ProjectBuildingException { final ProjectBuildingRequest request = session.getProjectBuildingRequest(); request.setLocalRepository(session.getLocalRepository()); request.setRemoteRepositories(project.getRemoteArtifactRepositories()); request.setResolveDependencies(false); request.setProcessPlugins(false); return this.mavenProjectBuilder.build(a, request).getProject(); }
From source file:org.seasar.kvasir.plust.KvasirPlugin.java
@SuppressWarnings("unchecked") public void resolveClasspathEntries(Set<IClasspathEntry> libraryEntries, Set<String> moduleArtifacts, IFile pomFile, boolean recursive, boolean downloadSources, IProgressMonitor monitor) { monitor.beginTask("Reading " + pomFile.getLocation(), IProgressMonitor.UNKNOWN); try {//ww w. j a va 2 s. c o m if (monitor.isCanceled()) { throw new OperationCanceledException(); } final MavenProject mavenProject = getMavenProject(pomFile, new SubProgressMonitor(monitor, 1)); if (mavenProject == null) { return; } deleteMarkers(pomFile); // TODO use version? moduleArtifacts.add(mavenProject.getGroupId() + ":" + mavenProject.getArtifactId()); Set artifacts = mavenProject.getArtifacts(); for (Iterator it = artifacts.iterator(); it.hasNext();) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } final Artifact a = (Artifact) it.next(); monitor.subTask("Processing " + a.getId()); if (!"jar".equals(a.getType())) { continue; } // TODO use version? if (!moduleArtifacts.contains(a.getGroupId() + ":" + a.getArtifactId()) && // TODO verify if there is an Eclipse API to check that archive is acceptable ("jar".equals(a.getType()) || "zip".equals(a.getType()))) { String artifactLocation = a.getFile().getAbsolutePath(); // TODO add a lookup through workspace projects Path srcPath = null; File srcFile = new File( artifactLocation.substring(0, artifactLocation.length() - 4) + "-sources.jar"); if (srcFile.exists()) { // XXX ugly hack to do not download any sources srcPath = new Path(srcFile.getAbsolutePath()); } else if (downloadSources && !isSourceChecked(a)) { srcPath = (Path) executeInEmbedder(new MavenEmbedderCallback() { public Object run(MavenEmbedder mavenEmbedder, IProgressMonitor monitor) { monitor.beginTask("Resolve sources " + a.getId(), IProgressMonitor.UNKNOWN); try { Artifact src = mavenEmbedder.createArtifactWithClassifier(a.getGroupId(), a.getArtifactId(), a.getVersion(), "java-source", "sources"); if (src != null) { mavenEmbedder.resolve(src, mavenProject.getRemoteArtifactRepositories(), mavenEmbedder.getLocalRepository()); return new Path(src.getFile().getAbsolutePath()); } } catch (AbstractArtifactResolutionException ex) { String name = ex.getGroupId() + ":" + ex.getArtifactId() + "-" + ex.getVersion() + "." + ex.getType(); getConsole().logMessage(ex.getOriginalMessage() + " " + name); } finally { monitor.done(); } return null; } }, new SubProgressMonitor(monitor, 1)); setSourceChecked(a); } libraryEntries.add(JavaCore.newLibraryEntry(new Path(artifactLocation), srcPath, null)); } } if (recursive) { IContainer parent = pomFile.getParent(); List modules = mavenProject.getModules(); for (Iterator it = modules.iterator(); it.hasNext() && !monitor.isCanceled();) { if (monitor.isCanceled()) { throw new OperationCanceledException(); } String module = (String) it.next(); IResource memberPom = parent.findMember(module + "/" + IKvasirProject.POM_FILE_NAME); if (memberPom != null && memberPom.getType() == IResource.FILE) { resolveClasspathEntries(libraryEntries, moduleArtifacts, (IFile) memberPom, true, downloadSources, new SubProgressMonitor(monitor, 1)); } } } } catch (OperationCanceledException ex) { throw ex; } catch (InvalidArtifactRTException ex) { addMarker(pomFile, ex.getBaseMessage(), 1, IMarker.SEVERITY_ERROR); } catch (Throwable ex) { addMarker(pomFile, ex.toString(), 1, IMarker.SEVERITY_ERROR); } finally { monitor.done(); } }
From source file:org.semver.enforcer.AbstractEnforcerRule.java
License:Apache License
@Override public void execute(final EnforcerRuleHelper helper) throws EnforcerRuleException { final MavenProject project = getMavenProject(helper); if (shouldSkipRuleExecution(project)) { helper.getLog().debug("Skipping non " + AbstractEnforcerRule.JAR_ARTIFACT_TYPE + " or " + BUNDLE_ARTIFACT_TYPE + " artifact."); return;// w ww.j a va 2s . c o m } final Artifact previousArtifact; final Artifact currentArtifact = validateArtifact(project.getArtifact()); final Version current = Version.parse(currentArtifact.getVersion()); try { final ArtifactRepository localRepository = (ArtifactRepository) helper.evaluate("${localRepository}"); final String version; if (this.previousVersion != null) { version = this.previousVersion; helper.getLog().info("Version specified as <" + version + ">"); } else { final ArtifactMetadataSource artifactMetadataSource = (ArtifactMetadataSource) helper .getComponent(ArtifactMetadataSource.class); final List<ArtifactVersion> availableVersions = getAvailableReleasedVersions(artifactMetadataSource, project, localRepository); final List<ArtifactVersion> availablePreviousVersions = filterNonPreviousVersions(availableVersions, current); if (availablePreviousVersions.isEmpty()) { helper.getLog() .warn("No previously released version. Backward compatibility check not performed."); return; } version = availablePreviousVersions.iterator().next().toString(); helper.getLog().info("Version deduced as <" + version + "> (among all availables: " + availablePreviousVersions + ")"); } final ArtifactFactory artifactFactory = (ArtifactFactory) helper.getComponent(ArtifactFactory.class); previousArtifact = artifactFactory.createArtifact(project.getGroupId(), project.getArtifactId(), version, null, project.getArtifact().getType()); final ArtifactResolver resolver = (ArtifactResolver) helper.getComponent(ArtifactResolver.class); resolver.resolve(previousArtifact, project.getRemoteArtifactRepositories(), localRepository); validateArtifact(previousArtifact); } catch (Exception e) { helper.getLog().warn("Exception while accessing artifacts; skipping check.", e); return; } final Version previous = Version.parse(previousArtifact.getVersion()); final File previousJar = previousArtifact.getFile(); final File currentJar = currentArtifact.getFile(); compareJars(helper, previous, previousJar, current, currentJar); }
From source file:org.semver.enforcer.AbstractEnforcerRule.java
License:Apache License
/** * @param artifactMetadataSource//from w w w. j a v a 2 s. c om * @param project * @param localRepository * @return all available versions from most recent to oldest * @throws ArtifactMetadataRetrievalException */ protected final List<ArtifactVersion> getAvailableReleasedVersions( final ArtifactMetadataSource artifactMetadataSource, final MavenProject project, final ArtifactRepository localRepository) throws ArtifactMetadataRetrievalException { final List<ArtifactVersion> availableVersions = artifactMetadataSource.retrieveAvailableVersions( project.getArtifact(), localRepository, project.getRemoteArtifactRepositories()); availableVersions.remove(new DefaultArtifactVersion(project.getArtifact().getVersion())); for (final Iterator<ArtifactVersion> iterator = availableVersions.iterator(); iterator.hasNext();) { final ArtifactVersion artifactVersion = iterator.next(); if (Version.parse(artifactVersion.toString()).isSnapshot()) { iterator.remove(); } } //TODO proper sorting based on Version Collections.sort(availableVersions); Collections.reverse(availableVersions); return availableVersions; }
From source file:org.sourcepit.b2.p2.MavenDependenciesSiteGenerator.java
License:Apache License
public void preInterpolation(AbstractModule module, final PropertiesSource moduleProperties) { final MavenSession session = legacySupport.getSession(); final MavenProject project = session.getCurrentProject(); final List<Dependency> dependencies = new ArrayList<Dependency>(filter(project.getDependencies(), JARS)); if (!dependencies.isEmpty()) { final IInterpolationLayout layout = layoutManager.getLayout(module.getLayoutId()); final File siteDir = new File(layout.pathOfMetaDataFile(module, "maven-dependencies")); final String repositoryName = "maven-dependencies@" + project.getArtifactId(); final List<ArtifactRepository> remoteRepositories = project.getRemoteArtifactRepositories(); final ArtifactRepository localRepository = session.getLocalRepository(); final Date startTime = session.getStartTime(); final String pattern = moduleProperties.get("osgifier.updateSiteBundles"); final PathMatcher bundleMatcher = pattern == null ? null : PathMatcher.parsePackagePatterns(pattern); BundleSelector bundleSelector = new AbstractBundleTreeSelector() { @Override/*from w w w .ja va2s . c om*/ public Collection<BundleCandidate> selectRootBundles(OsgifierContext bundleContext) { final DependencyModel dependencyModel = bundleContext.getExtension(DependencyModel.class); final Map<ArtifactKey, BundleCandidate> artifactKeyToBundle = new HashMap<ArtifactKey, BundleCandidate>(); for (BundleCandidate bundle : bundleContext.getBundles()) { artifactKeyToBundle.put(getArtifactKey(bundle), bundle); } final List<BundleCandidate> rootBundles = new ArrayList<BundleCandidate>(); for (MavenArtifact artifact : dependencyModel.getRootArtifacts()) { final BundleCandidate rootBundle = artifactKeyToBundle.get(artifact.getArtifactKey()); if (rootBundle != null && select(rootBundle)) { rootBundles.add(rootBundle); } } return rootBundles; } private ArtifactKey getArtifactKey(BundleCandidate bundle) { return bundle.getExtension(MavenArtifact.class).getArtifactKey(); } @Override public boolean select(Stack<BundleCandidate> path, BundleReference reference) { return !reference.isOptional() && super.select(path, reference); } @Override protected boolean select(BundleCandidate bundle) { return bundleMatcher == null || bundleMatcher.isMatch(bundle.getSymbolicName()); } }; final OsgifierContext bundleContext = updateSiteGenerator.generateUpdateSite(siteDir, dependencies, true, remoteRepositories, localRepository, repositoryName, moduleProperties, startTime, bundleSelector); try { module.setAnnotationData("b2.mavenDependencies", "repositoryURL", siteDir.toURI().toURL().toExternalForm()); } catch (MalformedURLException e) { throw pipe(e); } module.setAnnotationData("b2.mavenDependencies", "repositoryName", repositoryName); final Collection<BundleCandidate> selectedBundles = new LinkedHashSet<BundleCandidate>(); selectBundles(selectedBundles, bundleContext, bundleSelector); interpolatePlugins(module, moduleProperties, selectedBundles); } }
From source file:org.sourcepit.m2p2.osgi.embedder.maven.equinox.P2RepositoryCredentialsConfigurer.java
License:Apache License
@Override public void bundlesStarted(OSGiEmbedder embeddedEquinox) { final BundleContext bundleContext = embeddedEquinox.getBundleContext(); final ISecurePreferences securePreferences = getSecurePreferences(bundleContext); final MavenSession session = buildContext.getSession(); final MavenProject mavenProject = session.getCurrentProject(); final List<ArtifactRepository> repositories = mavenProject.getRemoteArtifactRepositories(); final LogService logger = getService(bundleContext, LogService.class); final List<Server> servers = session.getSettings().getServers(); MavenRepositories.applyMavenP2Repositories(securePreferences, settingsDecrypter, servers, repositories, logger);/*from w w w .ja v a 2 s . c o m*/ }
From source file:org.sourcepit.maven.bootstrap.core.AbstractBootstrapper.java
License:Apache License
private ArtifactResolutionResult resolve(MavenSession session, MavenProject project, Dependency dependency) { final ArtifactResolutionRequest request = new ArtifactResolutionRequest(); request.setResolveRoot(true);/*from w w w. j a v a2 s . co m*/ request.setResolveTransitively(true); final AndArtifactFilter artifactFilter = new AndArtifactFilter(); artifactFilter.add(new ScopeArtifactFilter(org.apache.maven.artifact.Artifact.SCOPE_RUNTIME_PLUS_SYSTEM)); artifactFilter.add(new ExclusionSetFilter(artifactFilterManager.getCoreArtifactExcludes())); request.setResolutionFilter(artifactFilter); request.setCollectionFilter(artifactFilter); final MavenExecutionRequest executionRequest = session.getRequest(); request.setForceUpdate(executionRequest.isUpdateSnapshots()); request.setServers(executionRequest.getServers()); request.setMirrors(executionRequest.getMirrors()); request.setProxies(executionRequest.getProxies()); request.setOffline(session.isOffline()); request.setLocalRepository(session.getLocalRepository()); // project specific request.setRemoteRepositories(project.getRemoteArtifactRepositories()); // important to NOT apply dep management here, leeds to unexpected side effects, e.g. when osgifier is managed in // project which is build. So separate deps from project which is build and build system is a good thing. // Note: we must explicitly set an empty map to prevent managed version resolution via maven session request.setManagedVersionMap(new HashMap<String, Artifact>()); request.setArtifact(repositorySystem.createDependencyArtifact(dependency)); final ArtifactResolutionResult result = repositorySystem.resolve(request); try { resolutionErrorHandler.throwErrors(request, result); } catch (ArtifactResolutionException e) { throw new IllegalStateException(e); } return result; }
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 . com 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(); }