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

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

Introduction

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

Prototype

public List<Dependency> getDependencies() 

Source Link

Usage

From source file:org.deegree.maven.utils.ClasspathHelper.java

License:Open Source License

private static Set<?> resolveDeps(MavenProject project, ArtifactResolver artifactResolver,
        ArtifactFactory artifactFactory, ArtifactMetadataSource metadataSource,
        ArtifactRepository localRepository)
        throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException {

    List<?> dependencies = project.getDependencies();

    Set<Artifact> dependencyArtifacts = createArtifacts(artifactFactory, dependencies, null, null, null);

    dependencyArtifacts.add(project.getArtifact());

    ArtifactResolutionResult result = artifactResolver.resolveTransitively(dependencyArtifacts,
            project.getArtifact(), EMPTY_MAP, localRepository, project.getRemoteArtifactRepositories(),
            metadataSource, null, EMPTY_LIST);

    return result.getArtifacts();
}

From source file:org.ebayopensource.turmeric.eclipse.mavenapi.impl.AbstractMavenApi.java

License:Open Source License

private void resolveArtifactDependencies(MavenImpl embedder, RepositorySystem repoSystem, Artifact artifact,
        Set<Artifact> result) throws MavenEclipseApiException {
    try {/*from  w w w .  ja v a 2 s  .  c  o  m*/
        MavenProject mProject = resolveArtifactAsProject(artifact);
        for (Dependency dep : mProject.getDependencies()) {
            ArtifactScopeEnum scope = ArtifactScopeEnum.valueOf(dep.getScope());
            if (ArtifactScopeEnum.test.equals(scope) == false) {
                Artifact art = resolveArtifact(embedder, repoSystem,
                        new EclipseArtifactMetadata(dep.getGroupId(), dep.getArtifactId(), dep.getVersion(),
                                dep.getType(), scope, dep.getClassifier()));
                if (result.contains(art) == false) {
                    result.add(art);
                    resolveArtifactDependencies(embedder, repoSystem, art, result);
                }
            }
        }
    } catch (Exception e) {
        //ignore this one
    }
}

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 {//w  w w. j av a2 s.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);
    }
}

From source file:org.eclipse.m2e.core.internal.markers.SourceLocationHelper.java

License:Open Source License

private static org.apache.maven.model.Dependency getMavenDependency(MavenProject mavenProject,
        Dependency dependency) {//from  w w w  . ja  va  2 s. c o m
    for (org.apache.maven.model.Dependency mavenDependency : mavenProject.getDependencies()) {
        if (mavenDependency.getArtifactId().equals(dependency.getArtifact().getArtifactId())
                && mavenDependency.getGroupId().equals(dependency.getArtifact().getGroupId())
                && mavenDependency.getVersion().equals(dependency.getArtifact().getVersion())
                && eq(mavenDependency.getClassifier(), dependency.getArtifact().getClassifier())) {
            return mavenDependency;
        }
    }
    return null;
}

From source file:org.eclipse.m2e.editor.composites.DependenciesComposite.java

License:Open Source License

protected void setDependenciesInput() {
    resetDependencies();/*from ww  w  .  j  a v  a 2s . co  m*/
    List<Object> deps = new ArrayList<Object>();
    deps.addAll(getDependencies());

    if (showInheritedDependencies) {

        /*
         * Add the inherited dependencies into the bunch. But don't we need to
         * filter out the dependencies that are duplicated in the M2E model, so
         * we need to run through each list and only add ones that aren't in both.
         */
        List<org.apache.maven.model.Dependency> allDeps = new LinkedList<org.apache.maven.model.Dependency>();
        MavenProject mp = pomEditor.getMavenProject();
        if (mp != null) {
            allDeps.addAll(mp.getDependencies());
        }
        for (org.apache.maven.model.Dependency mavenDep : allDeps) {
            boolean found = false;
            Iterator<Dependency> iter = getDependencies().iterator();
            while (!found && iter.hasNext()) {
                Dependency m2eDep = iter.next();
                if (mavenDep.getGroupId().equals(m2eDep.groupId)
                        && mavenDep.getArtifactId().equals(m2eDep.artifactId)) {
                    found = true;
                }
            }
            if (!found) {
                //now check the temporary keys
                if (!temporaryRemovedDependencies
                        .contains(mavenDep.getGroupId() + ":" + mavenDep.getArtifactId())) {
                    deps.add(mavenDep);
                }
            }
        }
    }
    dependenciesEditor.setInput(deps);
}

From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalDependencyResolver.java

License:Open Source License

