List of usage examples for org.apache.maven.project MavenProject getDependencyManagement
public DependencyManagement getDependencyManagement()
From source file:org.sonatype.maven.plugins.provideddependencies.GenerateMojo.java
License:Open Source License
/** * Builds a multimap of dependency groupId:artifactId to exclusions {@link GroupArtifact}. *///from w w w . j a va 2s. c om private Multimap<String, GroupArtifact> collectExclusions() { Multimap<String, GroupArtifact> mapping = LinkedHashMultimap.create(); for (Artifact artifact : project.getArtifacts()) { MavenProject p; try { p = projectBuilder.buildFromRepository(artifact, project.getRemoteArtifactRepositories(), localRepository); } catch (ProjectBuildingException e) { // ignore continue; } appendExclusions(mapping, p.getDependencies()); if (p.getDependencyManagement() != null) { appendExclusions(mapping, p.getDependencyManagement().getDependencies()); } } return mapping; }
From source file:org.springframework.ide.eclipse.boot.core.internal.MavenSpringBootProject.java
License:Open Source License
/** * @return List of maven coordinates for known boot starters. These are * discovered dynamically based on project contents. E.g. for maven * projects we examine the 'dependencyManagement' section of the * project's effective pom.//from ww w . ja va2 s .co m * * @throws CoreException */ @Override public List<SpringBootStarter> getKnownStarters() throws CoreException { MavenProject mp = getMavenProject(); DependencyManagement depMan = mp.getDependencyManagement(); if (depMan != null) { List<Dependency> deps = depMan.getDependencies(); return getStarters(deps); } return NO_STARTERS; }
From source file:org.springframework.ide.vscode.commons.maven.MavenCore.java
License:Open Source License
/** * Taken from M2E same named method from MavenModelManager * * @param repositorySystem/*from w w w .ja v a2 s .com*/ * @param repositorySession * @param mavenProject * @param scope * @return */ private DependencyNode readDependencyTree(org.eclipse.aether.RepositorySystem repositorySystem, RepositorySystemSession repositorySession, MavenProject mavenProject, String scope) { DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySession); ConflictResolver transformer = new ConflictResolver(new NearestVersionSelector(), new JavaScopeSelector(), new SimpleOptionalitySelector(), new JavaScopeDeriver()); session.setDependencyGraphTransformer(transformer); session.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, Boolean.toString(true)); session.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true); 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 = repositorySystem.collectDependencies(session, request).getRoot(); } catch (DependencyCollectionException ex) { node = ex.getResult().getRoot(); } 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; }
From source file:org.srcdeps.mvn.enforcer.SrcdepsEnforcer.java
License:Apache License
@Override public void beforeProjectLifecycleExecution(ProjectExecutionEvent event) throws LifecycleExecutionException { final MavenProject project = event.getProject(); log.info("srcdeps enforcer checks for violations in {}:{}", project.getGroupId(), project.getArtifactId()); final Maven maven = configurationProducer.getConfiguration().getMaven(); final List<MojoExecution> mojoExecutions = event.getExecutionPlan(); final List<String> goals = new ArrayList<>(mojoExecutions.size()); for (MojoExecution mojoExecution : mojoExecutions) { MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor(); goals.add(mojoDescriptor.getFullGoalName()); goals.add(mojoDescriptor.getGoal()); }/*from www . j a v a2 s .co m*/ final List<String> profiles = new ArrayList<>(); final List<Profile> activeProfiles = project.getActiveProfiles(); for (Profile profile : activeProfiles) { final String id = profile.getId(); profiles.add(id); } final Properties props = new Properties(); props.putAll(project.getProperties()); props.putAll(System.getProperties()); String[] firstViolation = assertFailWithout(maven.getFailWithout(), goals, profiles, props); if (firstViolation == null) { firstViolation = assertFailWith(maven.getFailWith(), goals, profiles, props); } if (firstViolation != null) { /* check if there are srcdeps */ Artifact parent = project.getParentArtifact(); if (parent != null) { assertNotSrcdeps(parent.getGroupId(), parent.getArtifactId(), parent.getVersion(), firstViolation); } DependencyManagement dm; List<Dependency> deps; if ((dm = project.getDependencyManagement()) != null && (deps = dm.getDependencies()) != null) { assertNotSrcdeps(deps, firstViolation); } if ((deps = project.getDependencies()) != null) { assertNotSrcdeps(deps, firstViolation); } } }
From source file:org.srcdeps.mvn.plugin.SrcdepsInitMojo.java
License:Apache License
@Override public void execute() throws MojoExecutionException, MojoFailureException { super.execute(); org.srcdeps.core.GavSet.Builder gavSetBuilder = GavSet.builder() // .includes(includes) // .excludes(excludes);//from w ww .ja v a2 s. c om if (excludeSnapshots) { gavSetBuilder.excludeSnapshots(); } this.gavSet = gavSetBuilder.build(); log.info("Using includes and excludes [{}]", gavSet); log.info("Supported SCMs: {}", scms); if (skip || !multiModuleRootDir.equals(session.getCurrentProject().getBasedir())) { log.info(getClass().getSimpleName() + " skipped"); } else { Configuration.Builder config = Configuration.builder() // .configModelVersion(Configuration.getLatestConfigModelVersion()).commentBefore("") // .commentBefore("srcdeps.yaml - the srcdeps configuration file") // .commentBefore("") // .commentBefore( "The full srcdeps.yaml reference can be found under https://github.com/srcdeps/srcdeps-core/tree/master/doc/srcdeps.yaml") // .commentBefore("") // .commentBefore("This file was generated by the following command:") // .commentBefore("") // .commentBefore(" mvn org.srcdeps.mvn:srcdeps-maven-plugin:init") // .commentBefore("") // ; ScmRepositoryIndex index = new ScmRepositoryIndex(session, repoSession, repositorySystem, projectBuilder, scms); log.debug("Going over [{}] reactor projects", reactorProjects.size()); /* first add the reactor projects to seenGas so that they get ignored */ for (MavenProject project : reactorProjects) { index.ignoreGav(project.getGroupId(), project.getArtifactId(), project.getVersion()); } for (MavenProject project : reactorProjects) { final List<Dependency> dependencies = project.getDependencies(); log.info("Project [{}] has [{}] dependencies", project.getArtifactId(), dependencies == null ? 0 : dependencies.size()); if (dependencies != null) { for (Dependency dependency : dependencies) { final String g = dependency.getGroupId(); final String a = dependency.getArtifactId(); final String v = dependency.getVersion(); if (!"system".equals(dependency.getScope()) && gavSet.contains(g, a, v)) { /* Ignore system scope */ index.addGav(g, a, v, failOnUnresolvable); } } } final DependencyManagement dependencyManagement = project.getDependencyManagement(); if (dependencyManagement != null) { final List<Dependency> managedDeps = dependencyManagement.getDependencies(); if (managedDeps != null) { for (Dependency dependency : managedDeps) { final String g = dependency.getGroupId(); final String a = dependency.getArtifactId(); final String v = dependency.getVersion(); if (!"system".equals(dependency.getScope()) && gavSet.contains(g, a, v)) { /* Ignore system scope */ index.addGav(g, a, v, false); } } } } MavenProject parent = project.getParent(); if (parent != null) { final String g = parent.getGroupId(); final String a = parent.getArtifactId(); final String v = parent.getVersion(); if (gavSet.contains(g, a, v)) { index.addGav(g, a, v, failOnUnresolvable); } } } Map<String, Builder> repos = index.createSortedScmRepositoryMap(); if (repos.size() == 0) { /* add some dummy repo so that we do not write an empty srcdeps.yaml file */ ScmRepository.Builder dummyRepo = ScmRepository.builder() // .commentBefore( "FIXME: srcdeps-maven-plugin could not authomatically identify any SCM URLs for dependencies in this project") // .commentBefore( " and has added this dummy repository only as a starting point for you to proceed manually") // .id("org.my-group") // .selector("org.my-group") // .url("git:https://github.com/my-org/my-project.git") // ; repos.put(dummyRepo.getName(), dummyRepo); } config // .repositories(repos) // .accept(new OverrideVisitor(System.getProperties())) // .accept(new DefaultsAndInheritanceVisitor()) // ; final Path srcdepsYamlPath = multiModuleRootDir.toPath().resolve("srcdeps.yaml"); try { YamlWriterConfiguration yamlWriterConfiguration = YamlWriterConfiguration.builder().build(); try (Writer out = Files.newBufferedWriter(srcdepsYamlPath, Charset.forName(encoding))) { config.accept(new YamlWriterVisitor(out, yamlWriterConfiguration)); } } catch (IOException e) { throw new MojoExecutionException(String.format("Could not write [%s]", srcdepsYamlPath), e); } } }
From source file:org.switchyard.tools.ui.common.impl.SwitchYardProject.java
License:Open Source License
private String readRawVersionString(MavenProject mavenProject) { if (mavenProject.getDependencyManagement() != null) { for (Dependency dependency : mavenProject.getDependencyManagement().getDependencies()) { if (SWITCHYARD_CORE_GROUP_ID.equals(dependency.getGroupId())) { // using dependency management return null; }/* w w w .j a v a 2 s . c om*/ } } for (Dependency dependency : mavenProject.getOriginalModel().getDependencies()) { if (SWITCHYARD_CORE_GROUP_ID.equals(dependency.getGroupId())) { return dependency.getVersion(); } } Build build = mavenProject.getOriginalModel().getBuild(); if (build != null) { Plugin switchYardPlugin = build.getPluginsAsMap().get(SWITCHYARD_PLUGIN_KEY); if (switchYardPlugin != null) { return switchYardPlugin.getVersion(); } } return UNKNOWN_VERSION_STRING; }
From source file:org.universAAL.support.directives.checks.DependencyManagementCheckFix.java
License:Apache License
private boolean passRootCheck(MavenProject mavenProject2) { Map<DependencyID, String> versionMap = getActualVersions(mavenProject2); DependencyManagement dm = mavenProject2.getDependencyManagement(); if (dm == null) // no DependencyManagement -> no fixing return true; List<Dependency> lod = dm.getDependencies(); Map<DependencyID, String> lodVersionMap = new TreeMap<DependencyID, String>(); // test if the version in DependencyManagement corresponds to the version of the actual artefact for (Dependency dependency : lod) { DependencyID depId = new DependencyID(dependency); String realVersion = versionMap.get(depId); lodVersionMap.put(depId, dependency.getVersion()); getLog().debug("***1 ." + dependency.getGroupId() + ":" + dependency.getArtifactId() + " Real:\"" + realVersion + "\" - Declared: \"" + dependency.getVersion() + "\""); if (dependency != null && !dependency.getVersion().equals(realVersion) && realVersion != null && !realVersion.isEmpty()) { getLog().debug("Marked as wrong."); toBeFixed.put(new DependencyID(dependency), realVersion); }// w w w . j ava 2 s .c o m } // test that every real artefact has an entry in the DependencyManagement for (DependencyID key : versionMap.keySet()) { if (!lodVersionMap.containsKey(key)) { toBeFixed.put(key, versionMap.get(key)); getLog().debug("***2 ." + key.getGID() + ":" + key.getAID() + " Not declared."); //System.out.println("***2 ." + key + ". - ." + versionMap.get(key) + "."); } } return toBeFixed.isEmpty(); }
From source file:org.universAAL.support.directives.checks.DependencyManagementCheckFix.java
License:Apache License
/** * @param mavenProject2//from w w w.j a v a2 s . c o m * @return */ private boolean includesPOMSubProjects(MavenProject mavenProject2) { DependencyManagement dm = mavenProject2.getDependencyManagement(); if (dm != null) { for (Dependency d : dm.getDependencies()) { if (d.getType().equals("pom") || d.getType().equals("cfg")) { return true; } } } return false; }
From source file:org.wso2.maven.p2.utils.DependencyResolver.java
License:Open Source License
/** * Resolve the given project dependencies into CarbonArtifact objects. Dependencies are categorized into * OSGI bundles and Carbon features./* ww w. ja va 2 s. co m*/ * * @param project MavenProject Maven Project * @param repositorySystem RepositorySystem object * @param remoteRepositories collection of remote repositories * @param localRepository local repository representation * @return Return a {@code List<HashMap<String, CarbonArtifact>>}, 1st item being {@code HashMap<String, * CarbonArtifact>} containing osgi bundles specified as dependencies and 2nd item being {@code HashMap<String, * CarbonArtifact>} containing carbon features specified as dependencies. * @throws IOException throws when unable to retrieve a given maven artifact */ public static List<HashMap<String, CarbonArtifact>> getDependenciesForProject(MavenProject project, RepositorySystem repositorySystem, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository) throws IOException { List<HashMap<String, CarbonArtifact>> results = new ArrayList<>(); HashMap<String, CarbonArtifact> bundles = new HashMap<>(); HashMap<String, CarbonArtifact> features = new HashMap<>(); results.add(bundles); results.add(features); List<Dependency> dependencies = project.getDependencies(); DependencyManagement dependencyManagement = project.getDependencyManagement(); if (dependencyManagement != null) { dependencies.addAll(dependencyManagement.getDependencies()); } for (Dependency dependency : dependencies) { CarbonArtifact carbonArtifact = new CarbonArtifact(); carbonArtifact.setGroupId(dependency.getGroupId()); carbonArtifact.setArtifactId(dependency.getArtifactId()); carbonArtifact.setVersion(dependency.getVersion()); carbonArtifact.setType(dependency.getType()); Artifact mavenArtifact = MavenUtils.getResolvedArtifact(carbonArtifact, repositorySystem, remoteRepositories, localRepository); carbonArtifact.setArtifact(mavenArtifact); String key; if (carbonArtifact.getType().equals("jar")) { if (resolveOSGIInfo(carbonArtifact)) { key = carbonArtifact.getSymbolicName() + "_" + carbonArtifact.getBundleVersion(); bundles.put(key, carbonArtifact); } } else { key = carbonArtifact.getArtifactId() + "_" + carbonArtifact.getVersion(); features.put(key, carbonArtifact); } } return results; }
From source file:se.jguru.nazgul.tools.codestyle.enforcer.rules.ProjectType.java
License:Apache License
/** * Acquires the ProjectType instance for the provided MavenProject, * or throws an IllegalArgumentException holding an exception message * if a ProjectType could not be found for the provided MavenProject. * * @param project The MavenProject to classify. * @return The corresponding ProjectType. * @throws IllegalArgumentException if the given project could not be mapped to a [single] ProjectType. * The exception message holds *//*from ww w. j a v a 2 s.co m*/ public static ProjectType getProjectType(final MavenProject project) throws IllegalArgumentException { Validate.notNull(project, "Cannot handle null project argument."); final List<ProjectType> matches = findCandidates(project.getGroupId(), project.getArtifactId(), project.getPackaging(), "Incorrect project type definition for [" + project.getGroupId() + " :: " + project.getArtifactId() + " :: " + project.getVersion() + "]: "); // Validate the internal requirements for the two different pom projects. final ProjectType toReturn = matches.get(0); switch (toReturn) { case PARENT: case ASSEMBLY: // This project should not contain modules. if (project.getModules() != null && !project.getModules().isEmpty()) { throw new IllegalArgumentException( ProjectType.PARENT + " projects may not contain module definitions. " + "(Modules are reserved for reactor projects)."); } break; case REACTOR: // This project not contain dependency definitions. final List<?> dependencies = project.getDependencies(); if (dependencies != null && !dependencies.isEmpty()) { throw new IllegalArgumentException( ProjectType.REACTOR + " projects may not contain dependency definitions." + " (Dependencies should be defined within parent projects)."); } final DependencyManagement dependencyManagement = project.getDependencyManagement(); if (dependencyManagement != null) { // Dig out all dependency management-defined dependencies. final List<Dependency> templateDependencies = dependencyManagement.getDependencies(); if (templateDependencies != null && !templateDependencies.isEmpty()) { throw new IllegalArgumentException( ProjectType.REACTOR + " projects may not contain dependency [management] definitions." + " (Dependencies should be defined within parent projects)."); } } break; // No action should be taken for other project types. default: break; } // All done. return toReturn; }