title: What dependencies should one be putting in each module of an instant app?
body: <p>I'm in the process of writing an instant app for others to learn how to write an instant app and hoping to get some ideas on how to best structure the app for dependencies. </p>
  
  <p>Now reading the <a href="https://developer.android.com/topic/instant-apps/getting-started/structure.html" rel="nofollow noreferrer">Android developer docs on project structure</a> and referencing the diagram below:</p>
  
  <p><a href="https://i.stack.imgur.com/GiM7A.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GiM7A.png" alt="enter image description here"></a></p>
  
  <p>I'm wondering with the new <a href="https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations" rel="nofollow noreferrer">gradle 3.0 dependency configurations</a>, what libraries should live in which modules? </p>
  
  <p><strong>Base Feature</strong> </p>
  
  <p>I was thinking pretty much anything in the base feature module should be using the <code>api</code> gradle configuration since the base feature module essentially compiles down to an AAR library file. One question I might have for this module, if one was to use ROOM would this be the module to place it in?</p>
  
  <p><strong>Feature</strong> </p>
  
  <p>Now in the feature modules, it is my understanding that everything should be utilizing the <code>implementation</code> gradle configuration since these modules should not leak there dependencies out to any other modules in order to truly make them independent from one another. </p>
  
  <p>Just looking for some confirmation of my understanding and also any ideas to help with the project. <a href="https://github.com/plusmobileapps/InstantAppTutorial" rel="nofollow noreferrer">Here</a> is the github repo if you want to check out the code I got so far. It is really simple at the moment, but I was thinking about messing around with the Star Wars API using Retrofit. </p>
  
  <p>Thanks for any help and gladly accept any contributions if you want to to try and make a pull request yourself for any other concepts in making an instant app that others should know. </p>