Interface DependencyResolver
- All Known Implementing Classes:
FileCacheResolver,FilterCliVersionResolver,MavenDependencyResolver
public interface DependencyResolver
Resolves Maven dependencies for the Smithy CLI.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceResponsible for creating aDependencyResolverfor the CLI, optionally based on configuration. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDependency(String coordinates) Add a dependency.voidaddRepository(MavenRepository repository) Add a Maven repository.resolve()Resolves artifacts for the configured dependencies.
-
Method Details
-
addRepository
Add a Maven repository.- Parameters:
repository- Repository to add.- Throws:
DependencyResolverException- When the repository is invalid.
-
addDependency
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
List<ResolvedArtifact> resolve()Resolves artifacts for the configured dependencies.- Returns:
- Returns the resolved artifacts, including file on disk and coordinates.
- Throws:
DependencyResolverException- If dependency resolution fails.
-