Class FileCacheResolver
- java.lang.Object
-
- software.amazon.smithy.cli.dependencies.FileCacheResolver
-
- All Implemented Interfaces:
DependencyResolver
public final class FileCacheResolver extends java.lang.Object implements DependencyResolver
A resolver that loads and caches resolved artifacts to a JSON file if the cache is fresh and resolved artifacts haven't been updated after a given reference point in time.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface software.amazon.smithy.cli.dependencies.DependencyResolver
DependencyResolver.Factory
-
-
Constructor Summary
Constructors Constructor Description FileCacheResolver(java.io.File location, long referenceTimeInMillis, DependencyResolver delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDependency(java.lang.String coordinates)Add a dependency.voidaddRepository(MavenRepository repository)Add a Maven repository.java.util.List<ResolvedArtifact>resolve()Resolves artifacts for the configured dependencies.
-
-
-
Constructor Detail
-
FileCacheResolver
public FileCacheResolver(java.io.File location, long referenceTimeInMillis, DependencyResolver delegate)- Parameters:
location- The location to the cache.referenceTimeInMillis- Invalidate cache items if this time is newer than the cache item time.delegate- Resolver to delegate to when dependencies aren't cached.
-
-
Method Detail
-
addRepository
public void addRepository(MavenRepository repository)
Description copied from interface:DependencyResolverAdd a Maven repository.- Specified by:
addRepositoryin interfaceDependencyResolver- Parameters:
repository- Repository to add.
-
addDependency
public void addDependency(java.lang.String coordinates)
Description copied from interface:DependencyResolverAdd 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.
- Specified by:
addDependencyin interfaceDependencyResolver- Parameters:
coordinates- Dependency coordinates to add.
-
resolve
public java.util.List<ResolvedArtifact> resolve()
Description copied from interface:DependencyResolverResolves artifacts for the configured dependencies.- Specified by:
resolvein interfaceDependencyResolver- Returns:
- Returns the resolved artifacts, including file on disk and coordinates.
-
-