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:governance.plugin.GovernanceMojo.java

License:Apache License

public void process(File file) throws MojoExecutionException {
    if (file.isFile() && file.getName().equals("pom.xml")) {
        pomFileCount++;/*from  ww w  .j a v  a 2  s. c  o m*/
        getLog().debug("Processing " + file.getAbsoluteFile());

        Model model = PomParser.parse(file);
        if (model == null) {
            throw new MojoExecutionException("Error while processing  " + file.getAbsoluteFile());
        }

        // Creating a module representing the artifact generated by pom file
        MavenProject project = new MavenProject(model);
        moduleCreator
                .create(new String[] { project.getArtifactId(), project.getVersion(), file.getAbsolutePath() });

        String moduleAbsolutPath = moduleCreator.getAbsoluteArtifactResourcePath(
                new String[] { project.getArtifactId(), project.getVersion() });

        // Creating dependency artifacts to represent dependencies of the module
        List<Dependency> dependencies = project.getDependencies();
        for (Dependency dependency : dependencies) {
            dependencyCreator.create(new String[] { dependency.getGroupId(), dependency.getArtifactId(),
                    dependency.getVersion() });

            String dependencyAbsolutePath = dependencyCreator.getAbsoluteArtifactResourcePath(
                    new String[] { dependency.getGroupId(), dependency.getArtifactId() });

            // Adding association for each dependency with the module
            addAssociation(moduleAbsolutPath, dependencyAbsolutePath, "depends");
        }
    }
}

From source file:hudson.gridmaven.PomInfo.java

License:Open Source License

public PomInfo(MavenProject project, PomInfo parent, String relPath) {
    this.name = new ModuleName(project);
    this.version = project.getVersion();
    this.displayName = project.getName();
    this.defaultGoal = project.getDefaultGoal();
    this.relativePath = relPath;
    this.parent = parent;
    if (parent != null)
        parent.children.add(name);//from w w  w. ja v  a2s  .  co  m

    for (Dependency dep : (List<Dependency>) project.getDependencies())
        dependencies.add(new ModuleDependency(dep));

    MavenProject parentProject = project.getParent();
    if (parentProject != null)
        dependencies.add(new ModuleDependency(parentProject));
    if (parent != null)
        dependencies.add(parent.asDependency());

    addPluginsAsDependencies(project.getBuildPlugins(), dependencies);
    addReportPluginsAsDependencies(project.getReportPlugins(), dependencies);

    List<Extension> extensions = project.getBuildExtensions();
    if (extensions != null)
        for (Extension ext : extensions)
            dependencies.add(new ModuleDependency(ext));

    // when the parent POM uses a plugin and builds a plugin at the same time,
    // the plugin module ends up depending on itself
    dependencies.remove(asDependency());

    CiManagement ciMgmt = project.getCiManagement();
    if ((ciMgmt != null) && (ciMgmt.getSystem() == null || ciMgmt.getSystem().equals("hudson"))) {
        Notifier mailNotifier = null;
        for (Notifier n : (List<Notifier>) ciMgmt.getNotifiers()) {
            if (n.getType().equals("mail")) {
                mailNotifier = n;
                break;
            }
        }
        this.mailNotifier = mailNotifier;
    } else
        this.mailNotifier = null;

    this.groupId = project.getGroupId();
    this.artifactId = project.getArtifactId();
    this.packaging = project.getPackaging();
}

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.j ava2s.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:io.moshisho.plugins.MyMojo.java

License:Apache License

public void execute() throws MojoExecutionException {
    Map<String, String> gaVersion = new HashMap<String, String>();

    for (MavenProject mp : mavenProject.getCollectedProjects()) {
        for (Dependency dependency : mp.getDependencies()) {
            String key = dependency.getGroupId() + ":" + dependency.getArtifactId();
            if (gaVersion.containsKey(key)) {
                if (!gaVersion.get(key).equals(dependency.getVersion())) {
                    getLog().warn("[WARNING] !!! duplicate version! for " + key);
                    getLog().warn("[WARNING] !!! duplicate version! already have: " + gaVersion.get(key)
                            + " new: " + dependency.getVersion());
                }//from   www.  ja va  2  s  .  c  o m
            } else
                gaVersion.put(key, dependency.getVersion());
        }
    }
}

