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

android {
    namespace = "com.an.trailers"
    compileSdk 34
    defaultConfig {
        applicationId "com.an.trailers"
        minSdk = 26
        targetSdk = 35
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    buildFeatures {
        dataBinding = true
        viewBinding = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'

    /* Retrofit using RxJava2, Okhttp, Okhttp logging interceptor, Gson  */
    implementation 'com.squareup.retrofit2:retrofit:2.11.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
    testImplementation 'com.squareup.okhttp3:mockwebserver:4.9.1'

    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

    /* Picasso lib for image loading  */
    implementation 'com.squareup.picasso:picasso:2.71828'

    /* Android Architecture Component - ConstraintLayout  */
    implementation 'com.android.support.constraint:constraint-layout:2.0.4'

    /* Android Architecture Component - LiveData & ViewModel  */
    implementation 'android.arch.lifecycle:extensions:1.1.1'

    /* Android Architecture Component - Navigation  */
    implementation 'android.arch.navigation:navigation-fragment:1.0.0'
    implementation 'android.arch.navigation:navigation-ui:1.0.0'

    /* Android Architecture Component - Room Persistence Lib  */
    implementation 'androidx.room:room-runtime:2.6.1'
    implementation 'androidx.room:room-rxjava2:2.6.1'
    kapt 'androidx.room:room-compiler:2.6.1'

    /* Dagger2  */
    implementation 'com.google.dagger:dagger:2.52'
    implementation 'com.google.dagger:dagger-android:2.52'
    implementation 'com.google.dagger:dagger-android-support:2.52'
    kapt 'com.google.dagger:dagger-compiler:2.52'
    kapt 'com.google.dagger:dagger-android-processor:2.52'

    testImplementation 'org.mockito:mockito-core:5.7.0'
    androidTestImplementation 'org.mockito:mockito-android:2.7.22'


    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'android.arch.core:core-testing:1.1.1'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
