plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

println 'matterSdkSourceBuild='+matterSdkSourceBuild
println 'matterBuildSrcDir='+matterBuildSrcDir
println 'matterUTestLib='+matterUTestLib

android {
    compileSdkVersion 31
    buildToolsVersion "30.0.3"
    ndkPath System.getenv("ANDROID_NDK_HOME")

    defaultConfig {
        applicationId "com.tcl.chip.chiptest"
        minSdkVersion 26
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

        ndk {abiFilters 'arm64-v8a'}

        externalNativeBuild {
            cmake {
                targets "default"
            }
        }
    }

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

        debug {
            packagingOptions {
                doNotStrip '**/*.so'
            }
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }

    buildFeatures {
        viewBinding true
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs/jniLibs']
            java.srcDirs = [
                    'src/main/java',
                    'src/main/jni',
            ]
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar", "*.so"])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'androidx.core:core-ktx:1.6.0'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
