Example usage for org.apache.maven.artifact Artifact SCOPE_COMPILE_PLUS_RUNTIME

List of usage examples for org.apache.maven.artifact Artifact SCOPE_COMPILE_PLUS_RUNTIME

Introduction

In this page you can find the example usage for org.apache.maven.artifact Artifact SCOPE_COMPILE_PLUS_RUNTIME.

Prototype

String SCOPE_COMPILE_PLUS_RUNTIME

To view the source code for org.apache.maven.artifact Artifact SCOPE_COMPILE_PLUS_RUNTIME.

Click Source Link

Usage

From source file:info.thinkmore.maven.plugin.cofoja.CofojaOfflineMojo.java

License:Apache License

boolean isScopeCompile(Artifact art) {
    Filename fn = Filename.of(art.getFile().getAbsolutePath());
    if (fn.getName().contains("jre")) {
        return false;
    }/*from   www.  ja  v a 2 s . co m*/
    if (fn.getExt().equals("zip")) {
        return false;
    }
    return art.getScope().equals(Artifact.SCOPE_COMPILE)
            || art.getScope().equals(Artifact.SCOPE_COMPILE_PLUS_RUNTIME)
            || art.getScope().equals(Artifact.SCOPE_PROVIDED) || art.getScope().equals(Artifact.SCOPE_SYSTEM);
}

From source file:org.eclipse.m2e.core.embedder.MavenModelManager.java

License:Open Source License

DependencyNode readDependencyTree(RepositorySystemSession repositorySession, MavenProject mavenProject,
        String scope) throws CoreException {
    DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(repositorySession);

    DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(
            new JavaEffectiveScopeCalculator(), new NearestVersionConflictResolver());
    session.setDependencyGraphTransformer(transformer);

    ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
    try {/*  w  w  w.  j  a va  2s . co  m*/
        Thread.currentThread().setContextClassLoader(maven.getProjectRealm(mavenProject));

        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 = MavenPluginActivator.getDefault().getRepositorySystem().collectDependencies(session, request)
                    .getRoot();
        } catch (DependencyCollectionException ex) {
            String msg = Messages.MavenModelManager_error_read;
            log.error(msg, ex);
            throw new CoreException(new Status(IStatus.ERROR, IMavenConstants.PLUGIN_ID, -1, msg, ex));
        }

        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;
    } finally {
        Thread.currentThread().setContextClassLoader(oldClassLoader);
    }
}

From source file:org.eclipse.m2e.editor.pom.DependencyTreePage.java

License:Open Source License

private void createSearchBar(IManagedForm managedForm) {
    searchControl = new SearchControl(Messages.DependencyTreePage_find, managedForm);
    searchMatcher = new SearchMatcher(searchControl);
    searchFilter = new DependencyFilter(new SearchMatcher(searchControl));
    treeViewer.addFilter(searchFilter); // by default is filtered

    ScrolledForm form = managedForm.getForm();

    IToolBarManager toolBarManager = form.getForm().getToolBarManager();
    toolBarManager.add(searchControl);//from   w  ww .  j  a  v  a2 s  .  c  o m

    class ClasspathDropdown extends Action implements IMenuCreator {
        private Menu menu;

        public ClasspathDropdown() {
            setText(Messages.DependencyTreePage_classpath);
            setImageDescriptor(MavenEditorImages.SCOPE);
            setMenuCreator(this);
        }

        public Menu getMenu(Menu parent) {
            return null;
        }

        public Menu getMenu(Control parent) {
            if (menu != null) {
                menu.dispose();
            }

            menu = new Menu(parent);
            addToMenu(menu, Messages.DependencyTreePage_scope_all, Artifact.SCOPE_TEST, currentClasspath);
            addToMenu(menu, Messages.DependencyTreePage_scope_comp_runtime, Artifact.SCOPE_COMPILE_PLUS_RUNTIME,
                    currentClasspath);
            addToMenu(menu, Messages.DependencyTreePage_scope_compile, Artifact.SCOPE_COMPILE,
                    currentClasspath);
            addToMenu(menu, Messages.DependencyTreePage_scope_runtime, Artifact.SCOPE_RUNTIME,
                    currentClasspath);
            return menu;
        }

        protected void addToMenu(Menu parent, String text, String scope, String currentScope) {
            ClasspathAction action = new ClasspathAction(text, scope);
            action.setChecked(scope.equals(currentScope));
            new ActionContributionItem(action).fill(parent, -1);
        }

        public void dispose() {
            if (menu != null) {
                menu.dispose();
                menu = null;
            }
        }
    }
    toolBarManager.add(new ClasspathDropdown());

    toolBarManager.add(new Separator());
    toolBarManager.add(new Action(Messages.DependencyTreePage_action_refresh, MavenEditorImages.REFRESH) {
        public void run() {
            loadData(true);
        }
    });

    form.updateToolBar();

    searchControl.getSearchText().addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            isSettingSelection = true;
            selectListElements(searchMatcher);
            selectTreeElements(searchMatcher);
            setTreeFilter(searchFilter, false);
            isSettingSelection = false;
        }
    });

    searchControl.getSearchText().addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            isSettingSelection = true;
            selectListElements(searchMatcher);
            selectTreeElements(searchMatcher);
            setTreeFilter(searchFilter, false);
            isSettingSelection = false;
        }
    });
}

From source file:org.jboss.tools.maven.apt.internal.utils.ProjectUtils.java

License:Open Source License

/**
 * <p>/*from   w  ww  .  ja v  a 2s.c om*/
 * Filters the specified {@link Artifact}s to those that match the following criteria:
 * </p>
 * <ul>
 * <li>{@link Artifact#isResolved()} is <code>true</code></li>
 * <li>{@link Artifact#getArtifactHandler().getExtension()} equals "jar"</li>
 * <li>{@link Artifact#getScope()} equals {@link Artifact#SCOPE_COMPILE}</li>
 * <li>{@link Artifact#getFile()} returns a {@link File} where {@link File#isFile()} is <code>true</code></li>
 * </ul>
 * 
 * @param artifacts the {@link Set} of {@link Artifact}s to filter
 * @return the actual JAR {@link File}s available from the specified {@link Artifact}s
 */
public static List<File> filterToResolvedJars(List<Artifact> artifacts) {
    List<File> resolvedJarArtifacts = new ArrayList<File>();
    ScopeArtifactFilter filter = new ScopeArtifactFilter(Artifact.SCOPE_COMPILE_PLUS_RUNTIME);

    for (Artifact artifact : artifacts) {
        // Ensure that this Artifact should be included
        if (!artifact.isResolved())
            continue;
        if (artifact.getArtifactHandler() == null
                || !"jar".equalsIgnoreCase(artifact.getArtifactHandler().getExtension()))
            continue;
        if (!filter.include(artifact))
            continue;

        // Ensure that the Artifact resolves to a File that we can use
        File artifactJarFile = artifact.getFile();
        if (!artifactJarFile.isFile())
            continue;

        resolvedJarArtifacts.add(artifactJarFile);
    }

    return resolvedJarArtifacts;
}

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/* w  w w .  j a  va2 s.c o m*/
 * @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;
}