Interface JarResolver
- All Known Implementing Classes:
JarResolverImpl
public interface JarResolver
Resolves a
ResolutionRequest to a jar, dispatching to Releases,
SourceBuilds, or a jar-download capability by the request's own strategy so callers
never branch on it themselves.-
Method Summary
-
Method Details
-
resolve
- Parameters:
request- the coordinate to resolve, naming a release version, a GitHub source branch/commit, a git clone URL/ref, or a jar URL; construct viaResolutionRequest.fromRelease(java.lang.String, java.lang.String, java.lang.String),ResolutionRequest.fromSource(java.lang.String, java.lang.String, java.lang.String, java.lang.String),ResolutionRequest.fromGit(java.lang.String, java.lang.String), orResolutionRequest.fromUrl(java.lang.String, java.util.Map<java.lang.String, java.lang.String>).- Returns:
- the resolved jar file; never null.
- Throws:
ReleaseNotFoundException- ifrequestnames a release: thrown by this method itself, naming the coordinate, whenReleases.downloadJar(String, String, String)returns an emptyOptional(no release matches the version, or the release has no matching jar asset).IOException- ifrequestnames a source or git build andSourceBuilds.buildFromSource(java.lang.String, java.lang.String, java.lang.String, java.lang.String)fails to check out or build the requested ref.
-