/** * Compare the {@link Coordinate} of each given {@link Dependency} for equivalence. */ public static boolean areEquivalent(Dependency l, Dependency r) { if (l == r) { return true; } if ((l == null) && (r == null)) { return true; } else if ((l == null) || (r == null)) { return false; } return areEquivalent(l.getCoordinate(), r.getCoordinate()); }
@Override public Dependency getEffectiveDependency(final Dependency manDep) { for (Dependency dependency : getEffectiveDependencies()) { if (Dependencies.areEquivalent(dependency, resolveProperties(manDep))) { return resolveProperties(dependency); } } return null; }
@Override public void removeDependency(final Dependency dep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); List<Dependency> dependencies = MavenDependencyAdapter.fromMavenList(pom.getDependencies()); List<Dependency> toBeRemoved = new ArrayList<>(); for (Dependency dependency : dependencies) { if (Dependencies.areEquivalent(dependency, resolveProperties(dep))) { toBeRemoved.add(dependency); } } dependencies.removeAll(toBeRemoved); pom.setDependencies(MavenDependencyAdapter.toMavenList(dependencies)); maven.setModel(pom); }
private MavenPlugin getPlugin(final Coordinate dependency, boolean managedPlugin, boolean effectivePlugin, org.jboss.forge.addon.maven.profiles.Profile profileParam) { String groupId = dependency.getGroupId(); groupId = (groupId == null) || groupId.equals("") ? DEFAULT_GROUPID : groupId; for (MavenPlugin mavenPlugin : listConfiguredPlugins(managedPlugin, effectivePlugin, profileParam)) { Coordinate temp = mavenPlugin.getCoordinate(); if (Dependencies.areEquivalent(temp, CoordinateBuilder.create(dependency).setGroupId(groupId))) { return mavenPlugin; } } throw new PluginNotFoundException(groupId, dependency.getArtifactId()); }
@Override public void addDirectManagedDependency(final Dependency dep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); DependencyManagement depMan = pom.getDependencyManagement(); depMan = depMan != null ? depMan : new DependencyManagement(); List<Dependency> managedDependencies = MavenDependencyAdapter.fromMavenList(depMan.getDependencies()); ListIterator<Dependency> managedDepsIterator = managedDependencies.listIterator(); boolean found = false; while (managedDepsIterator.hasNext()) { Dependency managedDependency = managedDepsIterator.next(); if (Dependencies.areEquivalent(managedDependency, dep)) { managedDepsIterator.set(dep); found = true; } } if (!found) { managedDependencies.add(dep); } depMan.setDependencies(MavenDependencyAdapter.toMavenList(managedDependencies)); pom.setDependencyManagement(depMan); maven.setModel(pom); }
@Override public boolean hasDirectManagedDependency(final Dependency managedDependency) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); DependencyManagement depMan = pom.getDependencyManagement(); List<Dependency> managedDependencies = depMan != null ? MavenDependencyAdapter.fromMavenList(depMan .getDependencies()) : new ArrayList<>(); for (Dependency manDep : managedDependencies) { if (Dependencies.areEquivalent(resolveProperties(managedDependency), manDep)) { return true; } } return false; }
@Override public boolean hasDirectDependency(final Dependency dependency) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); List<Dependency> dependencies = MavenDependencyAdapter.fromMavenList(pom.getDependencies()); for (Dependency dep : dependencies) { if (Dependencies.areEquivalent(resolveProperties(dependency), dep)) { return true; } } return false; }
@Override public void removeManagedDependency(final Dependency manDep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); DependencyManagement depMan = pom.getDependencyManagement(); depMan = depMan != null ? depMan : new DependencyManagement(); List<Dependency> managedDependencies = MavenDependencyAdapter.fromMavenList(depMan.getDependencies()); List<Dependency> toBeRemoved = new ArrayList<>(); for (Dependency managedDependency : managedDependencies) { if (Dependencies.areEquivalent(managedDependency, manDep)) { toBeRemoved.add(managedDependency); } } managedDependencies.removeAll(toBeRemoved); depMan.setDependencies(MavenDependencyAdapter.toMavenList(managedDependencies)); pom.setDependencyManagement(depMan); maven.setModel(pom); }
@Override public void addDirectDependency(final Dependency dep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); List<org.apache.maven.model.Dependency> dependencies = pom.getDependencies(); Coordinate depCoordinate = dep.getCoordinate(); boolean exists = false; for (org.apache.maven.model.Dependency dependency : dependencies) { Coordinate dependencyCoordinate = new MavenDependencyAdapter(dependency).getCoordinate(); if (Dependencies.areEquivalent(depCoordinate, dependencyCoordinate)) { dependency.setVersion(depCoordinate.getVersion()); exists = true; } } if (!exists) { org.apache.maven.model.Dependency dependency = MavenDependencyAdapter.toMavenList(Arrays.asList(dep)).get(0); dependencies.add(dependency); } maven.setModel(pom); }
@Override public Dependency getDirectManagedDependency(final Dependency manDep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); DependencyManagement depMan = pom.getDependencyManagement(); List<Dependency> managedDependencies = depMan != null ? MavenDependencyAdapter.fromMavenList(depMan .getDependencies()) : new ArrayList<>(); for (Dependency managedDependency : managedDependencies) { if (Dependencies.areEquivalent(managedDependency, resolveProperties(manDep))) { return resolveProperties(managedDependency); } } return null; }
@Override public Dependency getEffectiveManagedDependency(final Dependency manDep) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); try { DependencyManagement depMan = maven.getEffectiveModel().getDependencyManagement(); List<Dependency> managedDependencies = (depMan != null ? MavenDependencyAdapter.fromMavenList(depMan .getDependencies()) : new ArrayList<>()); for (Dependency managedDependency : managedDependencies) { if (Dependencies.areEquivalent(managedDependency, resolveProperties(manDep))) { return resolveProperties(managedDependency); } } } catch (Exception e) { log.log(Level.SEVERE, "Could not resolve managed dependencies in project [" + maven.getModelResource().getFullyQualifiedName() + "]. ", e); } return null; }
@Override public Dependency getDirectDependency(final Dependency dependency) { MavenFacet maven = getFaceted().getFacet(MavenFacet.class); Model pom = maven.getModel(); List<Dependency> dependencies = MavenDependencyAdapter.fromMavenList(pom.getDependencies()); for (Dependency dep : dependencies) { if (Dependencies.areEquivalent(resolveProperties(dependency), dep)) { return resolveProperties(dep); } } return null; }
if (Dependencies.areEquivalent(dominant.getCoordinate(), recessive.getCoordinate()))
if (Dependencies.areEquivalent(dominant.getCoordinate(), recessive.getCoordinate()))