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

android {
    defaultConfig {
        applicationId "com.google.oboe.samples.rhythmgame"
        minSdkVersion 23
        targetSdkVersion 36
        compileSdkVersion 36
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            cmake {
                cppFlags "-std=c++17"
                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_18
        targetCompatibility JavaVersion.VERSION_18
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
    flavorDimensions "extractorLibrary"
    productFlavors {
        ndkExtractor {
            dimension "extractorLibrary"

            // Oboe has a minimum API of 16, but AMediaExtractor (used to extract the MP3 assets)
            // is only available from API 21.
            // For further backward compatibility consider using FFmpeg (see below)
            minSdkVersion 21
            externalNativeBuild {
                cmake {
                    arguments "-DUSE_FFMPEG=0"
                }
            }
        }
        /**
         * To use FFmpeg for asset extraction do the following:
         * - Uncomment this block
         * - Change the build variant to ffmpegExtractor
         * - Update the FFMPEG_DIR variable in CMakeLists.txt to the local FFmpeg path
         */
        /*
        ffmpegExtractor {
            dimension "extractorLibrary"
            minSdkVersion 16
            externalNativeBuild {
                cmake {
                    arguments "-DUSE_FFMPEG=1"
                }
            }
        }
        */
    }
    namespace 'com.google.oboe.samples.rhythmgame'
    buildFeatures {
        buildConfig true
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
}