Interface DependencyResolver

All Known Implementing Classes:
FileCacheResolver, FilterCliVersionResolver, MavenDependencyResolver

public interface DependencyResolver
Resolves Maven dependencies for the Smithy CLI.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Responsible for creating a DependencyResolver for the CLI, optionally based on configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addDependency(String coordinates)
    Add a dependency.
    void
    addRepository(software.amazon.smithy.build.model.MavenRepository repository)
    Add a Maven repository.
    Resolves artifacts for the configured dependencies.
  • Method Details

    • addRepository

      void addRepository(software.amazon.smithy.build.model.MavenRepository repository)
      Add a Maven repository.
      Parameters:
      repository - Repository to add.
      Throws:
      DependencyResolverException - When the repository is invalid.
    • addDependency

      void addDependency(String coordinates)
      Add a dependency.

      Coordinates must be given a group ID, artifact ID, and version in the form of "groupId:artifactId:version". Coordinates support Maven dependency ranges. Coordinates do not support LATEST, SNAPSHOT, latest-release, latest.*, or Gradle style "+" syntax.

      Parameters:
      coordinates - Dependency coordinates to add.
      Throws:
      DependencyResolverException - When the dependency is invalid.
    • resolve

      Resolves artifacts for the configured dependencies.
      Returns:
      Returns the resolved artifacts, including file on disk and coordinates.
      Throws:
      DependencyResolverException - If dependency resolution fails.