List of usage examples for org.apache.maven.project MavenProject getDependencies
public List<Dependency> getDependencies()
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); } }