ext {

    //----------------------------------------------------------------------------------------------
    // Gradle Dependencies
    //----------------------------------------------------------------------------------------------

    // Kotlin version : https://kotlinlang.org/docs/reference/using-gradle.html#plugin-and-versions
    kotlin = '1.7.0'
    // Android Plugin for Gradle : https://developer.android.com/studio/releases/gradle-plugin.html#updating-plugin
    androidGradle = '7.2.1'

    gradleDependencies = [
            kotlinGradle : "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin",
            androidGradle: "com.android.tools.build:gradle:$androidGradle",
    ]

    //----------------------------------------------------------------------------------------------
    // App Dependencies
    //----------------------------------------------------------------------------------------------

    // AndroidX Core : https://developer.android.com/jetpack/androidx/releases/core
    androidXCore = "1.8.0"
    // Android Annotations : https://developer.android.com/jetpack/androidx/releases/annotation
    androidXAnnotations = "1.4.0"
    // AppCompat : https://developer.android.com/jetpack/androidx/releases/appcompat
    appcompat = '1.4.2'
    // Material Components : https://github.com/material-components/material-components-android/releases
    materialComponents = '1.6.1'
    // Constraint Layout : https://developer.android.com/jetpack/androidx/releases/constraintlayout
    constraintLayout = '2.1.4'
    // ViewPager2 : https://developer.android.com/jetpack/androidx/releases/viewpager2
    viewPager2 = '1.0.0'


    appDependencies = [
            kotlinStdLib       : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin",
            androidXCore       : "androidx.core:core-ktx:${androidXCore}",
            androidXAnnotations: "androidx.annotation:annotation:${androidXAnnotations}",
            appcompat          : "androidx.appcompat:appcompat:${appcompat}",
            materialComponents : "com.google.android.material:material:$materialComponents",
            constraintLayout   : "androidx.constraintlayout:constraintlayout:${constraintLayout}",
            viewPager2         : "androidx.viewpager2:viewpager2:${viewPager2}",
    ]

    //----------------------------------------------------------------------------------------------
    // Debug Dependencies
    //----------------------------------------------------------------------------------------------

    // Timber (logger) : https://github.com/JakeWharton/timber
    timber = '5.0.1'

    debugDependencies = [
            timber: "com.jakewharton.timber:timber:${timber}",
    ]

    //----------------------------------------------------------------------------------------------
    // Test Dependencies
    //----------------------------------------------------------------------------------------------

    // JUnit (unit testing framework) : http://junit.org/junit4/
    junit = '4.13.2'
    // Mockito (mocking framework) : http://site.mockito.org/
    mockito = '4.6.1'

    testDependencies = [
            junit  : "junit:junit:${junit}",
            mockito: "org.mockito:mockito-core:${mockito}",
    ]
}