Class FilterCliVersionResolver

  • All Implemented Interfaces:
    DependencyResolver

    public final class FilterCliVersionResolver
    extends java.lang.Object
    implements DependencyResolver
    Removes Smithy CLI dependencies that conflict with the JARs used by the CLI.

    This makes creating a dedicated ClassLoader simpler because Smithy dependencies are provided by the parent class loader when running the CLI.

    • Constructor Detail

      • FilterCliVersionResolver

        public FilterCliVersionResolver​(java.lang.String version,
                                        DependencyResolver delegate)
        Parameters:
        version - Version of the Smithy CLI.
        delegate - Resolver to resolve dependencies and filter.
    • Method Detail

      • addDependency

        public void addDependency​(java.lang.String coordinates)
        Description copied from interface: DependencyResolver
        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.

        Specified by:
        addDependency in interface DependencyResolver
        Parameters:
        coordinates - Dependency coordinates to add.
      • resolve

        public java.util.List<ResolvedArtifact> resolve()
        Description copied from interface: DependencyResolver
        Resolves artifacts for the configured dependencies.
        Specified by:
        resolve in interface DependencyResolver
        Returns:
        Returns the resolved artifacts, including file on disk and coordinates.