title: Gradle dependency between tasks
body: <p>So this has started happening since adding the new Room android architecture library. I had issues with the AppDatabase_Impl not exsisting, which I fixed by adding kapt to the annotations as:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/44065371/android-room-persistences-library-and-kotlin">Android Room Persistences library and Kotlin</a></li>
  <li><a href="https://stackoverflow.com/questions/44142964/room-persistence-lib-implementation-in-kotlin">Room Persistence lib implementation in Kotlin</a></li>
  <li><a href="https://stackoverflow.com/questions/44154654/room-persistence-lib-implementation-in-kotlingradle-error/">Room Persistence lib implementation in Kotlin(Gradle error)</a></li>
  </ul>
  
  <p>I had other errors that I suspected were due to AS, Kotlin and Java 8, so I tried updating to AS 3.0</p>
  
  <p>I am now getting the following error when trying to build:</p>
  
  <pre><code>Information:Gradle tasks [:app:generateDebugSources,     :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources, :cryptocurrency-icons:generateDebugSources, :cryptocurrency-icons:mockableAndroidJar, :cryptocurrency-icons:generateDebugAndroidTestSources, :cryptocurrency-icons:compileDebugSources, :cryptocurrency-icons:compileDebugUnitTestSources, :cryptocurrency-icons:compileDebugAndroidTestSources]
  Error:Circular dependency between the following tasks:
  :app:compileDebugKotlin
  +--- :app:dataBindingExportBuildInfoDebug
  |    \--- :app:compileDebugKotlin (*)
  \--- :app:kaptDebugKotlin
       \--- :app:dataBindingExportBuildInfoDebug (*)
  (*) - details omitted (listed previously)
  Information:BUILD FAILED in 1s
  Information:1 error
  Information:0 warnings
  Information:See complete output in console
  </code></pre>
  
  <p>My gradle files look like:</p>
  
  <p>Project gradle</p>
  
  <pre><code>// Top-level build file where you can add configuration options common to all sub-projects/modules.
  
  buildscript {
      repositories {
          jcenter()
      }
  
      ext {
          compileSdkVersion = 25
          buildToolsVersion = "25.0.3"
          minSdkVersion = 16
          targetSdkVersion = 25
          kotlin_version = '1.1.2-4'
          gradle_version = '2.3.2'
          android_arch_room_version = '1.0.0-alpha1'
      }
  
      dependencies {
          classpath 'com.android.tools.build:gradle:3.0.0-alpha2'
          classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  
          // NOTE: Do not place your application dependencies here; they belong
          // in the individual module build.gradle files
      }
  }
  
  allprojects {
      repositories {
          jcenter()
          mavenCentral()
          maven { url 'https://jitpack.io' }
          maven { url 'https://maven.google.com' }
      }
  }
  
  task clean(type: Delete) {
      delete rootProject.buildDir
  }
  </code></pre>
  
  <p>Module gradle</p>
  
  <pre><code>apply plugin: 'com.android.library'
  
  android {
      compileSdkVersion rootProject.ext.compileSdkVersion
      buildToolsVersion rootProject.ext.buildToolsVersion
  
      defaultConfig {
          minSdkVersion rootProject.minSdkVersion
          targetSdkVersion rootProject.targetSdkVersion
          consumerProguardFiles 'consumer-proguard-rules.pro'
          versionCode 100
          versionName "1.0.0"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
  }
  
  dependencies {
      compile 'com.mikepenz:iconics-core:2.8.2@aar'
  }
  </code></pre>
  
  <p>App gradle</p>
  
  <pre><code>apply plugin: 'com.android.application'
  apply plugin: 'kotlin-android'
  apply plugin: 'kotlin-kapt'
  
  kapt {
      generateStubs = true
  }
  
  android {
      compileSdkVersion rootProject.ext.compileSdkVersion
      buildToolsVersion rootProject.ext.buildToolsVersion
      defaultConfig {
          applicationId "com.my.application"
          minSdkVersion rootProject.minSdkVersion
          targetSdkVersion rootProject.targetSdkVersion
          versionCode 1
          versionName "1.0"
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
      }
      buildTypes {
          release {
              minifyEnabled false
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
          }
      }
      dataBinding {
          enabled = true
      }
  }
  
  dependencies {
      //Jars
      compile fileTree(include: ['*.jar'], dir: 'libs')
      //Modules
      compile project(':cryptocurrency-icons')
      //Kotlin
      compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
      //Support
      compile 'com.android.support:appcompat-v7:25.3.1'
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      compile 'com.android.support:design:25.3.1'
      compile 'com.android.support:support-v4:25.3.1'
      //OSS
      compile 'com.squareup.retrofit2:retrofit:2.3.0'
      compile 'com.squareup.retrofit2:converter-scalars:2.3.0'
      compile 'com.github.daniel-stoneuk:material-about-library:1.9.0'
      compile 'com.mikepenz:iconics-core:2.8.2@aar'
      compile 'com.mikepenz:community-material-typeface:1.9.32.1@aar'
      compile 'com.github.paolorotolo:appintro:4.1.0'
      compile 'com.journeyapps:zxing-android-embedded:3.5.0'
      //Data binding
      kapt "com.android.databinding:compiler:$gradle_version"
      //Room
      compile "android.arch.persistence.room:runtime:$android_arch_room_version"
      kapt  "android.arch.persistence.room:compiler:$android_arch_room_version"
      //Test
      testCompile 'junit:junit:4.12'
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
          exclude group: 'com.android.support', module: 'support-annotations'
      })
  }
  repositories {
      mavenCentral()
  }
  </code></pre>