ArtifactResolutionQuery

API Documentation: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 <UNHANDLED-LINK>ArtifactView.ViewConfiguration#withVariantReselection()</UNHANDLED-LINK> 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}" }
        }
    }
}

Properties

No properties

Methods

MethodDescription
execute()

Actually execute the query, returning a query result. Note that ArtifactResolutionQuery.withArtifacts(java.lang.Class, java.lang.Class[]) must be called before executing the query.

forComponents(componentIds)

Specifies the set of components to include in the result.

forComponents(componentIds)

Specifies the set of components to include in the result.

forModule(group, name, version)

Specifies a module component to include in the result using its GAV coordinates.

withArtifacts(componentType, 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.

withArtifacts(componentType, 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.

Script blocks

No script blocks

Method details

Actually execute the query, returning a query result. Note that ArtifactResolutionQuery.withArtifacts(java.lang.Class, java.lang.Class[]) must be called before executing the query.

ArtifactResolutionQuery forComponents(Iterable<? extends ComponentIdentifier> componentIds)

Specifies the set of components to include in the result.

ArtifactResolutionQuery forComponents(ComponentIdentifier... componentIds)

Specifies the set of components to include in the result.

ArtifactResolutionQuery forModule(String group, String name, String version)

Specifies a module component to include in the result using its GAV coordinates.

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.

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