Filter projects from resolveProjectArtifacts dependencies

This commit is contained in:
Tad Fisher
2025-01-31 18:03:26 -08:00
parent effc6f3c8b
commit 2ca058c5b7
3 changed files with 319 additions and 284 deletions

View File

@@ -3,6 +3,7 @@ package org.nixos.gradle2nix
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
import org.gradle.api.file.FileCollection
import org.gradle.api.invocation.Gradle
import org.gradle.api.logging.Logging
@@ -46,7 +47,12 @@ abstract class AbstractResolveAllArtifactsApplier : ResolveAllArtifactsApplier {
project.tasks.register(RESOLVE_PROJECT_TASK, ResolveProjectDependenciesTask::class.java) { task ->
task.projectName.set(project.path)
for (configuration in project.reportableConfigurations) {
task.configurations.from(configuration)
task.configurations.from(
configuration.incoming.artifactView { view ->
view.isLenient = true
view.componentFilter { it is ModuleComponentIdentifier }
}.files
)
for (artifactType in artifacts) {
task.configurations.from(project.addConfigurationArtifactResolver(configuration, artifactType))
}