def versions = [
    kotlinVersion                : '1.8.10',
    appCompatVersion             : '1.4.1',
    localBroadcastManagerVersion : '1.1.0',
    roboelectricVersion          : '4.9',
    benchmarkVersion             : '1.0.0',
    compileTestingVersion        : '1.5.0',
    kspVersion                   : '1.8.10-1.0.9',
    xProcessorVersion            : '2.6.0-alpha01',
    mockkVersion                 : '1.12.3',
    ktlintGradlePluginVersion    : '3.8.0',
    androidXTestingVersion       : '1.4.0'
]

ext.versions = versions
ext.androidConfig = [
    agpVersion                          : '7.4.0',
    compileSdkVersion                   : 32,
    minSdkVersion                       : 16,
    targetSdkVersion                    : 30
]

ext.deps = [
    autoCommon               : "com.google.auto:auto-common:1.0",
    androidPlugin            : "com.android.tools.build:gradle:$androidConfig.agpVersion",
    appCompat                : "androidx.appcompat:appcompat:$versions.appCompatVersion",
    localBroadcastManager    : "androidx.localbroadcastmanager:localbroadcastmanager:$versions.localBroadcastManagerVersion",
    kotlinGradlePlugin       : "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlinVersion",
    javaPoet                 : 'com.squareup:javapoet:1.13.0',
    jsr305                   : 'com.google.code.findbugs:jsr305:3.0.2',
    okio                     : 'com.squareup.okio:okio:3.0.0',
    androidXAnnotations      : 'androidx.annotation:annotation:1.3.0',
    // https://vanniktech.github.io/gradle-maven-publish-plugin/
    gradleMavenPublishPlugin : 'com.vanniktech:gradle-maven-publish-plugin:0.22.0',
    dokkaPlugin              : 'org.jetbrains.dokka:dokka-gradle-plugin:1.6.10',
    ksp                      : "com.google.devtools.ksp:symbol-processing-api:$versions.kspVersion",
    kspGradlePlugin          : "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:$versions.kspVersion",
    xProcessor               : "androidx.room:room-compiler-processing:$versions.xProcessorVersion",
    ktlintGradlePlugin       : "org.jmailen.gradle:kotlinter-gradle:$versions.ktlintGradlePluginVersion",

    // Testing
    androidxTestCore         : "androidx.test:core:$versions.androidXTestingVersion",
    junit                    : 'junit:junit:4.13.2',
    assertJ                  : "org.assertj:assertj-core:3.22.0",
    roboelectric             : "org.robolectric:robolectric:$versions.roboelectricVersion",
    mockk                    : "io.mockk:mockk:$versions.mockkVersion",
    compileTesting           : "com.github.tschuchortdev:kotlin-compile-testing:$versions.compileTestingVersion",
    compileTestingKsp        : "com.github.tschuchortdev:kotlin-compile-testing-ksp:$versions.compileTestingVersion",
    android                  : 'com.google.android:android:4.1.1.4',
    benchmark                : "androidx.benchmark:benchmark-junit4:$versions.benchmarkVersion",
    benchmarkGradlePlugin    : "androidx.benchmark:benchmark-gradle-plugin:$versions.benchmarkVersion",
    kotlinReflect            : "org.jetbrains.kotlin:kotlin-reflect:$versions.kotlinVersion",
]
