Interface DependencyResolver
- All Known Implementing Classes:
FileCacheResolver
,FilterCliVersionResolver
,MavenDependencyResolver
public interface DependencyResolver
Resolves Maven dependencies for the Smithy CLI.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Responsible for creating aDependencyResolver
for the CLI, optionally based on configuration. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDependency
(String coordinates) Add a dependency.void
addRepository
(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.
-