buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

// This is actually a test without an AUT (application under test).
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '21.1.2'
    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 23
        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
        }
        androidTest {
            java.srcDirs = ['src']
        }
    }
    productFlavors {
    }
}

// Building with droiddriver source. Common tests should use droiddriver from jcenter by having
// these lines instead:
// repositories {
//     jcenter()
// }
// dependencies {
//     androidTestCompile 'io.appium:droiddriver:1.0.0-BETA1' // or another version
// }
dependencies {
    androidTestCompile project(':droiddriver')
}
