Example usage for org.apache.maven.artifact.resolver ResolutionListenerForDepMgmt manageArtifactVersion

List of usage examples for org.apache.maven.artifact.resolver ResolutionListenerForDepMgmt manageArtifactVersion

Introduction

In this page you can find the example usage for org.apache.maven.artifact.resolver ResolutionListenerForDepMgmt manageArtifactVersion.

Prototype

void manageArtifactVersion(Artifact artifact, Artifact replacement);

Source Link

Usage

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 www  .ja  v a 2  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);
    }
}