Interface ArtifactResolutionQuery


  • @Incubating
    public interface ArtifactResolutionQuery
    A builder to construct a query that can resolve selected software artifacts of the specified components.
     apply plugin: 'java'
    
     task resolveCompileSources {
         doLast {
             def componentIds = configurations.compile.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​(ComponentIdentifier... componentIds)
        Specifies the set of components to include in the result.
        Parameters:
        componentIds - The identifiers of the components to be queried.
      • withArtifacts

        ArtifactResolutionQuery withArtifacts​(Class<? extends Component> componentType,
                                              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.