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

android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "io.github.chronosx88.yggdrasil"
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 18
        versionName "1.7"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        setProperty("archivesBaseName", project.getParent().name+"-"+versionName)
    }
	signingConfigs {
	  release {
		storeFile file(KEYSTORE_FILE_PATH)
		storePassword System.getenv("KEYSTORE_PASSWORD")
		keyAlias System.getenv("KEY_ALIAS")
		keyPassword System.getenv("KEY_PASSWORD")
	  }
	}
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
			signingConfig signingConfigs.release
        }
    }
    ndkVersion "21.2.6472646"
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
}

task ndkBuild(type: Exec) {
    def rootDir = project.rootDir
    workingDir = new File(rootDir,"yggdrasil")
    commandLine 'make'
}

gradle.projectsEvaluated {
    tasks.compileDebugKotlin.dependsOn(ndkBuild)
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation project(path: ':yggdrasil')

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation "androidx.preference:preference-ktx:1.1.1"
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'
    implementation 'com.google.android.material:material:1.3.0-alpha04'
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.hbb20:ccp:2.4.0'
    implementation 'com.vincentbrison.openlibraries.android:dualcache:3.1.1'
    implementation 'com.vincentbrison.openlibraries.android:dualcache-jsonserializer:3.1.1'

    testImplementation 'junit:junit:4.13.1'
    androidTestImplementation 'androidx.test:runner:1.3.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}