All Classes and Interfaces
Class
Description
A single JAR artifact to include in a GitHub release.
Thrown when a requested release, or a release asset, genuinely does not exist: no release
matches the requested tag, or a matched release has no jar asset satisfying the request.
Configures GitHub authentication credentials.
A helper class for editing a project's build file.
Runs a build against a checked-out repository.
Shells out to the checkout's own
gradlew wrapper, so the build runs with whatever
Gradle version and plugin configuration the checkout itself declares.Configures the local GitHub CLI (
gh) transport.Derives an owner/repo-shaped identity from an arbitrary git clone URL, for use as a
cache-directory or cached-jar-file naming key only; never used to construct the actual clone
URL.
A
GitHubLogger for use outside a Gradle build, writing every level to System.err
so System.out stays clean for consumers that parse it.The authentication material resolved for GitHub API and git-transport access.
A GitHub-hosted dependency declared by a jar's embedded
META-INF/github-dependencies.json.Generates
META-INF/github-dependencies.json from the githubImplementation dependencies.Resolves each GitHub dependency configuration's declared dependencies into local JAR files.
Registers the
printGithubDependencies and updateGithubDependencies tasks.Downloads a jar from an arbitrary HTTP(S) URL, with no repository or git host involved.
Author: Finn Birich
GitHub helper class for managing GitHub repositories, releases, and assets.
The single entry point for consuming the GitHub client outside a Gradle build.
Routes GitHub REST calls through the local
gh CLI (gh api ...) instead of direct HTTP.Supplies the configuration
GitHub needs, without requiring a Gradle build script.Assembles an immutable
GitHubConfig by composing AuthSettings,
CliSettings and ResilienceSettings, the same settings types the Gradle DSL
configures.Registers the plugin's GitHub dependency configurations.
Extension for configuring GitHub integration.
Receives diagnostic output from
GitHub without requiring a Gradle Project.Adapts the host-agnostic
SourceBuilder to the GitHub-specific SourceBuilds
capability by resolving owner/repo to a github.com clone URL before
delegating, so the source-build strategy behaves exactly as it did before SourceBuilder took an explicit clone URL.A single
sources { git { } } entry: an arbitrary git repository to clone, build, and
add to a native Gradle configuration.This utility class provides methods for interacting with Gradle.
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.A single
sources { jar { } } entry: a direct jar URL to download and add to a native
Gradle configuration, with no repository or git host involved.A logger for the GitHub plugin.
Extension for configuring the
publishGithub task.Creates GitHub releases and uploads assets to them.
Registers the
publishGithub task.Thrown when a GitHub API request fails because the rate limit has been exceeded (60
requests/hour unauthenticated, 5,000/hour with a token).
Follows a redirect with a policy OkHttp's own on/off
followRedirects cannot express:
a same-host redirect keeps the caller's headers (same origin, nothing leaks); a cross-host
redirect is still followed, but the caller's headers are stripped first, which is exactly what
makes a presigned-URL redirect from a private Nexus/Artifactory/S3-backed host work, since the
new URL carries its own authorization; an https-to-http redirect is never followed at all, so a
header can never be forwarded to the target in cleartext by way of a downgrade.A GitHub release: its identity (
id, tag, name, htmlUrl) and the
URL assets are uploaded to.Thrown when no release matches the requested tag at all: a typo'd version, a deleted or
renamed tag, or a version that was simply never released.
Resolves and downloads GitHub release artifacts.
The GitHub owner and repository name a local checkout's
origin remote resolves to.Clones, updates and inspects a local checkout of a GitHub repository.
Repositories that builds a fresh, per-call GitHub scoped to the exact owner and
repo an operation names, instead of reusing the single GitHub GitHubApi.create
was given.Configures how the plugin behaves when GitHub cannot be reached as expected.
A single coordinate to resolve to a jar, naming a release version, a GitHub source branch and
commit, an arbitrary git clone URL and ref, or a direct jar URL.
Which capability a
ResolutionRequest is satisfied by.Configures external resources to be used in the project.
Syncs the configured GitHub resource repository into the project's resources before they are processed.
Clones an arbitrary git URL and builds it, caching the resulting jar by commit, so a repeated
request for the same commit never re-runs the build.
Builds a git repository from source and caches the resulting jar by resolved commit.
Extension for declaring dependencies resolved from an arbitrary git host or a direct jar URL,
as opposed to a GitHub release (see
github { }).Resolves every
sources { git { } / jar { } } entry into a local jar and adds it to its
configured native Gradle configuration, after the project is evaluated.SHA-256 hashing shared by every cache that is keyed by a hash of a URL rather than the URL
itself, so a credential embedded in the URL never has to be written to a cache path.
Downloads a jar from an arbitrary HTTP(S) URL, caching it under a directory keyed by a hash of
jarUrl, and verifying an optional expected SHA-256 of the downloaded content.Strips the parts of a URL that can carry a credential (userinfo, the query string) before it
is used in a log line or an exception message.