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:com.github.alexfalappa.nbspringboot.projects.service.spi.SpringBootServiceImpl.java

License:Apache License

private boolean dependencyArtifactIdContains(NbMavenProject nbMvn, String artifactId) {
    MavenProject mPrj = nbMvn.getMavenProject();
    for (Object o : mPrj.getDependencies()) {
        Dependency d = (Dependency) o;// www. j  ava  2s  .c  om
        if (d.getArtifactId().contains(artifactId)) {
            return true;
        }
    }
    return false;
}

From source file:com.github.ferstl.maven.pomenforcers.PedanticDependencyOrderEnforcer.java

License:Apache License

@Override
protected Collection<Dependency> getMavenDependencies(MavenProject project) {
    return project.getDependencies();
}

From source file:com.github.zhve.ideaplugin.ArtifactDependencyResolver.java

License:Apache License

/**
 * Transitive resolve all dependencies for reactor projects
 *
 * @param artifactFactory standard Maven's factory to create artifacts
 * @param reactorArtifacts reactor artifacts
 * @param reactorProjects reactor projects
 * @return dependency map: reactor project -> dependency data
 * @throws InvalidVersionSpecificationException error
 *//*w  ww.jav  a2s  .c  om*/
private Map<MavenProject, DependencyData> findDependencies(Log log, ArtifactFactory artifactFactory,
        Set<Artifact> reactorArtifacts, List<MavenProject> reactorProjects)
        throws InvalidVersionSpecificationException {
    // artifact -> all transitive dependencies
    Map<Artifact, DependencyData> dependencyMap = new HashMap<Artifact, DependencyData>();
    log.info("");
    log.info("Detect Dependencies");
    for (MavenProject project : reactorProjects) {
        log.info("");
        log.info(project.getId());
        List<Artifact> remoteData = new ArrayList<Artifact>();
        List<Artifact> reactorData = new ArrayList<Artifact>();
        for (Object object : project.getDependencies()) {
            Dependency dependency = (Dependency) object;
            Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency);
            boolean reactor = reactorArtifacts.contains(dependencyArtifact);
            String id = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope();
            if ("jar".equals(dependencyArtifact.getType())) {
                if (reactor) {
                    log.info("R " + id);
                    reactorData.add(dependencyArtifact);
                } else {
                    log.info("  " + id);
                    remoteData.add(dependencyArtifact);
                }
            } else {
                log.info("O " + id + " (type=" + dependencyArtifact.getType() + ")");
            }
        }

        // save dependency data for project
        dependencyMap.put(project.getArtifact(), new DependencyData(remoteData, reactorData));
    }

    log.info("");
    log.info("Resolve Dependencies");
    Map<MavenProject, DependencyData> result = new LinkedHashMap<MavenProject, DependencyData>();
    for (MavenProject project : reactorProjects) {
        log.info("");
        log.info(project.getId());
        Map<String, Artifact> reactorData = new LinkedHashMap<String, Artifact>();
        Map<String, Artifact> remoteData = new LinkedHashMap<String, Artifact>();

        Queue<Artifact> queue = new LinkedList<Artifact>();
        queue.add(project.getArtifact());
        while (!queue.isEmpty()) {
            Artifact artifact = queue.poll();
            log.info("# " + artifact.getId() + ":" + artifact.getScope());
            DependencyData artifactDependencyData = dependencyMap.get(artifact);

            // analyze all remote dependencies for given level
            for (Artifact dependency : artifactDependencyData.getRemoteList()) {
                String dependencyConflictId = dependency.getDependencyConflictId();
                Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency,
                        artifact.getScope());
                if (dependencyArtifact != null) {
                    String fullName = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope();
                    Artifact prevArtifact = remoteData.get(dependencyConflictId);
                    if (prevArtifact == null) {
                        // new remote dependency
                        log.info("  " + fullName);
                        remoteData.put(dependencyConflictId, dependencyArtifact);
                    } else {
                        // we have already added this remote dependency
                        if (prevArtifact.getId().equals(dependencyArtifact.getId())) {
                            log.info("D " + fullName);
                        } else {
                            log.info("C " + fullName);
                            log.info("  " + project.getArtifact().getId());
                            log.info("  " + "+-" + prevArtifact.getId() + ":" + prevArtifact.getScope());
                            log.info("  " + "+-" + artifact.getId() + ":" + artifact.getScope());
                            log.info("  " + "  \\-" + fullName);
                        }
                    }
                } else {
                    log.info("O " + dependency.getId() + ":" + dependency.getScope() + " (inherit="
                            + artifact.getId() + ":" + artifact.getScope() + ")");
                }
            }

            // analyze all reactor dependencies for given level
            for (Artifact dependency : artifactDependencyData.getReactorList()) {
                String dependencyConflictId = dependency.getDependencyConflictId();
                Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency,
                        artifact.getScope());
                if (dependencyArtifact != null) {
                    String fullName = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope();
                    Artifact prevArtifact = reactorData.get(dependencyConflictId);
                    if (prevArtifact == null) {
                        // new reactor dependency
                        log.info("R " + fullName);
                        reactorData.put(dependencyConflictId, dependencyArtifact);
                        // go deep
                        queue.add(dependencyArtifact);
                    } else {
                        // we have already added this remote dependency
                        if (prevArtifact.getId().equals(dependencyArtifact.getId())) {
                            log.info("D " + fullName);
                        } else {
                            log.info("C " + fullName);
                            log.info("  " + project.getArtifact().getId());
                            log.info("  " + "+-" + prevArtifact.getId() + ":" + prevArtifact.getScope());
                            log.info("  " + "+-" + artifact.getId() + ":" + artifact.getScope());
                            log.info("  " + "  \\-" + fullName);
                        }
                    }
                } else {
                    log.info("O " + dependency.getId() + ":" + dependency.getScope() + " (inherit="
                            + artifact.getId() + ":" + artifact.getScope() + ")");
                }
            }
        }
        result.put(project, new DependencyData(new ArrayList<Artifact>(remoteData.values()),
                new ArrayList<Artifact>(reactorData.values())));
    }
    return result;
}

