title: Gradle trump providedCompile's exclusion?
body: <p>I've got a project that I want to use providedCompile with to avoid pulling it's libs. However, that prevents me from pulling in another project's libs that I do need. The docs say: <em>If you don't want this transitive behavior, simply declare your provided dependencies</em>, but it doesn't give an example of how to do this.</p>
  
  <p>Here's basically what my dependencies look like:</p>
  
  <pre><code>dependencies {
      compile(project(':common'))
      providedCompile(project(':projA')) // &lt;-- also depends on :common
  }
  </code></pre>
  
  <p>My war file correctly excludes all of transitive libs from projA, but I need to trump that for the common.jar and I can't figure out how to make that happen. But the docs seem to indicate it's possible...</p>
  
  <p>Edit: Here's a hacky configuration that seems to work. The combination of lines for "projA" gives me projA.jar as a dependency, but not its children. And since "common" is a compile dependency, but "projA" is only considered <em>provided</em> at runtime, I still get the common.jar due to the <em>compile</em> time dependency. I'm not sure it's supposed to work this way, but it generates the war I need.</p>
  
  <pre><code>dependencies {
      compile(project(':projA')) { transitive = false }
      providedRuntime(project(':projA')) { transitive = false }
      compile(project(':common'))
  }
  </code></pre>