/*
 * Copyright 2018 Arthur Ivanets, arthur.ivanets.work@gmail.com
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

apply plugin: "com.android.library"
apply plugin: "kotlin-android"
apply plugin: "kotlin-android-extensions"
apply plugin: "kotlin-kapt"

apply from: "../common/constants.gradle"
apply from: "../common/utils.gradle"
apply from: "../common/dependencies.gradle"

android {
    compileSdkVersion rootProject.compileSdk

    defaultConfig {
        minSdkVersion rootProject.appMinSdk
        targetSdkVersion rootProject.targetSdk
        versionCode rootProject.releaseVersionCode
        versionName rootProject.releaseVersion

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

        // Base Urls
        stringField(defaultConfig, "API_BASE_URL", "https://gateway.marvel.com:443/v1/public/")
        booleanField(defaultConfig, "API_DEBUG_MODE", true)
    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        debug {
            booleanField(debug, "API_DEBUG_MODE", true)
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

            booleanField(release, "API_DEBUG_MODE", false)
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

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

    implementation kotlinDependencies

    implementation retrofitDependencies
    implementation okHttpDependencies

    implementation jacksonDependencies
    implementation rxJavaDependencies

    testImplementation unitTestingDependencies
    androidTestImplementation instrumentationTestingDependencies
}
