apply plugin: 'com.android.application'

android {
    compileSdkVersion = 27
    buildToolsVersion = '27.0.3'

    defaultConfig {
        applicationId "com.kunzisoft.keepass"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode = 8
        versionName = "2.5.0.0beta8"
        multiDexEnabled true

        testApplicationId = "com.kunzisoft.keepass.tests"
        testInstrumentationRunner = "android.test.InstrumentationTestRunner"

        ndk {
            abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a',
                    'arm64-v8a', 'mips', 'mips64'
        }
    }

    externalNativeBuild {
        cmake {
            path "src/main/jni/CMakeLists.txt"
        }
    }


    buildTypes {
        release {
            minifyEnabled = false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    dexOptions {
    }

    flavorDimensions "tier"
    productFlavors {
        libre {
            applicationIdSuffix = ".libre"
            versionNameSuffix "-libre"
            buildConfigField "boolean", "FULL_VERSION", "true"
            buildConfigField "boolean", "GOOGLE_PLAY_VERSION", "false"
        }
        pro_google {
            applicationIdSuffix = ".pro"
            versionNameSuffix "-pro"
            buildConfigField "boolean", "FULL_VERSION", "true"
            buildConfigField "boolean", "GOOGLE_PLAY_VERSION", "true"
        }
        free_google {
            applicationIdSuffix = ".free"
            versionNameSuffix "-free"
            buildConfigField "boolean", "FULL_VERSION", "false"
            buildConfigField "boolean", "GOOGLE_PLAY_VERSION", "true"
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

def supportVersion = "27.1.0"
def spongycastleVersion = "1.58.0.0"
def permissionDispatcherVersion = "3.1.0"

dependencies {
    implementation "com.android.support:appcompat-v7:$supportVersion"
    implementation "com.android.support:design:$supportVersion"
    implementation "com.android.support:preference-v7:$supportVersion"
    implementation "com.android.support:preference-v14:$supportVersion"
    implementation "com.android.support:cardview-v7:$supportVersion"
    implementation "com.madgag.spongycastle:core:$spongycastleVersion"
    implementation "com.madgag.spongycastle:prov:$spongycastleVersion"
    // Time
    implementation "joda-time:joda-time:2.9.9"
    implementation "org.sufficientlysecure:html-textview:3.5"
    implementation "com.nononsenseapps:filepicker:4.1.0"
    // Permissions
    implementation ("com.github.hotchemi:permissionsdispatcher:$permissionDispatcherVersion") {
        // if you don't use android.app.Fragment you can exclude support for them
        exclude module: "support-v13"
    }
    // Apache Commons Collections
    implementation group: 'commons-collections', name: 'commons-collections', version: '3.2.1'
    // Base64
    implementation group: 'biz.source_code', name: 'base64coder', version: '2010-12-19'
    annotationProcessor "com.github.hotchemi:permissionsdispatcher-processor:$permissionDispatcherVersion"
    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
    implementation group: 'com.google.guava', name: 'guava', version: '23.0-android'
}
