public class DependencyResolution
extends java.lang.Object
| Constructor and Description |
|---|
DependencyResolution() |
| Modifier and Type | Method and Description |
|---|---|
static void |
apply(org.gradle.api.Project project,
Logger logger,
GithubExtension githubExtension,
Releases releases)
Same as
apply(Project, Logger, GithubExtension, Releases, AddedJars), with a fresh,
private dedup set: nothing outside the GitHub branches shares it. |
static void |
apply(org.gradle.api.Project project,
Logger logger,
GithubExtension githubExtension,
Releases releases,
AddedJars addedJars)
Resolves every
githubImplementation/githubApi/etc. |
public static void apply(org.gradle.api.Project project,
Logger logger,
GithubExtension githubExtension,
Releases releases)
apply(Project, Logger, GithubExtension, Releases, AddedJars), with a fresh,
private dedup set: nothing outside the GitHub branches shares it.project - the project whose GitHub dependency configurations are resolved.logger - receives diagnostic output.githubExtension - the extension supplying resilience.skipOnRateLimit.releases - the client used to resolve each dependency to a jar.public static void apply(org.gradle.api.Project project,
Logger logger,
GithubExtension githubExtension,
Releases releases,
AddedJars addedJars)
githubImplementation/githubApi/etc. dependency into a local
jar and adds it to the matching native Gradle configuration, after the project is evaluated.project - the project whose GitHub dependency configurations are resolved.logger - receives diagnostic output.githubExtension - the extension supplying resilience.skipOnRateLimit.releases - the client used to resolve each dependency to a jar.addedJars - the dedup filter, keyed by native configuration and resolved jar; pass the same one given to
SourcesResolution.apply(org.gradle.api.Project, io.github.intisy.gradle.github.plugin.Logger, io.github.intisy.gradle.github.plugin.extension.SourcesExtension, io.github.intisy.gradle.github.api.capability.SourceBuilds, io.github.intisy.gradle.github.api.capability.Downloads, io.github.intisy.gradle.github.plugin.AddedJars) so a jar reachable from both a github* coordinate and
a sources { } entry is added to a native configuration only once.Releases.resolveWithDependencies(java.lang.String, java.lang.String, java.lang.String) deduplicates cycles only within a single
call. addedJars extends that dedup across every configuration, every branch, and
every sources { } entry: the no-classifier branch
(Releases.resolveWithDependencies(java.lang.String, java.lang.String, java.lang.String)), the :all branch
(Releases.downloadAllModuleJars(java.lang.String, java.lang.String, java.lang.String)), the explicit-classifier branch
(Releases.downloadJar(String, String, String, String)), and SourcesResolution
all consult it, keyed by the native configuration and the resolved file. The guarantee is only as strong as the
cache-naming scheme behind that File: both the release cache and the source-build
cache key a jar by unescaped "-"-joined string concatenation (owner, repo, version or
commit), so two logically distinct artifacts could in principle collide on the same path and
be treated as one jar. The url-download cache sidesteps this by keying on a hash of the URL
instead.