Interface ArtifactResolutionQuery


  • public interface ArtifactResolutionQuery
    A builder to construct a query that can resolve selected software artifacts of the specified components.

    This is a legacy API and is in maintenance mode. In future versions of Gradle, this API will be deprecated and removed. New code should not use this API. Prefer ArtifactView.ViewConfiguration.withVariantReselection() for resolving sources and javadoc.

     plugins {
         id 'java'
     }
    
     task resolveCompileSources {
         doLast {
             def componentIds = configurations.compileClasspath.incoming.resolutionResult.allDependencies.collect { it.selected.id }
    
             def result = dependencies.createArtifactResolutionQuery()
                                      .forComponents(componentIds)
                                      .withArtifacts(JvmLibrary, SourcesArtifact, JavadocArtifact)
                                      .execute()
    
             for (component in result.resolvedComponents) {
                 component.getArtifacts(SourcesArtifact).each { println "Source artifact for ${component.id}: ${it.file}" }
             }
         }
     }
     
    Since:
    2.0
    • Method Detail

      • forComponents

        ArtifactResolutionQuery forComponents​(java.lang.Iterable<? extends ComponentIdentifier> componentIds)
        Specifies the set of components to include in the result.
        Parameters:
        componentIds - The identifiers of the components to be queried.
      • forComponents

        ArtifactResolutionQuery forComponents​(ComponentIdentifier... componentIds)
        Specifies the set of components to include in the result.
        Parameters:
        componentIds - The identifiers of the components to be queried.
      • forModule

        ArtifactResolutionQuery forModule​(java.lang.String group,
                                          java.lang.String name,
                                          java.lang.String version)
        Specifies a module component to include in the result using its GAV coordinates.
        Parameters:
        group - Module group.
        name - Module name.
        version - Module version.
        Since:
        4.5
      • withArtifacts

        ArtifactResolutionQuery withArtifacts​(java.lang.Class<? extends Component> componentType,
                                              java.lang.Class<? extends Artifact>... artifactTypes)
        Defines the type of component that is expected in the result, and the artifacts to retrieve for components of this type. Presently, only a single component type and set of artifacts is permitted.
        Parameters:
        componentType - The expected type of the component.
        artifactTypes - The artifacts to retrieve for the queried components.
      • withArtifacts

        ArtifactResolutionQuery withArtifacts​(java.lang.Class<? extends Component> componentType,
                                              java.util.Collection<java.lang.Class<? extends Artifact>> artifactTypes)
        Defines the type of component that is expected in the result, and the artifacts to retrieve for components of this type. Presently, only a single component type and set of artifacts is permitted.
        Parameters:
        componentType - The expected type of the component.
        artifactTypes - The artifacts to retrieve for the queried components.
        Since:
        4.5