Move Gradle build logic to a setup hook

This commit is contained in:
Tad Fisher
2024-06-13 15:21:58 -07:00
parent a4ef499401
commit b32bf21a6c
26 changed files with 768 additions and 470 deletions

42
nix/init.gradle Normal file
View File

@@ -0,0 +1,42 @@
import org.gradle.util.GradleVersion
static boolean versionAtLeast(String version) {
return GradleVersion.current() >= GradleVersion.version(version)
}
static void configureRepos(RepositoryHandler repositories) {
repositories.configureEach { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
repo.setArtifactUrls(new HashSet<URI>())
repo.url 'file:@mavenRepo@'
repo.metadataSources {
gradleMetadata()
mavenPom()
artifact()
}
} else if (repo instanceof IvyArtifactRepository) {
repo.url 'file:@mavenRepo@'
repo.layout('maven')
repo.metadataSources {
gradleMetadata()
ivyDescriptor()
artifact()
}
} else if (repo instanceof UrlArtifactRepository) {
repo.url 'file:/homeless-shelter'
}
}
}
beforeSettings { settings ->
configureRepos(settings.pluginManagement.repositories)
configureRepos(settings.buildscript.repositories)
if (versionAtLeast("6.8")) {
configureRepos(settings.dependencyResolutionManagement.repositories)
}
}
beforeProject { project ->
configureRepos(project.buildscript.repositories)
configureRepos(project.repositories)
}