From source file:io.reactiverse.vertx.maven.plugin.utils.MojoUtils.java

License:Apache License

/**
 * Checks whether the project has the dependency
 *
 * @param project    - the project to check existence of dependency
 * @param groupId    - the dependency groupId
 * @param artifactId - the dependency artifactId
 * @return true if the project has the dependency
 *//*  w w  w.  ja  v  a 2s . c  o  m*/
public static boolean hasDependency(MavenProject project, String groupId, String artifactId) {

    Optional<Dependency> dep = project.getDependencies().stream()
            .filter(d -> groupId.equals(d.getGroupId()) && artifactId.equals(d.getArtifactId())).findFirst();

    return dep.isPresent();
}

From source file:io.sundr.maven.GenerateBomMojo.java

License:Apache License

/**
 * Returns all dependency artifacts in all modules, excluding all reactor artifacts (including attached).
 *
 * @return/*  w  w  w  . ja v a2  s . c o  m*/
 */
private Set<Artifact> getProjectDependencies() {
    Set<Artifact> result = new LinkedHashSet<Artifact>();
    for (MavenProject p : getSession().getProjectDependencyGraph().getSortedProjects()) {
        for (Dependency dependency : p.getDependencies()) {
            result.add(toArtifact(dependency));
        }
    }
    return result;
}

From source file:io.takari.m2e.jdt.core.internal.JavaConfigurator.java

License:Open Source License

private void configureClasspathAccessRules(IMavenProjectFacade facade, IClasspathDescriptor classpath,
        boolean transitiveDependencyReference, boolean privatePackageReference, IProgressMonitor monitor)
        throws CoreException {

    MavenProject mavenProject = facade.getMavenProject(monitor);

    Map<ArtifactKey, Artifact> dependencies = new HashMap<>();
    Set<ArtifactKey> directDependencies = new HashSet<>();

    for (Artifact artifact : mavenProject.getArtifacts()) {
        dependencies.put(toArtifactKey(artifact), artifact);
    }// w w w.j  a v a  2  s  .com
    for (Dependency artifact : mavenProject.getDependencies()) {
        directDependencies.add(toArtifactKey(artifact));
    }

    for (IClasspathEntryDescriptor entry : classpath.getEntryDescriptors()) {
        ArtifactKey artifactKey = entry.getArtifactKey();
        if (!dependencies.containsKey(artifactKey)) {
            continue; // ignore custom classpath entries
        }
        if (transitiveDependencyReference && !directDependencies.contains(artifactKey)) {
            entry.addAccessRule(JavaCore.newAccessRule(new Path("**"),
                    IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER));
        } else if (privatePackageReference) {
            Collection<String> exportedPackages = getExportedPackages(dependencies.get(artifactKey));
            if (exportedPackages != null) {
                for (String exportedPackage : exportedPackages) {
                    IPath pattern = new Path(exportedPackage).append("/*");
                    entry.addAccessRule(JavaCore.newAccessRule(pattern, IAccessRule.K_ACCESSIBLE));
                }
                entry.addAccessRule(JavaCore.newAccessRule(new Path("**"),
                        IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER));
            }
        }
    }
}

From source file:licenseUtil.LicensingList.java

License:Apache License

