ext.versions = [
        minSdk            : 21,
        targetSdk         : 31,
        compileSdk        : 31,
        kotlin            : '1.5.31',
        ktlint            : '0.39.0',

        // Plugins
        androidGradlePlugin         : '7.0.0',
        dokkaGradlePlugin           : '1.6.0',
        ktlintGradle                : '10.2.0',
        spotlessGradlePlugin        : '3.26.1',
        jacocoGradlePlugin          : '0.8.7',
        binaryCompatibilityValidator: '0.2.3',
        atomicFuPlugin              : '0.14.2',

        // Other
        javaxInject                 : '1',

        // UI libraries
        androidxFragment            : '1.2.5',
        androidxAppCompat           : '1.3.0',
        navGraph                    : '2.3.2',
        androidLifecycle            : '2.2.0',

        // Annotation Processing
        autoservice                 : '1.0.1',
        incap                       : '0.3',
        javapoet                    : '1.13.0',
        kotlinpooet                 : '1.5.0',
        kotlinpoet_interop         : '1.10.2',

        // Testing
        androidxTestCore            : '1.4.0',
        androidxTestExtJunit        : '1.1.1',
        espresso                    : '3.1.0',
        junit                       : '1.8.4',
        truth                       : '1.0',

        // Samples
        constraintLayout            : '2.0.4',
        javaxInject                 : '1',
        dagger2Version              : '2.39.1',
]

ext.deps = [
        // Other
        kotlinStdLib                : "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin",
        coroutines                  : "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2",
        coroutinesAndroid           : "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9",
        javaxInject                 : "javax.inject:javax.inject:$versions.javaxInject",
        store                       : "com.dropbox.mobile.store:store4:4.0.4-KT15",

        // UI Libraries
        androidx_fragment           : "androidx.fragment:fragment:$versions.androidxFragment",
        appcompat                   : "androidx.appcompat:appcompat:$versions.androidxAppCompat",
        composeActivity             : "androidx.activity:activity-compose:1.3.1",
        composeMaterial             : "androidx.compose.material:material:1.0.5",
        composeTooling              : "androidx.compose.ui:ui-tooling:1.0.5",
        navgraph                    : "androidx.navigation:navigation-fragment-ktx:$versions.navGraph",
        nav_ui                      : "androidx.navigation:navigation-ui-ktx:$versions.navGraph",
        lifecycle_viewmodel         : "androidx.lifecycle:lifecycle-viewmodel:$versions.androidLifecycle",
        material                    : "com.google.android.material:material:1.2.1",

        // Annotation Processing
        autoservice_annotations     : "com.google.auto.service:auto-service-annotations:$versions.autoservice",
        autoservice_processor       : "com.google.auto.service:auto-service:$versions.autoservice",
        incap_annotations           : "net.ltgt.gradle.incap:incap:$versions.incap",
        incap_processor             : "net.ltgt.gradle.incap:incap-processor:$versions.incap",
        javapoet                    : "com.squareup:javapoet:$versions.javapoet",
        kotlinpoet                  : "com.squareup:kotlinpoet:$versions.kotlinpooet",
        kotlinpoet_interop          : "com.squareup:kotlinpoet-javapoet:$versions.kotlinpoet_interop",

        // Testing
        androidx_test_core          : "androidx.test:core:$versions.androidxTestCore",
        androidx_test_rules         : "androidx.test:rules:$versions.androidxTestCore",
        androidx_test_runner        : "androidx.test:runner:$versions.androidxTestCore",
        androidx_test_ext_junit     : "androidx.test.ext:junit:$versions.androidxTestExtJunit",
        espresso_core               : "androidx.test.espresso:espresso-core:$versions.espresso",
        junit                       : "org.apache.ant:ant-junit:$versions.junit",
        kotlintestjunit             : "org.jetbrains.kotlin:kotlin-test-junit:$versions.kotlin",
        truth                       : "com.google.truth:truth:$versions.truth",
        coroutinesTest              : "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.2",
        turbine                     : "app.cash.turbine:turbine:0.7.0",

        // Samples
        constraint_layout           : "androidx.constraintlayout:constraintlayout:$versions.constraintLayout",
        javax_inject                : "javax.inject:javax.inject:$versions.javaxInject",
        dagger2                     : "com.google.dagger:dagger:$versions.dagger2Version",
        dagger2_compiler            : "com.google.dagger:dagger-compiler:$versions.dagger2Version",
]
