public interface JarResolver
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.| Modifier and Type | Method and Description |
|---|---|
java.io.File |
resolve(ResolutionRequest request) |
java.io.File resolve(ResolutionRequest request) throws java.io.IOException
request - the coordinate to resolve, naming a release version, a GitHub source
branch/commit, a git clone URL/ref, or a jar URL; construct via ResolutionRequest.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), or ResolutionRequest.fromUrl(java.lang.String, java.util.Map<java.lang.String, java.lang.String>).ReleaseNotFoundException - if request names a release: thrown by this method
itself, naming the coordinate, when Releases.downloadJar(String, String, String)
returns an empty Optional (no release matches the version, or the release has no
matching jar asset).java.io.IOException - if request names a source or git build and
SourceBuilds.buildFromSource(java.lang.String, java.lang.String, java.lang.String, java.lang.String) fails to check out or build the requested ref.