List of usage examples for org.apache.maven.artifact Artifact SCOPE_IMPORT
String SCOPE_IMPORT
To view the source code for org.apache.maven.artifact Artifact SCOPE_IMPORT.
Click Source Link
From source file:com.redhat.rcm.version.mgr.mod.BomModder.java
License:Open Source License
@Override public boolean inject(final Project project, final VersionManagerSession session) { final Model model = project.getModel(); final List<ModelBase> bases = new ArrayList<ModelBase>(); bases.add(model);/*from www. j a va 2s.com*/ final List<Profile> profiles = model.getProfiles(); if (profiles != null && !profiles.isEmpty()) { bases.addAll(profiles); } final File pom = project.getPom(); boolean changed = false; for (final ModelBase base : bases) { logger.info("Processing: {} in model: {}", base, model); DependencyManagement dm = null; if (base.getDependencies() != null) { logger.info("Processing dependencies for '" + project.getKey() + "'..."); for (final Iterator<Dependency> it = base.getDependencies().iterator(); it.hasNext();) { final Dependency dep = it.next(); logger.info("Processing: {}", dep); final DepModResult depResult = modifyDep(dep, project, pom, session, false); if (depResult == DepModResult.DELETED) { logger.info("Removing: {}", dep); it.remove(); changed = true; } else { if (depResult == DepModResult.MODIFIED) { logger.info("Modified {}", dep); } else { logger.info("NO CHANGE to: {}", dep); } changed = DepModResult.MODIFIED == depResult || changed; } } } if (session.isStrict()) { dm = base.getDependencyManagement(); if (base.getDependencyManagement() != null && dm.getDependencies() != null) { logger.info("Processing dependencyManagement for '" + project.getKey() + "'..."); for (final Iterator<Dependency> it = dm.getDependencies().iterator(); it.hasNext();) { final Dependency dep = it.next(); logger.info("Processing: {}", dep); final DepModResult depResult = modifyDep(dep, project, pom, session, true); if (depResult == DepModResult.DELETED) { logger.info("Removing: {}", dep); it.remove(); changed = true; } else { if (depResult == DepModResult.MODIFIED) { logger.info("Modified {}", dep); } else { logger.info("NO CHANGE to: {}", dep); } changed = DepModResult.MODIFIED == depResult || changed; } } } } } // NOTE: Inject BOMs directly, but ONLY if the parent project is NOT in // the current projects list. (If the parent is a current project, we // want to inject the BOMs there instead.) final List<FullProjectKey> bomCoords = session.getBomCoords(); logger.info("{} BOMs available for injection...is my parent ({}) being modified in this session? {}", bomCoords.size(), project.getParent(), session.isCurrentProject(project.getParent())); if (!session.isCurrentProject(project.getParent()) && bomCoords != null && !bomCoords.isEmpty()) { logger.info("Injecting BOMs..."); DependencyManagement dm = model.getDependencyManagement(); if (dm == null) { dm = new DependencyManagement(); model.setDependencyManagement(dm); } // Used to track inserting the BOMs in the correct order in the dependencyMgmt // section. int insertCounter = 0; for (final FullProjectKey bomCoord : bomCoords) { final Dependency dep = new Dependency(); dep.setGroupId(bomCoord.getGroupId()); dep.setArtifactId(bomCoord.getArtifactId()); dep.setVersion(bomCoord.getVersion()); dep.setType("pom"); dep.setScope(Artifact.SCOPE_IMPORT); logger.info("Adding BOM: {} at index: {} of {}", dep, insertCounter, model); changed = true; dm.getDependencies().add(insertCounter++, dep); } } else if (!session.isStrict() && model.getDependencyManagement() != null) { model.setDependencyManagement(null); changed = true; } return changed; }
From source file:com.redhat.rcm.version.testutil.VManAssertions.java
License:Open Source License
private static Set<Dependency> assertNormalized(final Set<Project> modified, final Set<FullProjectKey> bomKeys, final VersionlessProjectKey... skip) throws Exception { final Set<VersionlessProjectKey> skipKeys = new HashSet<VersionlessProjectKey>(Arrays.asList(skip)); final Set<Dependency> skippedDeps = new HashSet<Dependency>(); for (final Project project : modified) { final Model model = project.getModel(); System.out.println("Examining: " + model.getId()); new MavenXpp3Writer().write(System.out, model); final DependencyManagement dm = model.getDependencyManagement(); if (dm != null) { final Set<FullProjectKey> foundBoms = new HashSet<FullProjectKey>(); for (final Dependency dep : dm.getDependencies()) { final VersionlessProjectKey key = new VersionlessProjectKey(dep.getGroupId(), dep.getArtifactId()); if (("pom".equals(dep.getType()) && Artifact.SCOPE_IMPORT.equals(dep.getScope()))) { foundBoms.add(new FullProjectKey(dep)); } else if (!skipKeys.contains(key)) { assertNull(/*from ww w .j a va 2 s.c o m*/ "Managed Dependency version was NOT nullified: " + dep + "\nPOM: " + model.getId(), dep.getVersion()); } else { skippedDeps.add(dep); } } assertThat(foundBoms, equalTo(bomKeys)); } for (final Dependency dep : model.getDependencies()) { if (!("pom".equals(dep.getType()) && Artifact.SCOPE_IMPORT.equals(dep.getScope()))) { final VersionlessProjectKey key = new VersionlessProjectKey(dep.getGroupId(), dep.getArtifactId()); if (!skipKeys.contains(key)) { assertNull("Dependency version was NOT nullified: " + dep.getManagementKey() + "\nPOM: " + model.getId(), dep.getVersion()); } else { skippedDeps.add(dep); } } } } return skippedDeps; }
From source file:io.sundr.maven.filter.SessionArtifactFilter.java
License:Apache License
private static boolean isBom(Artifact artifact) { return Artifact.SCOPE_IMPORT.equals(artifact.getScope()) && "pom".equals(artifact.getType()); }