plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'org.jmailen.kotlinter' version '3.13.0'
}

android {
    namespace "com.github.gotify"
    compileSdk 33
    defaultConfig {
        applicationId "com.github.gotify"
        minSdk 23
        targetSdk 33
        versionCode 26
        versionName "2.4.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        signingConfig signingConfigs.debug
        resValue "string", "app_name", "Gotify"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        development {
            applicationIdSuffix ".dev"
            debuggable true
            resValue "string", "app_name", "Gotify DEV"
        }
    }
    buildFeatures {
        viewBinding true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '11'
    }
    lintOptions {
        disable 'GoogleAppIndexingWarning'
        lintConfig file('../lint.xml')
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }
}

if (project.hasProperty('sign')) {
    android {
        signingConfigs {
            release {
                storeFile file(System.getenv("RELEASE_STORE_FILE"))
                storePassword System.getenv("RELEASE_STORE_PASSWORD")
                keyAlias System.getenv("RELEASE_KEY_ALIAS")
                keyPassword System.getenv("RELEASE_KEY_PASSWORD")
            }
        }
    }
    android.buildTypes.release.signingConfig android.signingConfigs.release
}

dependencies {
    implementation project(':client')
    implementation 'androidx.appcompat:appcompat:1.5.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
    implementation 'androidx.preference:preference:1.2.0'

    implementation 'com.github.cyb3rko:QuickPermissions-Kotlin:1.0.2'
    implementation 'com.hypertrack:hyperlog:0.0.10'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'io.noties.markwon:core:4.6.2'
    implementation 'io.noties.markwon:image-picasso:4.6.2'
    implementation 'io.noties.markwon:image:4.6.2'
    implementation 'io.noties.markwon:ext-tables:4.6.2'
    implementation 'io.noties.markwon:ext-strikethrough:4.6.2'
}

configurations {
    all {
        exclude group: 'org.json', module: 'json'
        exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    }
}
