apply plugin: "com.android.library"
apply plugin: "me.tatarka.retrolambda"

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        testApplicationId "de.danoeh.antennapod.core.tests"
        testInstrumentationRunner "de.danoeh.antennapod.core.tests.AntennaPodTestRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }

    packagingOptions {
        exclude "META-INF/LICENSE.txt"
        exclude "META-INF/NOTICE.txt"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

repositories {
    mavenCentral()
}

dependencies {
    compile "com.android.support:support-v4:$supportVersion"
    compile "com.android.support:appcompat-v7:$supportVersion"
    compile "org.apache.commons:commons-lang3:$commonslangVersion"
    compile ("org.shredzone.flattr4j:flattr4j-core:$flattr4jVersion") {
        exclude group: "org.json", module: "json"
    }
    compile "commons-io:commons-io:$commonsioVersion"
    compile "com.jayway.android.robotium:robotium-solo:5.5.3"
    compile "org.jsoup:jsoup:$jsoupVersion"
    compile "com.github.bumptech.glide:glide:$glideVersion"
    compile "com.github.bumptech.glide:okhttp-integration:1.3.1"
    compile "com.squareup.okhttp:okhttp:$okhttpVersion"
    compile "com.squareup.okhttp:okhttp-urlconnection:$okhttpVersion"
    compile "com.squareup.okio:okio:$okioVersion"
    compile "com.nineoldandroids:library:2.4.0"
    compile "de.greenrobot:eventbus:$eventbusVersion"
    compile "io.reactivex:rxandroid:$rxAndroidVersion"

    compile project(':audioplayer-library')
}
