title: Determine source of dependency version override in Gradle
body: <p>I have declared a dependency for <code>org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4</code>, but in runtime scope it is overridden to <code>1.0-groovy-2.4</code>.  Is there a way to figure out which dependency is overriding it?</p>
  
  <p><code>1.0-groovy-2.4</code> is not present in any gradle file locally, and it is not visible when I run <code>gradle dependencies</code> in the <code>shared-config</code> project.</p>
  
  <p>Here's <code>gradle dependencies</code> from the <code>main-web</code> project:</p>
  
  <pre><code>testCompile
  [...]
  +--- project :shared-config
  |    [...]
  |    +--- org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4
  [...]
  runtime
  [...]
  +--- project :shared-config
  |    [...]
  |    +--- org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4 -&gt; 1.0-groovy-2.4
  |    |    +--- org.spockframework:spock-core:1.0-groovy-2.4 -&gt; 1.1.d91bf785-groovy-2.4
  |    |    \--- org.codehaus.groovy:groovy-all:2.4.1 -&gt; 2.4.12
  </code></pre>
  
  <p><code>dependencyInsight</code> gives some insight:</p>
  
  <pre><code>$ gradle dependencyInsight --dependency org.spockframework:spock-spring:1.0-groovy-2.4 --configuration runtime    
  &gt; Task :main-web:dependencyInsight
  org.spockframework:spock-spring:1.0-groovy-2.4 (selected by rule)
  
  org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4 -&gt; 1.0-groovy-2.4
  \--- project :shared-config
       \--- runtime
  </code></pre>
  
  <p>But the same command in the <code>shared-config</code> project doesn't yield any results:</p>
  
  <pre><code>No dependencies matching given input were found in configuration ':shared-config:runtime'
  </code></pre>
  
  <p>I have tried overriding the version without success:</p>
  
  <pre><code>configurations.all {
      resolutionStrategy {
          force "org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4"
      }
  }
  </code></pre>