# Sharing dependency versions between projects
# https://docs.gradle.org/current/userguide/platforms.html

[versions]
aboutlibraries = "10.1.0"
accompanist = "0.24.6-alpha"
androidx-compose = "1.2.0-alpha07"
androidx-datastore = "1.0.0"
androidx-lifecycle = "2.4.1"
androidx-navigation = "2.4.2"
androidx-room = "2.3.0"
androidx-test = "1.4.0"
apollo = "3.2.2"
buildtools = "30.0.3"
coroutines = "1.6.1"
detekt = "1.19.0"
diktat = "1.1.0"
gradle = "7.4.2"
greclipse = "4.19.0"
hilt = "2.41"
kotlin = "1.6.21"
ktlint = "0.43.0"
material = "1.6.0"
mockk = "1.12.3"
okhttp = "4.9.3"
prettier = "2.4.1"
retrofit = "2.9.0"

[libraries]
aboutlibraries = { module = "com.mikepenz:aboutlibraries-compose", version.ref = "aboutlibraries" }
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutlibraries" }
accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanist" }
accompanist-insets-ui = { module = "com.google.accompanist:accompanist-insets-ui", version.ref = "accompanist" }
accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanist" }
accompanist-pager-indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "accompanist" }
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" }
accompanist-placeholder = { module = "com.google.accompanist:accompanist-placeholder-material", version.ref = "accompanist" }
accompanist-swiperefresh = { module = "com.google.accompanist:accompanist-swiperefresh", version.ref = "accompanist" }
accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" }
android-maps-utils = { module = "com.google.maps.android:android-maps-utils", version = "2.3.0" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version = "1.4.0" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.4.1" }
androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose" }
androidx-compose-layout = { module = "androidx.compose.foundation:foundation-layout", version.ref = "androidx-compose" }
androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "androidx-compose" }
androidx-compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "androidx-compose" }
androidx-compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "androidx-compose" }
androidx-compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata", version.ref = "androidx-compose" }
androidx-compose-test = { module = "androidx.compose.test:test-core", version.ref = "androidx-compose" }
androidx-compose-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "androidx-compose" }
androidx-compose-ui = { module = "androidx.compose.ui:ui", version.ref = "androidx-compose" }
androidx-compose-uiTest = { module = "androidx.compose.ui:ui-test", version.ref = "androidx-compose" }
androidx-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version = "1.0.0" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.7.0" }
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.0-beta02" }
androidx-customview = { module = "androidx.customview:customview", version = "1.2.0-alpha01" }
androidx-customview-poolingcontainer = { module = "androidx.customview:customview-poolingcontainer", version = "1.0.0-alpha01" }
androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "androidx-datastore" }
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
androidx-lifecycle-livedata = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-savedstate = { module = "androidx.lifecycle:lifecycle-viewmodel-savedstate", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidx-navigation" }
androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation" }
androidx-navigation-ui-ktx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation" }
androidx-paging = { module = "androidx.paging:paging-compose", version = "1.0.0-alpha14" }
androidx-palette = { module = "androidx.palette:palette", version = "1.0.0" }
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidx-room" }
androidx-security = { module = "androidx.security:security-crypto", version = "1.0.0" }
androidx-startup = { module = "androidx.startup:startup-runtime", version = "1.1.1" }
androidx-test-core = { module = "androidx.test:core", version.ref = "androidx-test" }
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version = "3.4.0" }
androidx-test-ext-junit = { module = "androidx.test.ext:junit-ktx", version = "1.1.3" }
androidx-test-orchestrator = { module = "androidx.test:orchestrator", version = "1.4.1" }
androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test" }
apollo = { module = "com.apollographql.apollo3:apollo-runtime", version.ref = "apollo" }
apollo-adapters = { module = "com.apollographql.apollo3:apollo-adapters", version.ref = "apollo" }
apollo-cache = { module = "com.apollographql.apollo3:apollo-normalized-cache", version.ref = "apollo" }
apollo-cache-sqlite = { module = "com.apollographql.apollo3:apollo-normalized-cache-sqlite", version.ref = "apollo" }
apollo-testing-support = { module = "com.apollographql.apollo3:apollo-testing-support", version.ref = "apollo" }
coil-compose = { module = "io.coil-kt:coil-compose", version = "2.0.0-rc03" }
coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
desugar = { module = "com.android.tools:desugar_jdk_libs", version = "1.1.5" }
detekt = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics-ktx", version = "20.1.2" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx", version = "18.2.9" }
firebase-perf = { module = "com.google.firebase:firebase-perf-ktx", version = "20.0.6" }
hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
hilt-android-testing = { module = "com.google.dagger:hilt-android-testing", version.ref = "hilt" }
hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version = "1.0.0" }
junit = { module = "junit:junit", version = "4.13.2" }
konfetti = { module = "nl.dionsegijn:konfetti-compose", version = "2.0.2" }
kotlin-extensions = { module = "org.jetbrains.kotlin:kotlin-android-extensions", version.ref = "kotlin" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
kotlinx-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.3.2" }
leakcanary = { module = "com.squareup.leakcanary:leakcanary-android", version = "2.9.1" }
maps = { module = "com.google.maps.android:maps-ktx", version = "3.4.0" }
maps-compose = { module = "com.google.maps.android:maps-compose", version = "2.1.0" }
maps-utils-ktx = { module = "com.google.maps.android:maps-utils-ktx", version = "3.4.0" }
material = { module = "com.google.android.material:material", version.ref = "material" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockk" }
okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
okhttp3-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" }
play-core = { module = "com.google.android.play:core", version = "1.10.3" }
play-core-ktx = { module = "com.google.android.play:core-ktx", version = "1.8.1" }
play-services-maps = { module = "com.google.android.gms:play-services-maps", version = "18.0.2" }
process-phoenix = { module = "com.jakewharton:process-phoenix", version = "2.1.2" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-converter-scalars = { module = "com.squareup.retrofit2:converter-scalars", version = "2.9.0" }
retrofit-kotlinx-serialization = { module = "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter", version = "0.8.0" }
seismic = { module = "com.squareup:seismic", version = "1.0.3" }
timber = { module = "com.jakewharton.timber:timber", version = "5.0.1" }
tink = { module = "com.google.crypto.tink:tink-android", version = "1.6.1" }

# plugins
plugin-aboutlibraries = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "aboutlibraries" }
plugin-android = { module = "com.android.tools.build:gradle", version = "7.1.3" }
plugin-androidcachefix = { module = "gradle.plugin.org.gradle.android:android-cache-fix-gradle-plugin", version = "2.4.6" }
plugin-androidx-navigation-safeargs = { module = "androidx.navigation:navigation-safe-args-gradle-plugin", version.ref = "androidx-navigation" }
plugin-appversioning = { module = "io.github.reactivecircus.appversioning:app-versioning-gradle-plugin", version = "1.0.0" }
plugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
plugin-easylauncher = { module = "com.project.starter:easylauncher", version = "5.0.1" }
plugin-firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.8.0" }
plugin-firebase-perf = { module = "com.google.firebase:perf-plugin", version = "1.4.1" }
plugin-google-services = { module = "com.google.gms:google-services", version = "4.3.10" }
plugin-hilt = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }
plugin-jdkdesugar = { module = "com.android.tools:desugar_jdk_libs", version = "1.1.5" }
plugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
plugin-ruler = { module = "com.spotify.ruler:ruler-gradle-plugin", version = "1.2.0" }
plugin-spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version = "5.15.0" }
plugin-versionsgradle = { module = "com.github.ben-manes:gradle-versions-plugin", version = "0.39.0" }
plugin-violation = { module = "se.bjurr.violations:violation-comments-to-github-gradle-plugin", version = "1.68.3" }

[plugins]
apollo = { id = "com.apollographql.apollo3", version.ref = "apollo" }
google-secrets = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version = "2.0.1" }
gradledoctor = { id = "com.osacky.doctor", version = "0.8.0" }
kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
tripletplay = { id = "com.github.triplet.play", version = "3.7.0" }