public void addMavenProject(MavenProject project, String version) {
    logger.debug("add pom content to current list");
    List<Dependency> dependencies = project.getDependencies();

    for (Dependency dependency : dependencies) {
        if (dependency.getScope() == null || !dependency.getScope().equals(excludedScope)) {
            LicensingObject licensingObject;
            Artifact depArtifact = new DefaultArtifact(dependency.getGroupId(), dependency.getArtifactId(),
                    "pom", dependency.getVersion());
            try {
                MavenProject depProject = Utils.resolveArtifact(project, depArtifact);
                licensingObject = new LicensingObject(depProject, project.getArtifactId(), version,
                        licenseUrlMappings);
            } catch (ArtifactResolutionException | IOException | XmlPullParserException e) {
                logger.error("Could not resolve Artifact; " + depArtifact.toString());
                licensingObject = new LicensingObject(dependency, project.getArtifactId(), version);
            }/* w  w w. j  a  v  a  2s . c  o m*/
            add(licensingObject);
        }
    }

    List<Plugin> plugins = project.getBuild().getPlugins();
    for (Plugin plugin : plugins) {
        //LicensingObject licensingObject = new LicensingObject(plugin, project.getArtifactId(), version);
        LicensingObject licensingObject;
        Artifact depArtifact = new DefaultArtifact(plugin.getGroupId(), plugin.getArtifactId(), "pom",
                plugin.getVersion());
        try {
            MavenProject depProject = Utils.resolveArtifact(project, depArtifact);
            licensingObject = new LicensingObject(depProject, project.getArtifactId(), version,
                    licenseUrlMappings);
        } catch (ArtifactResolutionException | IOException | XmlPullParserException e) {
            logger.error("Could not resolve Artifact; " + depArtifact.toString());
            licensingObject = new LicensingObject(plugin, project.getArtifactId(), version);
        }
        add(licensingObject);
    }
}

From source file:me.gladwell.eclipse.m2e.android.quickfix.UnzipApkLibsDependciesSupport.java

License:Open Source License

public void processAll(IProject iProject) throws CoreException, IOException {
    EclipseAndroidProject androidProject = projectFactory.createAndroidProject(iProject);
    Model mavenModel = mavenModelManager.readMavenModel(androidProject.getPom());
    MavenProject mavenProject = new MavenProject(mavenModel);

    List<org.apache.maven.model.Dependency> dep = mavenProject.getDependencies();

    for (org.apache.maven.model.Dependency dependency : dep) {
        if (dependency.getType().equals(JaywayMavenAndroidProject.ANDROID_LIBRARY_PACKAGE_TYPE)) {
            try {
                androidWorkspace.findOpenWorkspaceDependency(new MavenDependency(dependency));
            } catch (DependencyNotFoundInWorkspace ex) {
                Artifact d = MavenPlugin.getMaven().resolve(dependency.getGroupId(), dependency.getArtifactId(),
                        dependency.getVersion(), dependency.getType(), null, null, null);
                unpack(d);/*from  w w  w  .j  av a2  s  . co  m*/
                importProjects();
                updateProjectConfig(iProject);
            }
        }
    }
}

From source file:net.erdfelt.maven.graphing.MultimoduleGraphMojo.java

License:Apache License

@Override
public void execute() throws MojoExecutionException, MojoFailureException {
    getLog().info("Found " + projects.size() + " Project(s)");

    Graph graph = new Graph();

    getLog().debug("Using: " + graphRenderer);

    try {/*from   ww  w.  ja  v a2  s  .  co  m*/
        Iterator it = projects.iterator();
        while (it.hasNext()) {
            MavenProject project = (MavenProject) it.next();
            List deps = project.getDependencies();

            if (!StringUtils.equals("pom", project.getPackaging())) {
                Node currentNode = graph.addNode(toNode(project));
                getLog().info("   Project: " + project.getId() + "  - " + deps.size() + " dep(s)");

                addDependenciesToGraph(graph, currentNode, deps);
            }
        }

        if (graph.getDecorator() == null) {
            graph.setDecorator(new GraphDecorator());
        }

        graph.getDecorator().setTitle("Module Relationship");
        graph.getDecorator().setOrientation(GraphDecorator.LEFT_TO_RIGHT);

        graphRenderer.render(graph, new File("target/graph-multimodule.png"));
    } catch (GraphConstraintException e) {
        getLog().error("Unable to generate graph.");
    } catch (IOException e) {
        getLog().error("Unable to generate graph.", e);
    } catch (GraphingException e) {
        getLog().error("Unable to generate graph.", e);
    }
}