120 lines
6.9 KiB
TOML
120 lines
6.9 KiB
TOML
#
|
|
# SPDX-FileCopyrightText: 2024 The Calyx Institute
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
[versions]
|
|
# Gradle plugin versions
|
|
androidGradlePlugin = "8.6.0"
|
|
protobufPlugin = "0.9.4"
|
|
ktlint = "11.5.0"
|
|
|
|
# Android SDK versions
|
|
compileSdk = "35"
|
|
minSdk = "34"
|
|
targetSdk = "35"
|
|
|
|
# Test versions
|
|
junit4 = "4.13.2"
|
|
junit5 = "5.10.2" # careful, upgrading this can change a Cipher's IV size in tests!?
|
|
mockk = "1.13.4" # newer versions require kotlin > 1.8.10
|
|
espresso = "3.4.0"
|
|
|
|
# Dependency versions below this are AOSP versions.
|
|
# We use "strictly" to enforce the version cannot be overriden by transitive dependencies.
|
|
# We need to enforce that the versions we use are the same as AOSP to ensure compatibility.
|
|
|
|
# 1.3.61 Android 11
|
|
# 1.4.30 Android 12
|
|
# 1.6.10 Android 13
|
|
# 1.7.20 Android 13 (QPR2)
|
|
# 1.8.10 Android 14
|
|
# 1.9.0 Android 14 (QPR2)
|
|
# 1.9.22 Android 14 (QPR3)
|
|
# 1.9.23 Android 15
|
|
# Check: https://android.googlesource.com/platform/external/kotlinc/+/refs/tags/android-15.0.0_r1/build.txt
|
|
kotlin = { strictly = "1.9.23" }
|
|
ksp = "1.9.23-1.0.20" # Keep in match with kotlin version
|
|
dokka = "1.9.20" # Dokka has no releases after 1.9.20
|
|
|
|
# Lint versions
|
|
lint-rules = { strictly = "0.1.0" }
|
|
|
|
# Google versions
|
|
# https://android.googlesource.com/platform/external/protobuf/+/refs/tags/android-15.0.0_r1/java/pom.xml#7
|
|
protobuf = { strictly = "3.21.12" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-15.0.0_r1/current/extras/material-design-x/Android.bp#7
|
|
material = { strictly = "1.11.0" }
|
|
# careful with upgrading tink, so old backups continue to be decryptable
|
|
# https://github.com/tink-crypto/tink-java/releases
|
|
tink = { strictly = "1.10.0" }
|
|
|
|
# Coroutines versions
|
|
# https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/tags/android-15.0.0_r1/CHANGES.md
|
|
coroutines = { strictly = "1.7.3" } # AOSP has 1.7.2 but several libs require 1.7.3
|
|
|
|
# AndroidX versions
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/room/room-ktx?autodive=0
|
|
room = { strictly = "2.7.0-alpha03" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/core/core-ktx?autodive=0
|
|
androidx-core = { strictly = "1.14.0-alpha01" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/fragment/fragment-ktx?autodive=0
|
|
androidx-fragment = { strictly = "1.8.0-rc01" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/activity/activity-ktx?autodive=0
|
|
androidx-activity = { strictly = "1.9.2" } # 1.10.0-alpha01 in AOSP but has compile SDK version issues
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-14.0.0_r29/current/androidx/m2repository/androidx/preference/preference?autodive=0
|
|
androidx-preference = { strictly = "1.2.0-alpha01" } # 1.3.0-alpha01 in AOSP but isn't released
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/lifecycle/lifecycle-viewmodel-ktx?autodive=0
|
|
androidx-lifecycle-viewmodel-ktx = { strictly = "2.9.0-alpha01" }
|
|
androidx-lifecycle-livedata-ktx = { strictly = "2.9.0-alpha01" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/constraintlayout/constraintlayout?autodive=0
|
|
androidx-constraintlayout = { strictly = "2.2.0-alpha13" }
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/documentfile/documentfile?autodive=0
|
|
androidx-documentfile = { strictly = "1.1.0-alpha01" } # 1.1.0-alpha02 in AOSP but isn't released
|
|
# https://android.googlesource.com/platform/prebuilts/sdk/+/android-15.0.0_r1/current/androidx/m2repository/androidx/work/work-runtime-ktx?autodive=0
|
|
androidx-work-runtime = { strictly = "2.10.0-alpha02" }
|
|
|
|
[libraries]
|
|
# Kotlin standard dependencies
|
|
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
|
kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
|
kotlin-stdlib-common = { module = "org.jetbrains.kotlin:kotlin-stdlib-common", version.ref = "kotlin" }
|
|
|
|
# Lint dependencies
|
|
thirdegg-lint-rules = { module = "com.github.thirdegg:lint-rules", version.ref = "lint-rules" }
|
|
|
|
# Google dependencies
|
|
google-tink-android = { module = "com.google.crypto.tink:tink-android", version.ref = "tink" }
|
|
google-protobuf-javalite = { module = 'com.google.protobuf:protobuf-javalite', version.ref = 'protobuf' }
|
|
google-material = { module = 'com.google.android.material:material', version.ref = 'material' }
|
|
|
|
# Coroutines dependencies
|
|
kotlinx-coroutines-core-jvm = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", version.ref = "coroutines" }
|
|
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
|
|
# AndroidX dependencies
|
|
androidx-core = { module = "androidx.core:core", version.ref = "androidx-core" }
|
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
|
|
androidx-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
|
|
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
|
|
androidx-preference = { module = "androidx.preference:preference", version.ref = "androidx-preference" }
|
|
androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle-viewmodel-ktx" }
|
|
androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle-livedata-ktx" }
|
|
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
|
|
androidx-documentfile = { module = "androidx.documentfile:documentfile", version.ref = "androidx-documentfile" }
|
|
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work-runtime" }
|
|
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
|
|
|
[bundles]
|
|
kotlin = ["kotlin-stdlib", "kotlin-stdlib-jdk8", "kotlin-stdlib-common"]
|
|
coroutines = ["kotlinx-coroutines-core-jvm", "kotlinx-coroutines-android"]
|
|
|
|
[plugins]
|
|
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
|
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
|
|
google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
|
google-protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }
|
|
jetbrains-dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
|
|
jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
|
jlleitschuh-ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" }
|