tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

libs.versions.toml (19338B)


      1 [versions]
      2 # AGP
      3 android-gradle-plugin = "8.13.2" # Keep lint version in sync
      4 android-lint = "31.13.2"
      5 
      6 # Kotlin
      7 coroutines = "1.10.2"
      8 kotlin = "2.3.0"
      9 serialization = "1.9.0"
     10 
     11 # AndroidX
     12 activity = "1.12.2"
     13 annotation = "1.9.1"
     14 annotation-experimental = "1.5.1"
     15 appcompat = "1.7.1"
     16 arch = "2.2.0"
     17 autofill = "1.3.0"
     18 benchmark = "1.4.1"
     19 biometric = "1.1.0"
     20 browser = "1.9.0"
     21 cardview = "1.0.0"
     22 collection = "1.5.0"
     23 compose-bom = "2025.11.01"
     24 concurrent = "1.3.0"
     25 constraintlayout = "2.2.1"
     26 constraintlayout-compose = "1.1.1"
     27 coordinatorlayout = "1.3.0"
     28 core = "1.17.0"
     29 core-splashscreen = "1.2.0"
     30 datastore = "1.2.0"
     31 drawerlayout = "1.2.0"
     32 fragment = "1.8.9"
     33 lifecycle = "2.10.0"
     34 localbroadcastmanager = "1.0.0"
     35 media = "1.7.1"
     36 nav3Core = "1.0.0"
     37 navigation = "2.9.5"
     38 paging = "3.3.6"
     39 palette = "1.0.0"
     40 preferences = "1.2.1"
     41 profileinstaller = "1.4.0"
     42 recyclerview = "1.4.0"
     43 room = "2.8.4"
     44 savedstate = "1.4.0"
     45 swiperefreshlayout = "1.2.0"
     46 transition = "1.6.0"
     47 viewpager2 = "1.1.0"
     48 window = "1.5.1"
     49 work = "2.11.0"
     50 
     51 # Google other
     52 accompanist = "0.37.3"
     53 firebase-messaging = "25.0.1"
     54 installreferrer = "2.2"
     55 ksp = "2.3.4"
     56 material = "1.13.0"
     57 osslicenses-plugin = "0.10.10"
     58 play-review = "2.0.2"
     59 play-services-ads-id = "18.2.0"
     60 play-services-base = "18.9.0"
     61 play-services-fido = "21.2.0"
     62 protobuf = "4.33.2" # Keep Protobuf in sync with the version used by AppServices.
     63 
     64 # Gradle plugins
     65 jacoco = "0.8.14"
     66 kotlin-dsl = "6.4.1"
     67 protobuf-plugin = "0.9.6"
     68 python-envs-plugin = "0.0.31"
     69 semanticdb-javac = "0.11.1"
     70 semanticdb-kotlinc = "0.8.2"
     71 tomlj = "1.1.1"
     72 
     73 # Linters
     74 detekt = "1.23.8"
     75 google-java-format = "1.28.0"
     76 ktlint = "1.8.0"
     77 spotless = "8.1.0"
     78 
     79 # Mozilla
     80 glean = "66.2.0"
     81 
     82 # Testing libraries
     83 androidx-test = "1.7.0"
     84 androidx-test-espresso = "3.7.0"
     85 androidx-test-ext = "1.3.0"
     86 androidx-test-monitor = "1.8.0"
     87 androidx-test-orchestrator = "1.6.1"
     88 androidx-test-runner = "1.7.0"
     89 androidx-test-uiautomator = "2.3.0"
     90 junit4 = "4.13.2"
     91 junit6 = "6.0.2"
     92 leakcanary = "2.14"
     93 mockito = "5.21.0"
     94 mockk = "1.14.7"
     95 robolectric = "4.16"
     96 
     97 # Third party libraries
     98 adjust = "5.5.0"
     99 androidsvg = "1.4"
    100 disklrucache = "2.0.2"
    101 jna = "5.18.1"
    102 okhttp = "4.12.0"
    103 okio = "3.15.0"
    104 zxing = "3.5.4"
    105 
    106 [libraries]
    107 # AGP
    108 android-gradle-plugin = { group = "com.android.tools.build", name = "gradle", version.ref = "android-gradle-plugin" }
    109 
    110 # Kotlin
    111 kotlin-annotations-jvm = { group = "org.jetbrains.kotlin", name = "kotlin-annotations-jvm", version.ref = "kotlin" }
    112 kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
    113 kotlin-serialization = { group = "org.jetbrains.kotlin.plugin.serialization", name = "org.jetbrains.kotlin.plugin.serialization.gradle.plugin", version.ref = "kotlin" }
    114 kotlinx-coroutines = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
    115 kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "coroutines" }
    116 kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }
    117 kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" }
    118 
    119 # AndroidX
    120 androidx-activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
    121 androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity" }
    122 androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" }
    123 androidx-annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" }
    124 androidx-annotation-experimental = { group = "androidx.annotation", name = "annotation-experimental", version.ref = "annotation-experimental" }
    125 androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
    126 androidx-arch-core-common = { group = "androidx.arch.core", name = "core-common", version.ref = "arch" }
    127 androidx-arch-core-testing = { group = "androidx.arch.core", name = "core-testing", version.ref = "arch" }
    128 androidx-autofill = { group = "androidx.autofill", name = "autofill", version.ref = "autofill" }
    129 androidx-benchmark-gradle = { group = "androidx.benchmark", name = "benchmark-gradle-plugin", version.ref = "benchmark" }
    130 androidx-benchmark-junit4 = { group = "androidx.benchmark", name = "benchmark-junit4", version.ref = "benchmark" }
    131 androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmark" }
    132 androidx-biometric = { group = "androidx.biometric", name = "biometric", version.ref = "biometric" }
    133 androidx-browser = { group = "androidx.browser", name = "browser", version.ref = "browser" }
    134 androidx-cardview = { group = "androidx.cardview", name = "cardview", version.ref = "cardview" }
    135 androidx-collection = { group = "androidx.collection", name = "collection", version.ref = "collection" }
    136 androidx-concurrent = { group = "androidx.concurrent", name = "concurrent-futures-ktx", version.ref = "concurrent" }
    137 androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
    138 androidx-constraintlayout-compose = { group = "androidx.constraintlayout", name = "constraintlayout-compose", version.ref = "constraintlayout-compose" }
    139 androidx-coordinatorlayout = { group = "androidx.coordinatorlayout", name = "coordinatorlayout", version.ref = "coordinatorlayout" }
    140 androidx-core = { group = "androidx.core", name = "core", version.ref = "core" }
    141 androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core" }
    142 androidx-core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "core-splashscreen" }
    143 androidx-datastore = { group = "androidx.datastore", name = "datastore", version.ref = "datastore" }
    144 androidx-datastore-preferences = { group = "androidx.datastore", name = "datastore-preferences", version.ref = "datastore" }
    145 androidx-drawerlayout = { group = "androidx.drawerlayout", name = "drawerlayout", version.ref = "drawerlayout" }
    146 androidx-fragment = { group = "androidx.fragment", name = "fragment", version.ref = "fragment" }
    147 androidx-fragment-compose = { group = "androidx.fragment", name = "fragment-compose", version.ref = "fragment" }
    148 androidx-fragment-ktx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "fragment" }
    149 androidx-lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common", version.ref = "lifecycle" }
    150 androidx-lifecycle-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycle" }
    151 androidx-lifecycle-livedata = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" }
    152 androidx-lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycle" }
    153 androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
    154 androidx-lifecycle-service = { group = "androidx.lifecycle", name = "lifecycle-service", version.ref = "lifecycle" }
    155 androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" }
    156 androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }
    157 androidx-localbroadcastmanager = { group = "androidx.localbroadcastmanager", name = "localbroadcastmanager", version.ref = "localbroadcastmanager" }
    158 androidx-media = { group = "androidx.media", name = "media", version.ref = "media" }
    159 androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" }
    160 androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" }
    161 androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "navigation" }
    162 androidx-navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigation" }
    163 androidx-navigation-safeargs = { group = "androidx.navigation", name = "navigation-safe-args-gradle-plugin", version.ref = "navigation" }
    164 androidx-navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "navigation" }
    165 androidx-paging = { group = "androidx.paging", name = "paging-runtime", version.ref = "paging" }
    166 androidx-palette = { group = "androidx.palette", name = "palette-ktx", version.ref = "palette" }
    167 androidx-preferences = { group = "androidx.preference", name = "preference", version.ref = "preferences" }
    168 androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" }
    169 androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
    170 androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
    171 androidx-room-runtime = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
    172 androidx-room-testing = { group = "androidx.room", name = "room-testing", version.ref = "room" }
    173 androidx-savedstate = { group = "androidx.savedstate", name = "savedstate", version.ref = "savedstate" }
    174 androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" }
    175 androidx-transition = { group = "androidx.transition", name = "transition", version.ref = "transition" }
    176 androidx-viewpager2 = { group = "androidx.viewpager2", name = "viewpager2", version.ref = "viewpager2" }
    177 androidx-window-core = { module = "androidx.window:window-core", version.ref = "window" }
    178 androidx-work-runtime = { group = "androidx.work", name = "work-runtime", version.ref = "work" }
    179 androidx-work-testing = { group = "androidx.work", name = "work-testing", version.ref = "work" }
    180 
    181 # AndroidX Compose
    182 androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
    183 androidx-compose-animation = { group = "androidx.compose.animation", name = "animation" }
    184 androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
    185 androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
    186 androidx-compose-material3-adaptive = { group = "androidx.compose.material3.adaptive", name = "adaptive" }
    187 androidx-compose-material3-adaptivelayout = { group = "androidx.compose.material3.adaptive", name = "adaptive-layout" }
    188 androidx-compose-material3-adaptivenavigation = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation" }
    189 androidx-compose-material3-adaptivenavigationsuite = { group = "androidx.compose.material3", name = "material3-adaptive-navigation-suite" }
    190 androidx-compose-material3-windowsizeclass = { group = "androidx.compose.material3", name = "material3-window-size-class" }
    191 androidx-compose-material-icons = { group = "androidx.compose.material", name = "material-icons-core" }
    192 androidx-compose-runtime-livedata = { group = "androidx.compose.runtime", name = "runtime-livedata" }
    193 androidx-compose-runtime-saveable = { group = "androidx.compose.runtime", name = "runtime-saveable" }
    194 androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
    195 androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
    196 androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4" }
    197 androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
    198 androidx-compose-ui-text-android = { group = "androidx.compose.ui", name = "ui-text-android" }
    199 androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
    200 androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
    201 
    202 # Google other
    203 accompanist-drawablepainter = { group = "com.google.accompanist", name = "accompanist-drawablepainter", version.ref = "accompanist" }
    204 firebase-messaging = { group = "com.google.firebase", name = "firebase-messaging", version.ref = "firebase-messaging" }
    205 installreferrer = { group = "com.android.installreferrer", name = "installreferrer", version.ref = "installreferrer" }
    206 google-material = { group = "com.google.android.material", name = "material", version.ref = "material" }
    207 ksp-symbol-processing-aa = { group = "com.google.devtools.ksp", name = "symbol-processing-aa", version.ref = "ksp" }
    208 ksp-symbol-processing-aa-embeddable = { group = "com.google.devtools.ksp", name = "symbol-processing-aa-embeddable", version.ref = "ksp" }
    209 ksp-symbol-processing-api = { group = "com.google.devtools.ksp", name = "symbol-processing-api", version.ref = "ksp" }
    210 ksp-symbol-processing-common-deps = { group = "com.google.devtools.ksp", name = "symbol-processing-common-deps", version.ref = "ksp" }
    211 osslicenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "osslicenses-plugin" }
    212 play-review = { group = "com.google.android.play", name = "review", version.ref = "play-review" }
    213 play-review-ktx = { group = "com.google.android.play", name = "review-ktx", version.ref = "play-review" }
    214 play-services-ads-id = { group = "com.google.android.gms", name = "play-services-ads-identifier", version.ref = "play-services-ads-id" }
    215 play-services-base = { group = "com.google.android.gms", name = "play-services-base", version.ref = "play-services-base" }
    216 play-services-fido = { group = "com.google.android.gms", name = "play-services-fido", version.ref = "play-services-fido" }
    217 protobuf-compiler = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" }
    218 protobuf-javalite = { group = "com.google.protobuf", name = "protobuf-javalite", version.ref = "protobuf" }
    219 
    220 # Gradle plugins
    221 semanticdb-java = { group = "com.sourcegraph", name = "semanticdb-javac", version.ref = "semanticdb-javac" }
    222 semanticdb-kotlin = { group = "com.github.mozsearch", name = "semanticdb-kotlinc", version.ref = "semanticdb-kotlinc" }
    223 tomlj = { group = "org.tomlj", name = "tomlj", version.ref = "tomlj" }
    224 
    225 # Linters
    226 android-lint = { group = "com.android.tools.lint", name = "lint", version.ref = "android-lint" }
    227 android-lint-api = { group = "com.android.tools.lint", name = "lint-api", version.ref = "android-lint" }
    228 android-lint-checks = { group = "com.android.tools.lint", name = "lint-checks", version.ref = "android-lint" }
    229 android-lint-tests = { group = "com.android.tools.lint", name = "lint-tests", version.ref = "android-lint" }
    230 detekt-api = { group = "io.gitlab.arturbosch.detekt", name = "detekt-api", version.ref = "detekt" }
    231 detekt-cli = { group = "io.gitlab.arturbosch.detekt", name = "detekt-cli", version.ref = "detekt" }
    232 detekt-test = { group = "io.gitlab.arturbosch.detekt", name = "detekt-test", version.ref = "detekt" }
    233 google-java-format = { group = "com.google.googlejavaformat", name = "google-java-format", version.ref = "google-java-format" }
    234 ktlint = { group = "com.pinterest.ktlint", name = "ktlint-cli", version.ref = "ktlint" }
    235 
    236 # Mozilla
    237 mozilla-glean = { group = "org.mozilla.telemetry", name = "glean", version.ref = "glean" }
    238 mozilla-glean-forUnitTests = { group = "org.mozilla.telemetry", name = "glean-native-forUnitTests", version.ref = "glean" }
    239 mozilla-glean-gradle-plugin = { group = "org.mozilla.telemetry", name = "glean-gradle-plugin", version.ref = "glean" }
    240 
    241 # Testing libraries
    242 androidx-test-core = { group = "androidx.test", name = "core-ktx", version.ref = "androidx-test" }
    243 androidx-test-espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref = "androidx-test-espresso" }
    244 androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso" }
    245 androidx-test-espresso-idling-resource = { group = "androidx.test.espresso", name = "espresso-idling-resource", version.ref = "androidx-test-espresso" }
    246 androidx-test-espresso-intents = { group = "androidx.test.espresso", name = "espresso-intents", version.ref = "androidx-test-espresso" }
    247 androidx-test-espresso-web = { group = "androidx.test.espresso", name = "espresso-web", version.ref = "androidx-test-espresso" }
    248 androidx-test-junit = { group = "androidx.test.ext", name = "junit-ktx", version.ref = "androidx-test-ext" }
    249 androidx-test-monitor = { group = "androidx.test", name = "monitor", version.ref = "androidx-test-monitor" }
    250 androidx-test-orchestrator = { group = "androidx.test", name = "orchestrator", version.ref = "androidx-test-orchestrator" }
    251 androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidx-test" }
    252 androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" }
    253 androidx-test-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "androidx-test-uiautomator" }
    254 junit4 = { group = "junit", name = "junit", version.ref = "junit4" }
    255 junit-bom = { group = "org.junit", name = "junit-bom", version.ref = "junit6" }
    256 junit-jupiter = { group = "org.junit.jupiter", name = "junit-jupiter" }
    257 junit-platform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" }
    258 junit-vintage = { group = "org.junit.vintage", name = "junit-vintage-engine" }
    259 leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" }
    260 leakcanary-instrumentation = { group = "com.squareup.leakcanary", name = "leakcanary-android-instrumentation", version.ref = "leakcanary" }
    261 mockito = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
    262 mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" }
    263 mockk-android = { group = "io.mockk", name = "mockk-android", version.ref = "mockk" }
    264 robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
    265 
    266 # Third party libraries
    267 adjust = { group = "com.adjust.sdk", name = "adjust-android", version.ref = "adjust" }
    268 jna = { group = "net.java.dev.jna", name = "jna", version.ref = "jna" }
    269 androidsvg = { group = "com.caverock", name = "androidsvg-aar", version.ref = "androidsvg" }
    270 disklrucache = { group = "com.jakewharton", name = "disklrucache", version.ref = "disklrucache" }
    271 mockwebserver = { group = "com.squareup.okhttp3", name = "mockwebserver", version.ref = "okhttp" }
    272 okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
    273 okhttp-urlconnection = { group = "com.squareup.okhttp3", name = "okhttp-urlconnection", version.ref = "okhttp" }
    274 okio = { group = "com.squareup.okio", name = "okio", version.ref = "okio" }
    275 zxing = { group = "com.google.zxing", name = "core", version.ref = "zxing" }
    276 
    277 [plugins]
    278 detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
    279 kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
    280 kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
    281 kotlin-dsl = { id = "org.gradle.kotlin.kotlin-dsl", version.ref = "kotlin-dsl" }
    282 ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
    283 python-envs-plugin = {id = "com.jetbrains.python.envs", version.ref = "python-envs-plugin"}
    284 protobuf-plugin = {id = "com.google.protobuf", version.ref = "protobuf-plugin"}
    285 spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }