apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.1"
    defaultConfig {
        applicationId "org.appspot.apprtc"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    sourceSets {
        main {
            manifest.srcFile "../../androidapp/AndroidManifest.xml"
            java.srcDirs = [
                    "../../androidapp/src"
            ]
            res.srcDirs = [
                    "../../androidapp/res"
            ]
        }
        androidTest {
            manifest.srcFile "../../androidtests/AndroidManifest.xml"
            java.srcDirs = [
                    "../../androidtests/src"
            ]
            // This test doesn't work in Android Studio.
            java.exclude('**/CallActivityStubbedInputOutputTest.java')
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: '../../androidapp/third_party/autobanh/lib', include: ['autobanh.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.google.code.findbugs:jsr305:3.0.2'
    implementation 'org.webrtc:google-webrtc:1.0.+'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
