blob: c2f5045e8665d4beffa31ca8b2228119f8edd060 [file] [log] [blame]
# Copyright (C) 2021 Square, Inc.
#
# 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
#
# https://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.
[versions]
# We would like to use Kotlin recent language features but keep Kotlin 1.3 library APIs
# The benefit is that depending clients do not have to upgrade to Kotlin 1.4
compose = "1.4.3"
kotlin = "1.8.21"
coroutines = "1.7.3"
androidXTest = "1.1.0"
androidXJunit = "1.1.3"
workManager = "2.7.0"
detekt = "1.23.8"
androidMinSdk = "14"
androidCompileSdk = "34"
[libraries]
gradlePlugin-android = { module = "com.android.tools.build:gradle", version = "8.0.0" }
gradlePlugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
gradlePlugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "1.8.10" }
gradlePlugin-binaryCompatibility = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version = "0.13.1" }
gradlePlugin-mavenPublish = { module = "com.vanniktech:gradle-maven-publish-plugin", version = "0.25.2" }
gradlePlugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
gradlePlugin-keeper = { module = "com.slack.keeper:keeper", version = "0.7.0" }
gradlePlugin-sqldelight = { module = "app.cash.sqldelight:gradle-plugin", version = "2.0.0-alpha05" }
coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
# We don't need the latest version of AndroidX (there are no bugs that impact what LeakCanary
# relies on), we're sticking a bit older because most apps will be using a more recent version
# and they'll automatically resolve to higher version without having to necessarily resort to a
# resolution strategy.
androidX-fragment = { module = "androidx.fragment:fragment", version = "1.0.0" }
androidX-multidex = { module = "androidx.multidex:multidex", version = "2.0.1" }
# Exposed transitively, avoid increasing
androidX-startup = { module = "androidx.startup:startup-runtime", version = "1.0.0" }
androidX-test-core = { module = "androidx.test:core", version = "1.4.0" }
androidX-test-monitor = { module = "androidx.test:monitor", version = "1.4.0" }
androidX-test-rules = { module = "androidx.test:rules", version.ref = "androidXTest" }
# Exposed transitively, avoid increasing
androidX-test-runner = { module = "androidx.test:runner", version = "1.4.0" }
androidX-test-orchestrator = { module = "androidx.test:orchestrator", version = "1.4.1" }
androidX-test-espresso = { module = "androidx.test.espresso:espresso-core", version = "3.4.0" }
androidX-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidXJunit" }
androidX-test-junitKtx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidXJunit" }
androidX-test-uiautomator = { module = "androidx.test.uiautomator:uiautomator", version = "2.2.0" }
androidX-work-runtime = { module = "androidx.work:work-runtime", version.ref = "workManager" }
androidX-work-multiprocess = { module = "androidx.work:work-multiprocess", version.ref = "workManager" }
androidX-collections = { module = "androidx.collection:collection-ktx", version = "1.4.0" }
androidSupport = { module = "com.android.support:support-v4", version = "28.0.0" }
assertjCore = { module = "org.assertj:assertj-core", version = "3.9.1" }
clikt = { module = "com.github.ajalt:clikt", version = "2.3.0" }
neo4j = { module = "org.neo4j:neo4j", version = "4.4.6" }
curtains = { module = "com.squareup.curtains:curtains", version = "1.2.4" }
jline = { module = "jline:jline", version = "2.14.6" }
junit = { module = "junit:junit", version = "4.12" }
kotlinStatistics = { module = "org.nield:kotlin-statistics", version = "1.2.1" }
mockito = { module = "org.mockito:mockito-core", version = "3.5.10" }
mockitoKotlin = { module = "com.nhaarman.mockitokotlin2:mockito-kotlin", version = "2.2.0" }
robolectric = { module = "org.robolectric:robolectric", version = "4.0-alpha-3" }
okio2 = { module = "com.squareup.okio:okio", version = "2.2.2" }
okio1 = { module = "com.squareup.okio:okio", version = "1.14.0" }