apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        applicationId "com.simplemobiletools.gallery.pro"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 288
        versionName "6.11.8"
        multiDexEnabled true
        setProperty("archivesBaseName", "gallery")
        vectorDrawables.useSupportLibrary = true
    }

    signingConfigs {
        if (keystorePropertiesFile.exists()) {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }

    buildTypes {
        debug {
            // we cannot change the original package name, else PhotoEditorSDK won't work
            //applicationIdSuffix ".debug"
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (keystorePropertiesFile.exists()) {
                signingConfig signingConfigs.release
            }
        }
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'META-INF/library_release.kotlin_module'
    }
}

dependencies {
    implementation 'com.simplemobiletools:commons:5.21.25'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'it.sephiroth.android.exif:library:1.0.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.18'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
    implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6'
    implementation 'com.google.vr:sdk-panowidget:1.180.0'
    implementation 'com.google.vr:sdk-videowidget:1.180.0'
    implementation 'org.apache.sanselan:sanselan:0.97-incubator'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.caverock:androidsvg-aar:1.3'
    implementation 'com.github.tibbi:gestureviews:8dccb8450b'
    implementation 'com.github.tibbi:subsampling-scale-image-view:d404e74e39'

    kapt 'com.github.bumptech.glide:compiler:4.10.0'

    kapt 'androidx.room:room-compiler:2.2.2'
    implementation 'androidx.room:room-runtime:2.2.2'
    annotationProcessor 'androidx.room:room-compiler:2.2.2'
}

// Apply the PESDKPlugin
apply plugin: 'ly.img.android.pesdk'

pesdkConfig {
    licencePath 'pesdk_license'

    supportLibVersion "28.0.0"

    modules {
        include 'ly.img.android.pesdk.operation:text'
        include 'ly.img.android.pesdk.operation:focus'
        include 'ly.img.android.pesdk.operation:brush'
        include 'ly.img.android.pesdk.operation:filter'
        include 'ly.img.android.pesdk.operation:adjustment'

        include 'ly.img.android.pesdk.ui.mobile_ui:core'
        include 'ly.img.android.pesdk.ui.mobile_ui:text'
        include 'ly.img.android.pesdk.ui.mobile_ui:focus'
        include 'ly.img.android.pesdk.ui.mobile_ui:brush'
        include 'ly.img.android.pesdk.ui.mobile_ui:filter'
        include 'ly.img.android.pesdk.ui.mobile_ui:transform'
        include 'ly.img.android.pesdk.ui.mobile_ui:adjustment'

        include 'ly.img.android.pesdk:serializer'

        include 'ly.img.android.pesdk.assets:font-basic'
        include 'ly.img.android.pesdk.assets:filter-basic'
    }
}