/*
 * Copyright (c) 2021 DuckDuckGo
 *
 * 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 from: "$rootDir/code-formatting.gradle"

android {
    compileSdkVersion compile_sdk

    defaultConfig {
        minSdk min_sdk
        targetSdk target_sdk
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
        vectorDrawables.useSupportLibrary = true
    }

    lint {
        abortOnError true
        ignoreTestSources false
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlin {
        jvmToolchain(17)
    }
    buildFeatures {
        viewBinding = true
    }
}
dependencies {
    lintChecks project(':lint-rules')
}

tasks.register('checks') {
    dependsOn 'jvm_checks', 'android_checks'
}

tasks.register('android_checks') {
    dependsOn 'connectedDebugAndroidTest'
}

tasks.register('jvm_checks') {
    dependsOn 'spotlessCheck', 'lint', 'testDebugUnitTest'
}

tasks.register('jvm_tests') {
    dependsOn 'testDebugUnitTest'
}

tasks.register('lint_check') {
    dependsOn 'lint'
}