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:
@@ -0,0 +1,38 @@
|
||||
package org.nixos.gradle2nix
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.model.ObjectFactory
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.internal.serialization.Cached
|
||||
import org.gradle.work.DisableCachingByDefault
|
||||
import org.nixos.gradle2nix.model.RESOLVE_PROJECT_TASK
|
||||
import javax.inject.Inject
|
||||
|
||||
object ResolveAllArtifactsApplierG8 : AbstractResolveAllArtifactsApplier() {
|
||||
override fun Project.registerProjectTask(): TaskProvider<*> =
|
||||
tasks.register(RESOLVE_PROJECT_TASK, ResolveProjectDependenciesTaskG8::class.java)
|
||||
}
|
||||
|
||||
@DisableCachingByDefault(because = "Not worth caching")
|
||||
abstract class ResolveProjectDependenciesTaskG8
|
||||
@Inject
|
||||
constructor(
|
||||
private val objects: ObjectFactory,
|
||||
) : ResolveProjectDependenciesTask() {
|
||||
private val artifactFiles = Cached.of { artifactFiles() }
|
||||
|
||||
private fun artifactFiles(): FileCollection {
|
||||
return objects.fileCollection().from(
|
||||
getReportableConfigurations().map { configuration ->
|
||||
configuration.artifactFiles()
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@TaskAction
|
||||
fun action() {
|
||||
artifactFiles.get().count()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user