private void addDependencies(MavenSession session, MavenProject project, DefaultDependencyArtifacts platform) {
    TargetPlatformConfiguration configuration = (TargetPlatformConfiguration) project
            .getContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION);

    if (configuration != null && TargetPlatformConfiguration.POM_DEPENDENCIES_CONSIDER
            .equals(configuration.getPomDependencies())) {
        Map<String, MavenProject> projectIds = new HashMap<String, MavenProject>(
                session.getProjects().size() * 2);
        // make a list of reactor projects
        for (MavenProject p : session.getProjects()) {
            String key = ArtifactUtils.key(p.getGroupId(), p.getArtifactId(), p.getVersion());
            projectIds.put(key, p);/*w ww.j  ava2s .c om*/
        }
        // handle dependencies that are in reactor
        for (Dependency dependency : project.getDependencies()) {
            if (Artifact.SCOPE_COMPILE.equals(dependency.getScope())) {
                String key = ArtifactUtils.key(dependency.getGroupId(), dependency.getArtifactId(),
                        dependency.getVersion());
                if (projectIds.containsKey(key)) {
                    MavenProject dependent = projectIds.get(key);
                    ArtifactKey artifactKey = getArtifactKey(session, dependent);
                    if (artifactKey != null) {
                        platform.removeAll(artifactKey.getType(), artifactKey.getId());
                        ReactorProject projectProxy = DefaultReactorProject.adapt(dependent);
                        platform.addReactorArtifact(artifactKey, projectProxy, null, null);
                        if (getLogger().isDebugEnabled()) {
                            getLogger().debug("Add Maven project " + artifactKey);
                        }
                    }
                }
            }
        }
        // handle rest of dependencies
        ArrayList<String> scopes = new ArrayList<String>();
        scopes.add(Artifact.SCOPE_COMPILE);
        Collection<Artifact> artifacts;
        try {
            artifacts = projectDependenciesResolver.resolve(project, scopes, session);
        } catch (MultipleArtifactsNotFoundException e) {
            Collection<Artifact> missing = new HashSet<Artifact>(e.getMissingArtifacts());

            for (Iterator<Artifact> it = missing.iterator(); it.hasNext();) {
                Artifact a = it.next();
                String key = ArtifactUtils.key(a.getGroupId(), a.getArtifactId(), a.getBaseVersion());
                if (projectIds.containsKey(key)) {
                    it.remove();
                }
            }

            if (!missing.isEmpty()) {
                throw new RuntimeException("Could not resolve project dependencies", e);
            }

            artifacts = e.getResolvedArtifacts();
            artifacts.removeAll(e.getMissingArtifacts());
        } catch (AbstractArtifactResolutionException e) {
            throw new RuntimeException("Could not resolve project dependencies", e);
        }
        for (Artifact artifact : artifacts) {
            String key = ArtifactUtils.key(artifact.getGroupId(), artifact.getArtifactId(),
                    artifact.getBaseVersion());
            if (!projectIds.containsKey(key)) {
                File plugin = artifact.getFile();
                ArtifactKey artifactKey = getArtifactKey(session, plugin);

                if (artifactKey != null) {
                    platform.addArtifactFile(artifactKey, plugin, null);
                    if (getLogger().isDebugEnabled()) {
                        getLogger().debug("Add Maven artifact " + artifactKey);
                    }
                }
            }
        }
    }
}

From source file:org.eclipse.tycho.core.osgitools.targetplatform.LocalTargetPlatformResolver.java

License:Open Source License

private void addDependencies(MavenSession session, MavenProject project, DefaultTargetPlatform platform) {
    TargetPlatformConfiguration configuration = (TargetPlatformConfiguration) project
            .getContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION);

    if (configuration != null && TargetPlatformConfiguration.POM_DEPENDENCIES_CONSIDER
            .equals(configuration.getPomDependencies())) {
        Map<String, MavenProject> projectIds = new HashMap<String, MavenProject>(
                session.getProjects().size() * 2);
        // make a list of reactor projects
        for (MavenProject p : session.getProjects()) {
            String key = ArtifactUtils.key(p.getGroupId(), p.getArtifactId(), p.getVersion());
            projectIds.put(key, p);/*from  w ww.j ava  2  s.c  o m*/
        }
        // handle dependencies that are in reactor
        for (Dependency dependency : project.getDependencies()) {
            if (Artifact.SCOPE_COMPILE.equals(dependency.getScope())) {
                String key = ArtifactUtils.key(dependency.getGroupId(), dependency.getArtifactId(),
                        dependency.getVersion());
                if (projectIds.containsKey(key)) {
                    MavenProject dependent = projectIds.get(key);
                    ArtifactKey artifactKey = getArtifactKey(session, dependent);
                    if (artifactKey != null) {
                        platform.removeAll(artifactKey.getType(), artifactKey.getId());
                        ReactorProject projectProxy = DefaultReactorProject.adapt(dependent);
                        platform.addReactorArtifact(artifactKey, projectProxy, null, null);
                        if (getLogger().isDebugEnabled()) {
                            getLogger().debug("Add Maven project " + artifactKey);
                        }
                    }
                }
            }
        }
        // handle rest of dependencies
        ArrayList<String> scopes = new ArrayList<String>();
        scopes.add(Artifact.SCOPE_COMPILE);
        Collection<Artifact> artifacts;
        try {
            artifacts = projectDependenciesResolver.resolve(project, scopes, session);
        } catch (MultipleArtifactsNotFoundException e) {
            Collection<Artifact> missing = new HashSet<Artifact>(e.getMissingArtifacts());

            for (Iterator<Artifact> it = missing.iterator(); it.hasNext();) {
                Artifact a = it.next();
                String key = ArtifactUtils.key(a.getGroupId(), a.getArtifactId(), a.getBaseVersion());
                if (projectIds.containsKey(key)) {
                    it.remove();
                }
            }

            if (!missing.isEmpty()) {
                throw new RuntimeException("Could not resolve project dependencies", e);
            }

            artifacts = e.getResolvedArtifacts();
            artifacts.removeAll(e.getMissingArtifacts());
        } catch (AbstractArtifactResolutionException e) {
            throw new RuntimeException("Could not resolve project dependencies", e);
        }
        for (Artifact artifact : artifacts) {
            String key = ArtifactUtils.key(artifact.getGroupId(), artifact.getArtifactId(),
                    artifact.getBaseVersion());
            if (!projectIds.containsKey(key)) {
                File plugin = artifact.getFile();
                ArtifactKey artifactKey = getArtifactKey(session, plugin);

                if (artifactKey != null) {
                    platform.addArtifactFile(artifactKey, plugin, null);
                    if (getLogger().isDebugEnabled()) {
                        getLogger().debug("Add Maven artifact " + artifactKey);
                    }
                }
            }
        }
    }
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.java

