plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id  'kotlin-android'
    id  'kotlin-kapt'
    id 'kotlin-parcelize'
    id  "androidx.navigation.safeargs.kotlin"
}

android {

    compileSdk 34

    defaultConfig {
        applicationId "com.github.android.lvrn.lvrnproject"
        vectorDrawables.useSupportLibrary = true
        minSdkVersion 26
        targetSdkVersion 34
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'LICENSE.txt'
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    lintOptions {
        abortOnError false
    }
    testOptions {
        unitTests.returnDefaultValues = true
    }
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    }
    buildFeatures {
        viewBinding true
    }

    kotlinOptions {
        jvmTarget = '17'
    }
    namespace 'com.github.android.lvrn.lvrnproject'
}

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

    implementation 'org.jsoup:jsoup:1.15.3'
    implementation 'com.orhanobut:logger:2.1.1'
    implementation 'com.getbase:floatingactionbutton:1.10.1'

    implementation 'com.dropbox.core:dropbox-core-sdk:3.0.6'
    implementation 'com.squareup.okhttp3:okhttp:4.12.0'

    implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.4'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.9.4.1'

    //Atlasian markdown parser
    implementation 'com.atlassian.commonmark:commonmark:0.9.0'
    implementation 'com.atlassian.commonmark:commonmark-ext-autolink:0.9.0'
    implementation 'com.atlassian.commonmark:commonmark-ext-gfm-strikethrough:0.9.0'
    implementation 'com.atlassian.commonmark:commonmark-ext-gfm-tables:0.9.0'

    def dagger_version = "2.50"
    implementation "com.google.dagger:dagger:$dagger_version"
    kapt "com.google.dagger:dagger-compiler:$dagger_version"

    //Rx
    implementation 'io.reactivex.rxjava2:rxjava:2.1.0'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'

    //Android support
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'com.google.android.material:material:1.12.0'


    implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'

    def navigation_version = "2.8.2"
    implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
    implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"

    def lifecycle_version = "2.8.6"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"

    testImplementation 'junit:junit:4.13.2'
    testImplementation 'org.assertj:assertj-core:2.6.0'

    androidTestImplementation 'androidx.test.ext:junit:1.2.1'
    androidTestImplementation 'androidx.test:rules:1.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.6.1'
    androidTestImplementation 'androidx.test.espresso:espresso-web:3.6.1'

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

    androidTestImplementation('androidx.test.espresso:espresso-contrib:3.6.1') {
        exclude group: 'com.android.support', module: 'appcompat'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude group: 'com.android.support', module: 'support-v7'
        exclude group: 'com.android.support', module: 'design'
        exclude module: 'support-annotations'
        exclude module: 'recyclerview-v7'
    }

    androidTestImplementation 'com.squareup.assertj:assertj-android:1.1.1'

    implementation 'com.github.Android-library-copy-dependencies:SwipeRevealLayout:1.5.2'
}