From source file:com.google.gdt.eclipse.maven.configurators.MavenProjectConfigurator.java

License:Open Source License

/**
 * Configure the GWT Nature.//from   w  w  w.  java2s. com
 *
 * @param mavenProject
 * @param monitor
 */
protected void configureGwtProject(MavenProject mavenProject, IProgressMonitor monitor) {
    // Get the GWT version from the project pom
    String gwtVersion = null;
    List<Dependency> dependencies = mavenProject.getDependencies();
    for (Dependency dependency : dependencies) {
        boolean hasGwtGroupId = GWTMavenRuntime.MAVEN_GWT_GROUP_ID.equals(dependency.getGroupId());
        boolean hasGwtUserArtivactId = GWTMavenRuntime.MAVEN_GWT_USER_ARTIFACT_ID
                .equals(dependency.getArtifactId());
        boolean hasGwtUserServletId = GWTMavenRuntime.MAVEN_GWT_SERVLET_ARTIFACT_ID
                .equals(dependency.getArtifactId());
        if (hasGwtGroupId && (hasGwtUserArtivactId || hasGwtUserServletId)) {
            gwtVersion = dependency.getVersion();
            Activator.log("MavenProjectConfigurator, Maven: Setting up Gwt Project. hasGwtGroupId="
                    + hasGwtGroupId + " hasGwtUser=" + hasGwtUserArtivactId + " hasGwtUserServletId="
                    + hasGwtUserServletId);
            break;
        }
    }

    Activator.log("MavenProjectConfigurator, Maven: gwtVersion=" + gwtVersion);

    resolveGwtDevJar(mavenProject, monitor, gwtVersion);
}

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  w  w w  . j  a va  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.googlecode.japi.checker.maven.plugin.RuntimeDependencyResolver.java

License:Apache License

/**
 * Download (if necessary) a pom, and load it as a MavenProject, transitively resolving any
 * dependencies therein./* w w  w  .  ja  va 2  s.c o m*/
 * 
 * @param projectBuilder
 * @param groupId
 * @param artifactId
 * @param versionId
 * @return a Set of Artifacts representing the transitively resolved dependencies.
 * @throws MalformedURLException
 * @throws ProjectBuildingException
 * @throws InvalidDependencyVersionException
 * @throws ArtifactResolutionException
 * @throws ArtifactNotFoundException
 */
