Groovy 'indy' version is not reported when the 'dependencies' help task is run


(Matthew Salvatore) #1

When running the ‘dependencies’ help task, the ‘indy’ (invoke dynamic) portion of the Groovy version is left out of the task output. I am assuming that any classifiers are omitted from the report. I’m not sure if this is considered a bug, but I did find it confusing since we had an issue where both indy and non-indy versions were being pulled in via transitive dependencies (which was causing problems for us!). I’ve included an example - using the build file below, run the following command:

gradle dependencies --configuration compile

Task Output:

...
compile - Compile classpath for source set 'main'.
\--- org.codehaus.groovy:groovy-all:2.2.1
...

I’ve created the copyDeps task to demonstrate that the indy version of Groovy is actually being downloaded and used by the build.

Build file:

apply plugin: 'groovy'
  ext {
    groovyVersion = '2.2.1'
}
  repositories {
    mavenCentral()
}
  dependencies {
    compile "org.codehaus.groovy:groovy-all:${groovyVersion}:indy"
}
  task copyDeps(type: Copy, dependsOn: build) {
    from configurations.compile
    into 'build/deps'
}

(Peter Niederwieser) #2

The output shows Maven/Ivy modules. With a classifier, it’s still the same module, just a different main artifact. That said, you raise a valid point, and perhaps we can do something to improve usability. Filed GRADLE-2978.