1# Copyright (C) 2021 Square, Inc. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15[versions] 16# We would like to use Kotlin 1.4 language features but keep Kotlin 1.3 library APIs 17# The benefit is that depending clients do not have to upgrade to Kotlin 1.4 18kotlinCompiler = "1.4.21" 19kotlinLib = "1.3.72" 20androidXTest = "1.1.0" 21androidXJunit = "1.1.3" 22workManager = "2.7.0" 23 24[libraries] 25gradlePlugin-android = { module = "com.android.tools.build:gradle", version = "4.2.2" } 26gradlePlugin-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinCompiler" } 27gradlePlugin-dokka = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version = "1.6.20" } 28gradlePlugin-binaryCompatibility = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version = "0.8.0" } 29gradlePlugin-mavenPublish = { module = "com.vanniktech:gradle-maven-publish-plugin", version = "0.18.0" } 30gradlePlugin-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version = "1.6.0" } 31gradlePlugin-keeper = { module = "com.slack.keeper:keeper", version = "0.7.0" } 32 33kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlinLib" } 34kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlinLib" } 35 36# We don't need the latest version of AndroidX (there are no bugs that impact what LeakCanary 37# relies on), we're sticking a bit older because most apps will be using a more recent version 38# and they'll automatically resolve to higher version without having to necessarily resort to a 39# resolution strategy. 40androidX-fragment = { module = "androidx.fragment:fragment", version = "1.0.0" } 41# Exposed transitively, avoid increasing 42androidX-startup = { module = "androidx.startup:startup-runtime", version = "1.0.0" } 43androidX-test-core = { module = "androidx.test:core", version = "1.4.0" } 44androidX-test-rules = { module = "androidx.test:rules", version.ref = "androidXTest" } 45# Exposed transitively, avoid increasing 46androidX-test-runner = { module = "androidx.test:runner", version = "1.4.0" } 47androidX-test-orchestrator = { module = "androidx.test:orchestrator", version = "1.4.1" } 48androidX-test-espresso = { module = "androidx.test.espresso:espresso-core", version = "3.4.0" } 49androidX-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidXJunit" } 50androidX-test-junitKtx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidXJunit" } 51androidX-work-runtime = { module = "androidx.work:work-runtime", version.ref = "workManager" } 52androidX-work-multiprocess = { module = "androidx.work:work-multiprocess", version.ref = "workManager" } 53 54androidSupport = { module = "com.android.support:support-v4", version = "28.0.0" } 55assertjCore = { module = "org.assertj:assertj-core", version = "3.9.1" } 56clikt = { module = "com.github.ajalt:clikt", version = "2.3.0" } 57neo4j = { module = "org.neo4j:neo4j", version = "4.4.6" } 58curtains = { module = "com.squareup.curtains:curtains", version = "1.2.4" } 59jline = { module = "jline:jline", version = "2.14.6" } 60junit = { module = "junit:junit", version = "4.12" } 61kotlinStatistics = { module = "org.nield:kotlin-statistics", version = "1.2.1" } 62mockito = { module = "org.mockito:mockito-core", version = "3.5.10" } 63mockitoKotlin = { module = "com.nhaarman.mockitokotlin2:mockito-kotlin", version = "2.2.0" } 64robolectric = { module = "org.robolectric:robolectric", version = "4.0-alpha-3" } 65okio2 = { module = "com.squareup.okio:okio", version = "2.2.2" } 66okio1 = { module = "com.squareup.okio:okio", version = "1.14.0" } 67