apply plugin: 'com.android.application'
apply plugin: 'com.getkeepsafe.dexcount'
def AAVersion = '4.2.0'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.stardust.scriptdroid"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 139
        versionName "2.0.13 Alpha2"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }
    buildTypes {
        debug {
            shrinkResources false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            shrinkResources false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
        encoding = 'utf-8'
    }
    dataBinding {
        enabled = true
    }
    lintOptions {
        disable 'MissingTranslation'
        disable 'ExtraTranslation'
    }
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def file = output.outputFile
            output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk"))
        }
    }

    dexcount {
        format = "list"
        includeClasses = true
        includeFieldCount = true
        includeTotalMethodCount = true
        orderByMethodCount = true
        verbose = true
        maxTreeDepth = Integer.MAX_VALUE
        teamCityIntegration = false
        enableForInstantRun = false
        teamCitySlug = null
        runOnEachAssemble = true
        maxMethodCount = 128000
    }
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'
    }
}

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'
    // LeakCanary (a memory leak tracer)
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
    // Storio (Sqlite api library)
    annotationProcessor 'com.pushtorefresh.storio:sqlite-annotations-processor:1.12.3'
    compile 'com.pushtorefresh.storio:sqlite-annotations:1.12.3'
    // Android Annotations
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
    // ButterKnife
    compile 'com.jakewharton:butterknife:8.6.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
    // Android supports
    compile 'com.android.support:appcompat-v7:25.3.0'
    compile 'com.android.support:design:25.3.0'
    compile 'com.android.support:multidex:1.0.1'
    // Personal libraries
    compile 'com.github.hyb1996:MutableTheme:0.2.2'
    compile 'com.github.hyb1996:EnhancedFloaty:0.17'
    // Material Dialogs
    compile 'com.afollestad.material-dialogs:core:0.9.2.3'
    // Gson
    compile 'com.google.code.gson:gson:2.8.0'
    // Common Markdown
    compile 'com.github.atlassian:commonmark-java:commonmark-parent-0.9.0'
    // AlipayZeroSdk
    compile 'moe.feng:AlipayZeroSdk:1.1'
    // Console
    compile 'com.jraska:console:0.4.3'
    // Android issue reporter (a github issue reporter)
    compile 'com.heinrichreimersoftware:android-issue-reporter:1.3.1'
    //
    compile 'com.github.hyb1996:android-multi-level-listview:1.1'
    compile 'de.psdev.licensesdialog:licensesdialog:1.8.1'
    compile 'io.mattcarroll.hover:hover:0.9.7'
    compile 'com.bignerdranch.android:expandablerecyclerview:3.0.0-RC1'
    compile 'com.yqritc:recyclerview-flexibledivider:1.4.0'
    // Tasker Plugin
    compile group: 'com.twofortyfouram', name: 'android-plugin-client-sdk-for-locale', version: '[4.0.2, 5.0['
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.flurry.android:analytics:7.0.0@aar'
    compile 'com.pushtorefresh.storio:sqlite:1.12.3'
    // Terminal emulator
    compile(name: 'libtermexec-release', ext: 'aar')
    compile(name: 'emulatorview-release', ext: 'aar')
    compile(name: 'term-debug', ext: 'aar')
    // 920 Text Editor
    compile 'com.afollestad.material-dialogs:commons:0.9.2.3'
    compile 'com.makeramen:roundedimageview:2.2.1'
    compile 'com.rengwuxian.materialedittext:library:2.0.3'
    compile 'org.msgpack:msgpack-core:0.8.11'
    compile(name: '920-common-release', ext: 'aar')
    compile(name: '920-styles-release', ext: 'aar')
    compile(name: '920-file_explorer-release', ext: 'aar')
    compile(name: '920-app-debug', ext: 'aar')
    compile project(':automator')
    compile project(':common')
    compile project(':autojs')
}