Class DefaultPluginDependenciesResolver

  • All Implemented Interfaces:
    PluginDependenciesResolver

    @Component(role=PluginDependenciesResolver.class)
    public class DefaultPluginDependenciesResolver
    extends java.lang.Object
    implements PluginDependenciesResolver
    Assists in resolving the dependencies of a plugin. Warning: This is an internal utility class that is only public for technical reasons, it is not part of the public API. In particular, this class can be changed or deleted without prior notice.
    Since:
    3.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.codehaus.plexus.logging.Logger logger  
      private static java.lang.String REPOSITORY_CONTEXT  
      private org.eclipse.aether.RepositorySystem repoSystem  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.eclipse.aether.artifact.Artifact resolve​(Plugin plugin, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
      Resolves the main artifact of the specified plugin.
      org.eclipse.aether.graph.DependencyNode resolve​(Plugin plugin, org.eclipse.aether.artifact.Artifact pluginArtifact, org.eclipse.aether.graph.DependencyFilter dependencyFilter, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)
      Resolves the runtime dependencies of the specified plugin.
      org.eclipse.aether.graph.DependencyNode resolveCoreExtension​(Plugin plugin, org.eclipse.aether.graph.DependencyFilter dependencyFilter, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)  
      private org.eclipse.aether.graph.DependencyNode resolveInternal​(Plugin plugin, org.eclipse.aether.artifact.Artifact pluginArtifact, org.eclipse.aether.graph.DependencyFilter dependencyFilter, org.eclipse.aether.collection.DependencyGraphTransformer transformer, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories, org.eclipse.aether.RepositorySystemSession session)  
      private org.eclipse.aether.artifact.Artifact toArtifact​(Plugin plugin, org.eclipse.aether.RepositorySystemSession session)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • REPOSITORY_CONTEXT

        private static final java.lang.String REPOSITORY_CONTEXT
        See Also:
        Constant Field Values
      • logger

        @Requirement
        private org.codehaus.plexus.logging.Logger logger
      • repoSystem

        @Requirement
        private org.eclipse.aether.RepositorySystem repoSystem
    • Constructor Detail

      • DefaultPluginDependenciesResolver

        public DefaultPluginDependenciesResolver()
    • Method Detail

      • toArtifact

        private org.eclipse.aether.artifact.Artifact toArtifact​(Plugin plugin,
                                                                org.eclipse.aether.RepositorySystemSession session)
      • resolve

        public org.eclipse.aether.artifact.Artifact resolve​(Plugin plugin,
                                                            java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                                            org.eclipse.aether.RepositorySystemSession session)
                                                     throws PluginResolutionException
        Description copied from interface: PluginDependenciesResolver
        Resolves the main artifact of the specified plugin.
        Specified by:
        resolve in interface PluginDependenciesResolver
        Parameters:
        plugin - The plugin for which to resolve the main artifact, must not be null.
        repositories - The plugin repositories to use for resolving the plugin's main artifact, must not be null.
        session - The repository session to use for resolving the plugin's main artifact, must not be null.
        Returns:
        The resolved plugin artifact, never null.
        Throws:
        PluginResolutionException - If the plugin artifact could not be resolved.
      • resolveCoreExtension

        public org.eclipse.aether.graph.DependencyNode resolveCoreExtension​(Plugin plugin,
                                                                            org.eclipse.aether.graph.DependencyFilter dependencyFilter,
                                                                            java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                                                            org.eclipse.aether.RepositorySystemSession session)
                                                                     throws PluginResolutionException
        Throws:
        PluginResolutionException
        Since:
        3.3.0
      • resolve

        public org.eclipse.aether.graph.DependencyNode resolve​(Plugin plugin,
                                                               org.eclipse.aether.artifact.Artifact pluginArtifact,
                                                               org.eclipse.aether.graph.DependencyFilter dependencyFilter,
                                                               java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                                               org.eclipse.aether.RepositorySystemSession session)
                                                        throws PluginResolutionException
        Description copied from interface: PluginDependenciesResolver
        Resolves the runtime dependencies of the specified plugin.
        Specified by:
        resolve in interface PluginDependenciesResolver
        Parameters:
        plugin - The plugin for which to resolve the dependencies, must not be null.
        pluginArtifact - The plugin's main artifact, may be null.
        dependencyFilter - A filter to exclude artifacts from resolution (but not collection), may be null.
        repositories - The plugin repositories to use for resolving the plugin artifacts, must not be null.
        session - The repository session to use for resolving the plugin artifacts, must not be null.
        Returns:
        The dependency tree denoting the resolved plugin class path, never null.
        Throws:
        PluginResolutionException - If any dependency could not be resolved.
      • resolveInternal

        private org.eclipse.aether.graph.DependencyNode resolveInternal​(Plugin plugin,
                                                                        org.eclipse.aether.artifact.Artifact pluginArtifact,
                                                                        org.eclipse.aether.graph.DependencyFilter dependencyFilter,
                                                                        org.eclipse.aether.collection.DependencyGraphTransformer transformer,
                                                                        java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories,
                                                                        org.eclipse.aether.RepositorySystemSession session)
                                                                 throws PluginResolutionException
        Throws:
        PluginResolutionException