public Set<Artifact> transitivelyResolvePomDependencies(MavenProjectBuilder projectBuilder, String groupId,
        String artifactId, String versionId, boolean resolveProjectArtifact)
        throws MalformedURLException, ProjectBuildingException, InvalidDependencyVersionException,
        ArtifactResolutionException, ArtifactNotFoundException {

    Artifact pomArtifact = getPomArtifact(groupId, artifactId, versionId);
    MavenProject project = loadPomAsProject(projectBuilder, pomArtifact);
    @SuppressWarnings("rawtypes")
    List dependencies = project.getDependencies();

    @SuppressWarnings("unchecked")
    Set<Artifact> dependencyArtifacts = MavenMetadataSource.createArtifacts(artifactFactory, dependencies, null,
            null, null);
    dependencyArtifacts.add(project.getArtifact());

    @SuppressWarnings("rawtypes")
    List listeners = Collections.EMPTY_LIST;

    ArtifactResolutionResult result = artifactResolver.resolveTransitively(dependencyArtifacts, pomArtifact,
            Collections.EMPTY_MAP, localRepository, remoteRepositories, metadataSource, null, listeners);

    @SuppressWarnings("unchecked")
    Set<Artifact> artifacts = result.getArtifacts();

    LOGGER.fine("RESOLVED " + artifacts.size() + " ARTIFACTS");
    Iterator<Artifact> itor = artifacts.iterator();
    while (itor.hasNext()) {
        Artifact a = (Artifact) itor.next();
        LOGGER.fine(a.getFile().toURI().toURL().toString());
    }
    return artifacts;
}

From source file:com.liferay.ide.maven.core.LiferayPortalMaven.java

License:Open Source License

@Override
public String getVersion() {
    String retval = null;/* ww  w. j a v a  2  s  . c  o  m*/
    final IMavenProjectFacade projectFacade = MavenUtil.getProjectFacade(this.lrMvnProject.getProject());

    if (projectFacade != null) {
        try {
            final MavenProject mavenProject = projectFacade.getMavenProject(new NullProgressMonitor());

            String liferayVersion = MavenUtil.getLiferayMavenPluginConfig(mavenProject,
                    ILiferayMavenConstants.PLUGIN_CONFIG_LIFERAY_VERSION);

            if (liferayVersion == null) {
                liferayVersion = mavenProject.getProperties().getProperty("liferay.version");

                if (liferayVersion == null) {
                    // look through dependencies for portal-service
                    final List<Dependency> deps = mavenProject.getDependencies();

                    if (deps != null) {
                        for (Dependency dep : deps) {
                            if (dep.getArtifactId().startsWith("portal-")
                                    && dep.getGroupId().startsWith("com.liferay")) {
                                liferayVersion = dep.getVersion();
                                break;
                            }
                        }
                    }
                }
            }

            if (liferayVersion != null) {
                retval = MavenUtil.getVersion(liferayVersion);
            }
        } catch (CoreException e) {
        }
    }

    return retval;
}

From source file:com.liferay.ide.maven.core.MavenProjectBuilder.java

License:Open Source License

@Override
public IStatus updateProjectDependency(IProject project, List<String[]> dependencies) throws CoreException {
    IMavenProjectFacade projectFacade = MavenUtil.getProjectFacade(project, new NullProgressMonitor());

    if (projectFacade != null) {
        MavenProject mavenProject = projectFacade.getMavenProject(new NullProgressMonitor());
        List<Dependency> existedDependencies = mavenProject.getDependencies();

        final IMaven maven = MavenPlugin.getMaven();
        File pomFile = new File(project.getLocation().toOSString(), IMavenConstants.POM_FILE_NAME);
        Model model = maven.readModel(pomFile);

        for (String[] dependency : dependencies) {
            Dependency de = new Dependency();
            de.setGroupId(dependency[0]);
            de.setArtifactId(dependency[1]);
            de.setVersion(dependency[2]);
            String newKey = de.getManagementKey();

            boolean existed = false;

            for (Dependency existedDependency : existedDependencies) {
                String existedKey = existedDependency.getManagementKey();
                if (existedKey.equals(newKey)) {
                    existed = true;//from w w  w. j a  va 2 s  .  c om
                    break;
                }
            }

            if (existed == false && model != null) {
                model.addDependency(de);
            }
        }

        try (FileOutputStream out = new FileOutputStream(pomFile)) {
            maven.writeModel(model, out);
            out.flush();
            out.close();

            final WorkspaceJob job = new WorkspaceJob("Updating project " + project.getName()) {

                public IStatus runInWorkspace(IProgressMonitor monitor) {
                    try {
                        project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
                        MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project,
                                monitor);
                    } catch (CoreException ex) {
                        return ex.getStatus();
                    }

                    return Status.OK_STATUS;
                }
            };
            job.schedule();
        } catch (Exception e) {
            return LiferayMavenCore.createErrorStatus("Error updating maven project dependency", e);
        }
    }

    return Status.OK_STATUS;
}

