Extensions and classifiers are attributes of a dependency’s artifacts. For each dependency you can call getArtifacts, which will return a set of DependencyArtifact.
Note, getArtifacts is not available for all subinterfaces of Dependency.
For example:
configurations {
deps
}
dependencies {
deps group: 'junit', name: 'junit', version: '+', ext: 'jar', classifier: 'sources'
deps group: 'junit', name: 'junit', version: '+', ext: 'jar'
deps group: 'junit', name: 'junit', version: '+'
}
task printDeps {
doLast {
configurations.deps.dependencies.each { dep ->
println "${dep.group} - ${dep.name} - ${dep.version}"
dep.artifacts.each { art ->
println " ${art.extension} - ${art.classifier}"
}
}
}
}
Outputs:
:printDeps
junit - junit - +
jar - sources
junit - junit - +
jar - null
junit - junit - +
Side question; Do you really want the configured dependencies, or do you want the resolved dependencies? In my example, the configured dependencies have a version of +, but a resolved version would be something like 4.12