| ext { |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-13.0.0_r3/current/androidx/Android.bp#3901 |
| ext.room_version = "2.4.0-alpha05" // 2.5.0-alpha01 in AOSP but needs testing |
| // https://android.googlesource.com/platform/external/protobuf/+/refs/tags/android-14.0.0_r1/java/pom.xml#7 |
| ext.protobuf_version = "3.21.7" |
| |
| // test dependencies below - these do not care about AOSP and can be freely updated |
| junit4_version = "4.13.2" |
| junit5_version = "5.10.0" // careful, upgrading this can change a Cipher's IV size in tests!? |
| mockk_version = "1.13.4" // newer versions require kotlin > 1.8.10 |
| espresso_version = "3.4.0" |
| } |
| |
| // To produce these binaries, in latest AOSP source tree, run |
| // $ m |
| ext.aosp_libs = fileTree(include: [ |
| // For more information about this module: |
| // https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-11.0.0_r3/Android.bp#507 |
| // framework_intermediates/classes-header.jar works for gradle build as well, |
| // but not unit tests, so we use the actual classes (without updatable modules). |
| // |
| // out/target/common/obj/JAVA_LIBRARIES/framework-minus-apex_intermediates/classes.jar |
| 'android.jar', |
| // out/target/common/obj/JAVA_LIBRARIES/core-libart.com.android.art_intermediates/classes.jar |
| 'libcore.jar', |
| ], dir: "${rootProject.projectDir}/app/libs") |
| |
| ext.kotlin_libs = [ |
| std: [ |
| dependencies.create('org.jetbrains.kotlin:kotlin-stdlib') { |
| version { strictly "$aosp_kotlin_version" } |
| }, |
| dependencies.create('org.jetbrains.kotlin:kotlin-stdlib-jdk8') { |
| version { strictly "$aosp_kotlin_version" } |
| }, |
| dependencies.create('org.jetbrains.kotlin:kotlin-stdlib-common') { |
| version { strictly "$aosp_kotlin_version" } |
| }, |
| ], |
| coroutines: [ |
| dependencies.create('org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm') { |
| // https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/tags/android-14.0.0_r1/CHANGES.md |
| version { strictly '1.6.4' } |
| }, |
| dependencies.create('org.jetbrains.kotlinx:kotlinx-coroutines-android') { |
| // https://android.googlesource.com/platform/external/kotlinx.coroutines/+/refs/tags/android-14.0.0_r1/CHANGES.md |
| version { strictly '1.6.4' } |
| }, |
| ], |
| ] |
| |
| ext.std_libs = [ |
| androidx_core: [ |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#2420 |
| dependencies.create('androidx.core:core') { |
| version { strictly '1.9.0-alpha05' } // 1.9.0-alpha03 in AOSP but has SDK version issues |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#2386 |
| dependencies.create('androidx.core:core-ktx') { |
| version { strictly '1.9.0-alpha05' } // 1.9.0-alpha03 in AOSP but has SDK version issues |
| }, |
| ], |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#2849 |
| androidx_fragment: dependencies.create('androidx.fragment:fragment-ktx') { |
| version { strictly '1.5.0-alpha03' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#61 |
| androidx_activity: dependencies.create('androidx.activity:activity-ktx') { |
| version { strictly '1.5.0-alpha03' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#4420 |
| androidx_preference: dependencies.create('androidx.preference:preference') { |
| version { strictly '1.2.0-alpha01' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-13.0.0_r3/current/androidx/Android.bp#3521 |
| androidx_lifecycle_viewmodel_ktx: dependencies.create('androidx.lifecycle:lifecycle-viewmodel-ktx') { |
| version { strictly '2.5.0-alpha03' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#3279 |
| androidx_lifecycle_livedata_ktx: dependencies.create('androidx.lifecycle:lifecycle-livedata-ktx') { |
| version { strictly '2.5.0-alpha03' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#2244 |
| androidx_constraintlayout: dependencies.create('androidx.constraintlayout:constraintlayout') { |
| version { strictly '2.2.0-alpha05' } |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/androidx/Android.bp#2556 |
| androidx_documentfile: dependencies.create('androidx.documentfile:documentfile') { |
| version { strictly '1.1.0-alpha01' } // 1.1.0-alpha02 in AOSP but not released yet |
| }, |
| // https://android.googlesource.com/platform/prebuilts/sdk/+/refs/tags/android-14.0.0_r1/current/extras/material-design-x/Android.bp#15 |
| com_google_android_material: dependencies.create('com.google.android.material:material') { |
| version { strictly '1.7.0-alpha03' } |
| }, |
| ] |
| |
| ext.lint_libs = [ |
| exceptions: 'com.github.thirdegg:lint-rules:0.1.0' |
| ] |
| |
| ext.storage_libs = [ |
| androidx_room_runtime: dependencies.create('androidx.room:room-runtime') { |
| version { strictly "$room_version" } |
| }, |
| com_google_protobuf_javalite: dependencies.create('com.google.protobuf:protobuf-javalite') { |
| version { strictly "$protobuf_version" } |
| }, |
| // https://github.com/google/tink/releases |
| com_google_crypto_tink_android: dependencies.create('com.google.crypto.tink:tink-android') { |
| // careful with upgrading tink, so old backups continue to be decryptable |
| version { strictly '1.10.0' } |
| }, |
| ] |