List of usage examples for org.apache.maven.artifact.resolver ResolutionListener UPDATE_SCOPE
int UPDATE_SCOPE
To view the source code for org.apache.maven.artifact.resolver ResolutionListener UPDATE_SCOPE.
Click Source Link
From source file:com.adviser.maven.GraphArtifactCollector.java
License:Apache License
private void checkScopeUpdate(ResolutionNode farthest, ResolutionNode nearest, List listeners) { boolean updateScope = false; Artifact farthestArtifact = farthest.getArtifact(); Artifact nearestArtifact = nearest.getArtifact(); if (Artifact.SCOPE_RUNTIME.equals(farthestArtifact.getScope()) && (Artifact.SCOPE_TEST.equals(nearestArtifact.getScope()) || Artifact.SCOPE_PROVIDED.equals(nearestArtifact.getScope()))) { updateScope = true;// ww w. j a v a2s . com } if (Artifact.SCOPE_COMPILE.equals(farthestArtifact.getScope()) && !Artifact.SCOPE_COMPILE.equals(nearestArtifact.getScope())) { updateScope = true; } // current POM rules all if (nearest.getDepth() < 2 && updateScope) { updateScope = false; fireEvent(ResolutionListener.UPDATE_SCOPE_CURRENT_POM, listeners, nearest, farthestArtifact); } if (updateScope) { fireEvent(ResolutionListener.UPDATE_SCOPE, listeners, nearest, farthestArtifact); // previously we cloned the artifact, but it is more effecient to // just update the scope // if problems are later discovered that the original object needs // its original scope value, cloning may // again be appropriate nearestArtifact.setScope(farthestArtifact.getScope()); } }
From source file:com.adviser.maven.GraphArtifactCollector.java
License:Apache License
private void fireEvent(int event, List listeners, ResolutionNode node, Artifact replacement, VersionRange newRange) {// w ww. j av a2 s.c om for (Iterator i = listeners.iterator(); i.hasNext();) { ResolutionListener listener = (ResolutionListener) i.next(); switch (event) { case ResolutionListener.TEST_ARTIFACT: listener.testArtifact(node.getArtifact()); break; case ResolutionListener.PROCESS_CHILDREN: listener.startProcessChildren(node.getArtifact()); break; case ResolutionListener.FINISH_PROCESSING_CHILDREN: listener.endProcessChildren(node.getArtifact()); break; case ResolutionListener.INCLUDE_ARTIFACT: listener.includeArtifact(node.getArtifact()); break; case ResolutionListener.OMIT_FOR_NEARER: String version = node.getArtifact().getVersion(); String replacementVersion = replacement.getVersion(); if (version != null ? !version.equals(replacementVersion) : replacementVersion != null) { listener.omitForNearer(node.getArtifact(), replacement); } break; case ResolutionListener.OMIT_FOR_CYCLE: listener.omitForCycle(node.getArtifact()); break; case ResolutionListener.UPDATE_SCOPE: listener.updateScope(node.getArtifact(), replacement.getScope()); break; case ResolutionListener.UPDATE_SCOPE_CURRENT_POM: listener.updateScopeCurrentPom(node.getArtifact(), replacement.getScope()); break; case ResolutionListener.MANAGE_ARTIFACT: listener.manageArtifact(node.getArtifact(), replacement); break; case ResolutionListener.SELECT_VERSION_FROM_RANGE: listener.selectVersionFromRange(node.getArtifact()); break; case ResolutionListener.RESTRICT_RANGE: if (node.getArtifact().getVersionRange().hasRestrictions() || replacement.getVersionRange().hasRestrictions()) { listener.restrictRange(node.getArtifact(), replacement, newRange); } break; default: throw new IllegalStateException("Unknown event: " + event); } } }
From source file:org.universAAL.maven.treebuilder.DependencyTreeBuilder.java
License:Apache License
/** * FireEvent methods are used for sending events related resolution process * to the listeners passed as arguments. * /*from w ww. ja v a2 s .c om*/ * @param event * Integer value of the event. * @param listener * Listener which will be notified about the event. * @param node * Node related to the event. * @param replacement * Node which will replace the one passed in the previous * argument. * @param newRange * A new range which will be applied in case of RESTRICT_RANGE * event. */ private void fireEvent(final int event, final DependencyTreeResolutionListener listener, final ResolutionNode node, final ResolutionNode replacement, final VersionRange newRange) { switch (event) { case ResolutionListener.TEST_ARTIFACT: listener.testArtifact(node.getArtifact()); break; case ResolutionListener.PROCESS_CHILDREN: listener.startProcessChildren(node.getArtifact()); break; case ResolutionListener.FINISH_PROCESSING_CHILDREN: listener.endProcessChildren(node.getArtifact()); break; case ResolutionListener.INCLUDE_ARTIFACT: listener.includeArtifact(node); break; case ResolutionListener.OMIT_FOR_NEARER: listener.omitForNearer(node, replacement); break; case ResolutionListener.OMIT_FOR_CYCLE: listener.omitForCycle(node); break; case ResolutionListener.UPDATE_SCOPE: listener.updateScope(node, replacement.getArtifact().getScope()); break; case ResolutionListener.UPDATE_SCOPE_CURRENT_POM: listener.updateScopeCurrentPom(node, replacement.getArtifact().getScope()); break; case ResolutionListener.MANAGE_ARTIFACT_VERSION: if (listener instanceof ResolutionListenerForDepMgmt) { ResolutionListenerForDepMgmt asImpl = listener; asImpl.manageArtifactVersion(node.getArtifact(), replacement.getArtifact()); } else { listener.manageArtifact(node.getArtifact(), replacement.getArtifact()); } break; case ResolutionListener.MANAGE_ARTIFACT_SCOPE: if (listener instanceof ResolutionListenerForDepMgmt) { ResolutionListenerForDepMgmt asImpl = listener; asImpl.manageArtifactScope(node.getArtifact(), replacement.getArtifact()); } else { listener.manageArtifact(node.getArtifact(), replacement.getArtifact()); } break; case ResolutionListener.SELECT_VERSION_FROM_RANGE: listener.selectVersionFromRange(node.getArtifact()); break; case ResolutionListener.RESTRICT_RANGE: if (node.getArtifact().getVersionRange().hasRestrictions() || replacement.getArtifact().getVersionRange().hasRestrictions()) { listener.restrictRange(node.getArtifact(), replacement.getArtifact(), newRange); } break; default: throw new IllegalStateException("Unknown event: " + event); } }