plugins {
    id "com.android.application"
    id "org.jetbrains.kotlin.android"
    id "org.jetbrains.kotlin.kapt"
    id "dagger.hilt.android.plugin"
    id "androidx.navigation.safeargs.kotlin"
}

android {
    namespace 'com.rtbishop.look4sat'
    compileSdk 34
    defaultConfig {
        applicationId "com.rtbishop.look4sat"
        minSdk 21
        targetSdk 34
        versionCode 314
        versionName '3.1.4'

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

        kapt {
            arguments {
                arg("room.schemaLocation", "$projectDir/schemas")
                arg("room.incremental", "true")
                arg("room.expandProjection", "true")
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
//        compose true
        viewBinding true
    }
    composeOptions {
        kotlinCompilerExtensionVersion compose_compiler_version
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17.toString()
    }
    testOptions {
        animationsDisabled true
        unitTests.includeAndroidResources true
    }
}

kotlin {
    jvmToolchain(17)
}

dependencies {
    implementation project(":base")
    implementation "androidx.core:core-ktx:$core_ktx_version"
    implementation "androidx.core:core-splashscreen:$core_splashscreen_version"
    implementation "androidx.constraintlayout:constraintlayout:$constraint_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.navigation:navigation-runtime-ktx:$navigation_version"
    implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
    implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
    implementation "androidx.room:room-runtime:$room_version"
    implementation "androidx.room:room-ktx:$room_version"
    kapt "androidx.room:room-compiler:$room_version"
    implementation "com.google.android.material:material:$material_version"
    implementation "com.google.dagger:hilt-android:$hilt_version"
    kapt "com.google.dagger:hilt-compiler:$hilt_version"
    implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
    implementation "org.osmdroid:osmdroid-android:$osmdroid_version"

//    implementation "androidx.compose.ui:ui:$compose_version"
//    implementation "androidx.compose.ui:ui-tooling:$compose_version"
//    implementation "androidx.compose.runtime:runtime:$compose_version"
//    implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
//    implementation "androidx.compose.compiler:compiler:$compose_compiler_version"
//    implementation "androidx.compose.animation:animation:$compose_version"
//    implementation "androidx.compose.foundation:foundation:$compose_foundation_version"
//    implementation "androidx.activity:activity-compose:$activity_compose_version"
//    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version"
//    implementation "androidx.compose.material:material:$compose_material_version"
//    implementation "androidx.compose.material:material-icons-extended:$compose_material_version"
//    implementation "com.google.android.material:compose-theme-adapter:$material_adapter_version"

//    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
    debugImplementation "androidx.fragment:fragment-testing:$fragment_test_version"
    debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakcanary_version"

    testImplementation "junit:junit:$junit_version"
    testImplementation "org.mockito:mockito-core:$mockito_version"
    testImplementation "org.robolectric:robolectric:$robolectric_version"
    testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_test_version"

    androidTestImplementation "androidx.test:core:$androidx_test_version"
    androidTestImplementation "androidx.test:runner:$androidx_test_version"
    androidTestImplementation "androidx.test:rules:$androidx_test_version"
    androidTestImplementation "androidx.test.ext:junit:$androidx_junit_version"
    androidTestImplementation "androidx.test.ext:truth:$androidx_test_version"
    androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_version"
//    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    androidTestImplementation "org.mockito:mockito-android:$mockito_version"
    androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_test_version"
}
