title: Transitive dependencies for local aar library
body: <p>We're making some library, basicly for our API, that we would make life easier for our external developers.</p>
  
  <p>So we created new library project and put Retrofit and some other libraries as dependencies.</p>
  
  <pre><code>dependencies {
      compile 'com.android.support:appcompat-v7:23.3.0'
      compile 'com.google.code.gson:gson:2.6.2'
      compile 'com.squareup.retrofit2:retrofit:2.0.1'
      compile 'com.squareup.retrofit2:converter-gson:2.0.1'
      compile 'com.squareup.okhttp3:okhttp:3.2.0'
  }
  </code></pre>
  
  <p>Now when we build it, it produces <code>aar</code> file.</p>
  
  <p>But now when we put the <code>aar</code> file to <code>libs</code> directory and set it as dependency, we still have to put the same dependency in user's <code>build.gradle</code> file, which sucks. It should be taken from the library, right?</p>
  
  <pre><code>repositories {
      flatDir {
          dirs 'libs'
      }
  }
  
  dependencies {
      compile(name: 'ourlibrary', ext: 'aar') {
          transitive = true;
      }
  }
  </code></pre>
  
  <p>How to make <code>transitive = true</code> work?</p>