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.
Dispatches a ResolutionRequest to Releases, SourceBuilds, or Downloads by its strategy.
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.