License:Open Source License

public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;//w w  w  .java 2  s  .  c  om
    }

    TargetPlatformResolver resolver = targetPlatformResolverLocator.lookupPlatformResolver(project);

    // TODO 364134 cache target platform (e.g. by checking if there is already an attached target platform)
    logger.info("Computing target platform for " + project);
    TargetPlatform targetPlatform = resolver.computeTargetPlatform(session, project, reactorProjects);

    dr.setTargetPlatform(project, targetPlatform);

    TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project);

    DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration();

    logger.info("Resolving dependencies of " + project);
    DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project, targetPlatform,
            reactorProjects, resolverConfiguration);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Resolved target platform for ").append(project).append("\n");
        dependencyArtifacts.toDebugString(sb, "  ");
        logger.debug(sb.toString());
    }

    dr.setDependencyArtifacts(session, project, dependencyArtifacts);

    logger.info("Resolving class path of " + project);
    dr.resolveClassPath(session, project);

    resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Injected dependencies for ").append(project.toString()).append("\n");
        for (Dependency dependency : project.getDependencies()) {
            sb.append("  ").append(dependency.toString());
        }
        logger.debug(sb.toString());
    }
}

From source file:org.eclipse.tycho.core.resolver.DefaultTychoResolver.java

License:Open Source License

@Override
public void resolveProject(MavenSession session, MavenProject project, List<ReactorProject> reactorProjects) {
    AbstractTychoProject dr = (AbstractTychoProject) projectTypes.get(project.getPackaging());
    if (dr == null) {
        return;/* w  w  w  .java2  s.c  om*/
    }

    DependencyResolver resolver = dependencyResolverLocator.lookupDependencyResolver(project);

    logger.info("Computing target platform for " + project);
    TargetPlatform preliminaryTargetPlatform = resolver.computePreliminaryTargetPlatform(session, project,
            reactorProjects);

    TargetPlatformConfiguration configuration = TychoProjectUtils.getTargetPlatformConfiguration(project);

    DependencyResolverConfiguration resolverConfiguration = configuration.getDependencyResolverConfiguration();

    logger.info("Resolving dependencies of " + project);
    DependencyArtifacts dependencyArtifacts = resolver.resolveDependencies(session, project,
            preliminaryTargetPlatform, reactorProjects, resolverConfiguration);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Resolved target platform for ").append(project).append("\n");
        dependencyArtifacts.toDebugString(sb, "  ");
        logger.debug(sb.toString());
    }

    dr.setDependencyArtifacts(session, project, dependencyArtifacts);

    logger.info("Resolving class path of " + project);
    dr.resolveClassPath(session, project);

    resolver.injectDependenciesIntoMavenModel(project, dr, dependencyArtifacts, logger);

    if (logger.isDebugEnabled() && DebugUtils.isDebugEnabled(session, project)) {
        StringBuilder sb = new StringBuilder();
        sb.append("Injected dependencies for ").append(project.toString()).append("\n");
        for (Dependency dependency : project.getDependencies()) {
            sb.append("  ").append(dependency.toString());
        }
        logger.debug(sb.toString());
    }
}

From source file:org.eclipse.tycho.extras.docbundle.JavadocMojo.java

License:Open Source License

private void visitDeps(final Dependency dep, final ProjectVisitor visitor, final Set<String> scopes)
        throws MojoExecutionException {
    final MavenProject project = findProject(dep.getGroupId(), dep.getArtifactId());
    if (project == null) {
        getLog().info(String.format("Did not find project %s in reactor", dep));
        return;//from   w  w  w .  j  ava  2s. c o m
    }

    getLog().debug("Adding sources from: " + project);

    visitor.visit(project);

    getLog().debug("Scanning dependencies: " + project.getDependencies().size());
    visitProjects(project.getDependencies(), scopes, visitor);

    getLog().debug("Done processing: " + project);
}