/*
 * Copyright 2022 Google LLC
 *
 * 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.
 *
 */

buildscript {
    ext.kotlinVersion = '1.5.30'
    ext.navigationVersion = '2.3.5'
    ext.ktlintVersion = '0.33.0'
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"

        // For Firebase Analytics
        classpath 'com.google.gms:google-services:4.3.14'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

plugins {
    id "com.diffplug.gradle.spotless" version "3.24.0"
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
    apply plugin: 'com.diffplug.gradle.spotless'
    spotless {
        kotlin {
            target "**/*.kt"
            targetExclude ".idea/"
            ktlint(ktlintVersion)
        }
    }
}

// Define versions in a single place
ext {
    // Sdk and tools
    // App Actions supported on minSdk 21 and above.
    minSdkVersion = 21
    targetSdkVersion = 30
    compileSdkVersion = 30

    // App dependencies
    androidXVersion = '1.0.0'
    androidXTestCoreVersion = '1.4.0'
    androidXTestExtKotlinRunnerVersion = '1.1.3'
    androidXTestRulesVersion = '1.2.0'
    androidXAnnotations = '1.2.0'
    androidXLegacySupport = '1.0.0'
    appCompatVersion = '1.3.1'
    archLifecycleVersion = '2.3.1'
    archTestingVersion = '2.1.0'
    cardVersion = '1.0.0'
    coroutinesVersion = '1.2.1'
    dexMakerVersion = '2.12.1'
    espressoVersion = '3.4.0'
    fragmentVersion = '1.3.6'
    fragmentKtxVersion = '1.3.3'
    hamcrestVersion = '1.3'
    junitVersion = '4.13.1'
    materialVersion = '1.4.0'
    mockitoVersion = '2.22.0'
    recyclerViewVersion = '1.2.1'
    robolectricVersion = '4.3.1'
    roomVersion = '2.3.0'
    rulesVersion = '1.0.1'
    truthVersion = '1.1'
}