From source file:com.liferay.maven.plugins.AbstractToolsLiferayMojo.java

License:Open Source License

protected void copyLibraryDependencies(File libDir, Artifact artifact, boolean dependencyAddVersion,
        boolean dependencyAddClassifier, boolean copyTransitive) throws Exception {

    MavenProject mavenProject = resolveProject(artifact);

    List<Dependency> dependencies = mavenProject.getDependencies();

    for (Dependency dependency : dependencies) {
        String scope = dependency.getScope();

        if (Validator.isNotNull(scope)
                && (scope.equalsIgnoreCase("provided") || scope.equalsIgnoreCase("test"))) {

            continue;
        }/* w  w w  .j a  va  2s.c  om*/

        String type = dependency.getType();

        if (type.equalsIgnoreCase("pom")) {
            continue;
        }

        Artifact libArtifact = resolveArtifact(dependency);

        String libJarFileName = libArtifact.getArtifactId();

        if (dependencyAddVersion) {
            if (Validator.isNotNull(libArtifact.getVersion())) {
                libJarFileName += "-" + libArtifact.getVersion();
            }
        }

        if (dependencyAddClassifier) {
            if (Validator.isNotNull(libArtifact.getClassifier())) {
                libJarFileName += "-" + libArtifact.getClassifier();
            }
        }

        File libArtifactFile = libArtifact.getFile();

        libJarFileName += "." + FileUtil.getExtension(libArtifactFile.getName());

        CopyTask.copyFile(libArtifactFile, libDir, libJarFileName, null, true, true);

        if (copyTransitive) {
            copyLibraryDependencies(libDir, libArtifact, dependencyAddVersion, dependencyAddClassifier,
                    copyTransitive);
        }
    }
}

From source file:com.mebigfatguy.fbp.FBPMojo.java

License:Apache License

@Override
public void execute() throws MojoExecutionException {

    if (executed) {
        return;/*from  w w  w. ja v a2  s  .  co  m*/
    }
    executed = true;

    try (PrintWriter pw = getFBPStream()) {

        pw.println("<Project projectName=\"" + project.getName() + "\">");

        List<MavenProject> projects = session.getProjectDependencyGraph().getSortedProjects();

        Set<String> jars = new TreeSet<>();
        for (MavenProject module : projects) {
            jars.add(module.getBuild().getOutputDirectory());
        }

        for (String jar : jars) {
            pw.println("\t<Jar>" + makeRelativePath(jar) + "</Jar>");
        }

        Set<Dependency> dependencies = new TreeSet<>(new DependencyComparator());
        for (MavenProject module : projects) {
            dependencies.addAll(module.getDependencies());
        }

        String localRepo = settings.getLocalRepository();
        if (!localRepo.endsWith("/") && !localRepo.endsWith("\\")) {
            localRepo += "/";
        }

        for (Dependency dependency : dependencies) {
            pw.println("\t<AuxClasspathEntry>" + localRepo + dependency.getGroupId().replace('.', '/') + "/"
                    + dependency.getArtifactId() + "/" + dependency.getVersion() + "/"
                    + dependency.getArtifactId() + "-" + dependency.getVersion() + "." + dependency.getType()
                    + "</AuxClasspathEntry>");
        }

        Set<String> srcRoots = new TreeSet<>();
        for (MavenProject module : projects) {
            srcRoots.addAll(module.getCompileSourceRoots());
        }

        for (String srcRoot : srcRoots) {
            pw.println("\t<SrcDir>" + makeRelativePath(srcRoot) + "</SrcDir>");
        }

        pw.println("</Project>");

    } catch (IOException e) {
        throw new MojoExecutionException("Failed to generate fbp file", e);
    }
}