Example usage for org.apache.maven.project MavenProject getRemoteArtifactRepositories

List of usage examples for org.apache.maven.project MavenProject getRemoteArtifactRepositories

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getRemoteArtifactRepositories.

Prototype

public List<ArtifactRepository> getRemoteArtifactRepositories() 

Source Link

Usage

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();
}