Class ResolverUtil


  • @Named
    @Singleton
    public class ResolverUtil
    extends java.lang.Object
    Helper class for using Resolver API.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.inject.Provider<org.apache.maven.execution.MavenSession> mavenSessionProvider  
      private org.eclipse.aether.RepositorySystem repositorySystem  
    • Constructor Summary

      Constructors 
      Constructor Description
      ResolverUtil​(org.eclipse.aether.RepositorySystem repositorySystem, javax.inject.Provider<org.apache.maven.execution.MavenSession> mavenSessionProvider)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Collection<org.eclipse.aether.graph.Dependency> collectDependencies​(org.eclipse.aether.graph.Dependency root)
      Collects the transitive dependencies.
      org.eclipse.aether.artifact.Artifact createArtifactFromParams​(ParamArtifact paramArtifact)
      Create an artifact based on configuration from Mojo.
      private org.eclipse.aether.artifact.Artifact createArtifactFromString​(java.lang.String artifact)  
      private org.eclipse.aether.artifact.ArtifactType getArtifactType​(java.lang.String packaging)  
      protected org.eclipse.aether.repository.RemoteRepository prepareRemoteRepository​(java.lang.String repository)  
      java.util.List<org.eclipse.aether.repository.RemoteRepository> remoteRepositories​(java.util.List<java.lang.String> repositories)
      Prepare a remote repositories list for given descriptions.
      org.eclipse.aether.artifact.Artifact resolveArtifact​(org.eclipse.aether.artifact.Artifact artifact, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories)
      Resolve given artifact
      java.util.List<org.eclipse.aether.artifact.Artifact> resolveDependencies​(org.eclipse.aether.artifact.Artifact artifact, java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories)
      Resolve transitive dependencies for artifact.
      • Methods inherited from class java.lang.Object

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

      • repositorySystem

        private final org.eclipse.aether.RepositorySystem repositorySystem
      • mavenSessionProvider

        private final javax.inject.Provider<org.apache.maven.execution.MavenSession> mavenSessionProvider
    • Constructor Detail

      • ResolverUtil

        @Inject
        public ResolverUtil​(org.eclipse.aether.RepositorySystem repositorySystem,
                            javax.inject.Provider<org.apache.maven.execution.MavenSession> mavenSessionProvider)
    • Method Detail

      • collectDependencies

        public java.util.Collection<org.eclipse.aether.graph.Dependency> collectDependencies​(org.eclipse.aether.graph.Dependency root)
                                                                                      throws org.eclipse.aether.collection.DependencyCollectionException
        Collects the transitive dependencies.
        Parameters:
        root - a root dependency for collections
        Returns:
        a resolved dependencies collections
        Throws:
        org.eclipse.aether.collection.DependencyCollectionException
      • resolveArtifact

        public org.eclipse.aether.artifact.Artifact resolveArtifact​(org.eclipse.aether.artifact.Artifact artifact,
                                                                    java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories)
                                                             throws org.eclipse.aether.resolution.ArtifactResolutionException
        Resolve given artifact
        Parameters:
        artifact - an artifact to resolve
        repositories - remote repositories list
        Returns:
        resolved artifact
        Throws:
        org.eclipse.aether.resolution.ArtifactResolutionException - If the artifact could not be resolved.
      • resolveDependencies

        public java.util.List<org.eclipse.aether.artifact.Artifact> resolveDependencies​(org.eclipse.aether.artifact.Artifact artifact,
                                                                                        java.util.List<org.eclipse.aether.repository.RemoteRepository> repositories)
                                                                                 throws org.eclipse.aether.resolution.DependencyResolutionException
        Resolve transitive dependencies for artifact.
        Parameters:
        artifact - an artifact to resolve
        repositories - remote repositories list
        Returns:
        list of transitive dependencies for artifact
        Throws:
        org.eclipse.aether.resolution.DependencyResolutionException - If the dependency tree could not be built or any dependency artifact could not be resolved.
      • remoteRepositories

        public java.util.List<org.eclipse.aether.repository.RemoteRepository> remoteRepositories​(java.util.List<java.lang.String> repositories)
        Prepare a remote repositories list for given descriptions.
        Parameters:
        repositories - remote repositories descriptions
        Returns:
        a list of remote repositories
      • prepareRemoteRepository

        protected org.eclipse.aether.repository.RemoteRepository prepareRemoteRepository​(java.lang.String repository)
      • createArtifactFromParams

        public org.eclipse.aether.artifact.Artifact createArtifactFromParams​(ParamArtifact paramArtifact)
        Create an artifact based on configuration from Mojo.
        Parameters:
        paramArtifact - an artifact configuration
        Returns:
        new artifact
      • createArtifactFromString

        private org.eclipse.aether.artifact.Artifact createArtifactFromString​(java.lang.String artifact)
      • getArtifactType

        private org.eclipse.aether.artifact.ArtifactType getArtifactType​(java.lang.String packaging)