mirror of
https://github.com/tadfisher/gradle2nix.git
synced 2026-01-12 07:50:53 -05:00
Separate plugins for different Gradle APIs
This commit is contained in:
12
plugin/gradle81/build.gradle.kts
Normal file
12
plugin/gradle81/build.gradle.kts
Normal file
@@ -0,0 +1,12 @@
|
||||
plugins {
|
||||
`plugin-conventions`
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":plugin:gradle8"))
|
||||
compileOnly(libs.gradle.api.get81())
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
archiveFileName = "plugin-gradle81.jar"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package org.nixos.gradle2nix
|
||||
|
||||
abstract class Gradle2NixPlugin : AbstractGradle2NixPlugin(
|
||||
GradleCacheAccessFactoryG81,
|
||||
DependencyExtractorApplierG8,
|
||||
ResolveAllArtifactsApplierG8,
|
||||
)
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.nixos.gradle2nix
|
||||
|
||||
import org.gradle.api.internal.artifacts.ivyservice.ArtifactCachesProvider
|
||||
import org.gradle.api.invocation.Gradle
|
||||
|
||||
object GradleCacheAccessFactoryG81 : GradleCacheAccessFactory {
|
||||
override fun create(gradle: Gradle): GradleCacheAccess {
|
||||
return GradleCacheAccessG81(gradle)
|
||||
}
|
||||
}
|
||||
|
||||
class GradleCacheAccessG81(gradle: Gradle) : GradleCacheAccess {
|
||||
private val artifactCachesProvider = gradle.service<ArtifactCachesProvider>()
|
||||
|
||||
override fun useCache(block: () -> Unit) {
|
||||
artifactCachesProvider.writableCacheAccessCoordinator.useCache(block)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user