title: Gradle Dependency Management without Downloading to Cache
body: <h1>Motivation:</h1>
  
  <p>I have a small set of rather exceptional dependencies I'd like to introduce into my gradle build.
  Those dependecies are huge and are not necessarily part of the software I build. They are kind of an extra piece and are currently handled completely manually.</p>
  
  <p>What I'd like to do is introduce a new configuration in my gradle build, define them like I would define any other dependency and provide one task that installs those artifacts to a predetermined location and extend another task to include the version-identifier in some kind of bill of materials.</p>
  
  <p>I'm perfectly capable to do all of that. The problem arises when I try to resolve the dependency, which downloads the dependency to the gradle cache before it does anything else.</p>
  
  <p>As those artifacts are humongous (very domain-specific, can't disclose, think multiple gigabytes of images), downloading to the cache takes some time, while it doesn't add any value to neither of my two use-cases. </p>
  
  <ul>
  <li>For the bill of materials I only need to resolve the dependency without downloading it<sup>1</sup></li>
  <li>For the installation task I need to resolve and download it <em>to a specific location</em>. Having a second copy in the cache only adds unwanted complexity.</li>
  </ul>
  
  <p>I also fear that someone might accidentally reference the dependencies in some way that the dependency resolution (and automatic download) is triggered during configuration phase, which would be a big problem.</p>
  
  <h1>Question:</h1>
  
  <p>Is there a way to create a configuration in gradle so that gradle resolves the artifacts from my repositories, but instead of automatically downloading it to the gradle cache during configuration phase, allows me to download the artifacts to a specific position outside the gradle cache as part of a task?</p>
  
  <hr>
  
  <p><sup>1</sup>as I use absolute versions that basically amounts to checking if its available in the repository though I could do without</p>