Interface DependencyResolver

All Known Implementing Classes:
AbstractOSGiResolver, AbstractPatternsBasedResolver, AbstractResolver, AbstractSshBasedResolver, AbstractWorkspaceResolver, AggregatedOSGiResolver, BasicResolver, BintrayResolver, CacheResolver, ChainResolver, DualResolver, FileSystemResolver, IBiblioResolver, IvyRepResolver, JarResolver, MirroredURLResolver, OBRResolver, PackagerResolver, RepositoryResolver, SFTPResolver, SshResolver, UpdateSiteResolver, URLResolver, VfsResolver, VsftpResolver, WorkspaceChainResolver

public interface DependencyResolver
  • Method Details

    • getName

      String getName()
    • setName

      void setName(String name)
      Should only be used by configurator
      Parameters:
      name - the new name of the resolver
    • getDependency

      Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquely the revision of the module outside of the current environment, then the resolved revision must begin by ##)
      Parameters:
      dd - DependencyDescriptor
      data - ResolveData
      Returns:
      ResolvedModuleRevision
      Throws:
      ParseException - if something goes wrong
    • findIvyFileRef

      Finds the module descriptor for the specified DependencyDescriptor. If this resolver can't find the module descriptor, null is returned.
      Parameters:
      dd - the dependency descriptor
      data - the resolve data
      Returns:
      the module descriptor, or null
    • download

      DownloadReport download(Artifact[] artifacts, DownloadOptions options)
      Download artifacts with specified DownloadOptions.

      The resolver will always make a best effort, and do not stop when an artifact is not available. It rather continue to attempt to download other requested artifacts, and report what has been done in the returned DownloadReport.

      The returned DownloadReport is never null, and always contain an ArtifactDownloadReport for each requested Artifact.

      Parameters:
      artifacts - an array of artifacts to download. Must not be null.
      options - options to apply for this download. Must not be null.
      Returns:
      a DownloadReport with details about each Artifact download.
    • download

      Download an artifact according to the given DownloadOptions.

      This methods is an alternative to download(Artifact[], DownloadOptions), which locates and downloads a set of artifacts. This method uses an ArtifactOrigin, and as such is only used to materialize an already located Artifact.

      Parameters:
      artifact - the location of the artifact to download. Must not be null.
      options - options to apply for this download. Must not be null.
      Returns:
      a report detailing how the download has gone, is never null.
    • exists

      boolean exists(Artifact artifact)
      Returns true if the given artifact can be located by this resolver and actually exist.
      Parameters:
      artifact - the artifact which should be tested.
      Returns:
      true if the given artifact can be located by this resolver and actually exist.
    • locate

      ArtifactOrigin locate(Artifact artifact)
      Locates the given artifact and returns its location if it can be located by this resolver and if it actually exists, or null in other cases.
      Parameters:
      artifact - the artifact which should be located
      Returns:
      the artifact location, or null if it can't be located by this resolver or doesn't exist.
    • publish

      void publish(Artifact artifact, File src, boolean overwrite) throws IOException
      Throws:
      IOException
    • beginPublishTransaction

      void beginPublishTransaction(ModuleRevisionId module, boolean overwrite) throws IOException
      Throws:
      IOException
    • abortPublishTransaction

      void abortPublishTransaction() throws IOException
      Throws:
      IOException
    • commitPublishTransaction

      void commitPublishTransaction() throws IOException
      Throws:
      IOException
    • reportFailure

      void reportFailure()
      Reports last resolve failure as Messages
    • reportFailure

      void reportFailure(Artifact art)
      Reports last artifact download failure as Messages
      Parameters:
      art - Artifact
    • listTokenValues

      String[] listTokenValues(String token, Map<String,String> otherTokenValues)
      List all the values the given token can take if other tokens are set as described in the otherTokenValues map. For instance, if token = "revision" and the map contains "organisation"->"foo" "module"->"bar" The results will be the list of revisions of the module bar from the org foo.

      Note that listing does not take into account namespaces, and return raw information without any namespace transformation. The caller is responsible for calling namespace transformation with the Namespace returned by getNamespace().

      Parameters:
      token - String
      otherTokenValues - Map
      Returns:
      String[]
    • listTokenValues

      Map<String,String>[] listTokenValues(String[] tokens, Map<String,Object> criteria)
      Same as listTokenValues(String, Map) but more generic.
      Parameters:
      tokens - the tokens of the query
      criteria - the token which have values
      Returns:
      the list of token values, must not be null
    • listOrganisations

      OrganisationEntry[] listOrganisations()
    • listModules

      ModuleEntry[] listModules(OrganisationEntry org)
    • listRevisions

      RevisionEntry[] listRevisions(ModuleEntry module)
    • getNamespace

      Namespace getNamespace()
      Returns the namespace associated with this resolver.
      Returns:
      the namespace associated with this resolver.
    • dumpSettings

      void dumpSettings()
    • setSettings

      void setSettings(ResolverSettings settings)
    • getRepositoryCacheManager

      RepositoryCacheManager getRepositoryCacheManager()
      Returns the RepositoryCacheManager used to manage the repository cache associated with this dependency resolver.
      Returns:
      the RepositoryCacheManager used to manage the repository cache associated with this dependency resolver.