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

View File

@@ -18,12 +18,14 @@ object DependencyExtractorApplierG8 : DependencyExtractorApplier {
extractor: DependencyExtractor,
) {
val serviceProvider =
gradle.sharedServices.registerIfAbsent(
"nixDependencyExtractor",
DependencyExtractorService::class.java,
) {}.map { service ->
service.apply { this.extractor = extractor }
}
gradle.sharedServices
.registerIfAbsent(
"nixDependencyExtractor",
DependencyExtractorService::class.java,
) {}
.map { service ->
service.apply { this.extractor = extractor }
}
gradle.service<BuildEventListenerRegistryInternal>().onOperationCompletion(serviceProvider)
}
@@ -31,7 +33,9 @@ object DependencyExtractorApplierG8 : DependencyExtractorApplier {
@Suppress("UnstableApiUsage")
internal abstract class DependencyExtractorService :
BuildService<BuildServiceParameters.None>, BuildOperationListener, AutoCloseable {
BuildService<BuildServiceParameters.None>,
BuildOperationListener,
AutoCloseable {
var extractor: DependencyExtractor? = null
override fun started(

View File

@@ -23,13 +23,12 @@ abstract class ResolveProjectDependenciesTaskG8
) : ResolveProjectDependenciesTask() {
private val artifactFiles = Cached.of { artifactFiles() }
private fun artifactFiles(): FileCollection {
return objects.fileCollection().from(
private fun artifactFiles(): FileCollection =
objects.fileCollection().from(
getReportableConfigurations().map { configuration ->
configuration.artifactFiles()
},
)
}
@TaskAction
fun action() {