apply plugin: 'com.android.library'
apply from: '../config/quality/quality.gradle'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

ext {
    bintrayRepo = 'maven'
    bintrayName = 'folioreader'

    publishedGroupId = 'com.folioreader'
    libraryName = 'FolioReader'
    artifact = 'folioreader'

    libraryDescription = 'An epub reader for Android'

    siteUrl = 'https://github.com/FolioReader/FolioReader-Android'
    gitUrl = 'https://github.com/FolioReader/FolioReader-Android.git'

    libraryVersion = versions.folioreaderSdk

    developerId = 'mobisystech'
    developerName = 'Folio Reader'
    developerEmail = 'mahavir@codetoart.com'

    licenseName = 'FreeBSD License'
    licenseUrl = 'https://en.wikipedia.org/wiki/FreeBSD_Documentation_License#License'
    allLicenses = ["FreeBSD"]
}

android {
    useLibrary 'org.apache.http.legacy'
    compileSdkVersion versions.androidCompileSdk

    defaultConfig {
        minSdkVersion versions.androidMinSdk
        targetSdkVersion versions.androidTargetSdk
        versionCode versions.projectVersionCode
        versionName versions.projectVersionName
        vectorDrawables.useSupportLibrary = true
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs = ['res']
        }
        test {
            java.srcDirs = ['src/test/java']
        }
    }

    packagingOptions {
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/services/javax.annotation.processing.Processor'
    }

    lintOptions {
        abortOnError false
        lintConfig file("lint.xml")
    }

    checkstyle {
        ignoreFailures = true
    }
}

apply from: '../folioreader/bintray/installv1.gradle'
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "androidx.appcompat:appcompat:$versions.appcompat"
    implementation "androidx.constraintlayout:constraintlayout:$versions.constraintLayout"
    implementation "androidx.recyclerview:recyclerview:$versions.recyclerview"
    implementation "com.google.android.material:material:$versions.material"
    testImplementation 'junit:junit:4.12'

    implementation 'org.slf4j:slf4j-android:1.7.25'
    implementation 'com.daimajia.swipelayout:library:1.2.0@aar'

    //Kotlin
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"

    implementation 'org.greenrobot:eventbus:3.1.1'

    implementation "com.fasterxml.jackson.core:jackson-core:$versions.jackson"
    implementation "com.fasterxml.jackson.core:jackson-annotations:$versions.jackson"
    implementation "com.fasterxml.jackson.core:jackson-databind:$versions.jackson"
    implementation "com.fasterxml.jackson.module:jackson-module-kotlin:$versions.jackson"
    implementation "com.google.code.gson:gson:$versions.gson"

    implementation "com.squareup.retrofit2:retrofit:$versions.retrofit"
    implementation "com.squareup.retrofit2:converter-jackson:$versions.retrofit"
    implementation "com.squareup.retrofit2:converter-gson:$versions.retrofit"

    // R2 modules
    api("com.github.codetoart:r2-shared-kotlin:$versions.r2SharedKotlin") {
        changing = true
    }
    api("com.github.codetoart:r2-streamer-kotlin:$versions.r2StreamerKotlin") {
        exclude group: "org.slf4j", module: "slf4j-api"
        changing = true
    }

    // Only ReflectionUtils in Spring framework is used
    implementation 'org.springframework:spring-core:4.3.19.RELEASE'

    // Lifecycle
    implementation "androidx.lifecycle:lifecycle-extensions:$versions.lifecycle"
}
apply from: '../folioreader/bintray/bintrayv1.gradle'
