blob: cbfa11a030071cbeba1267a4358384be5adbbc0f [file] [log] [blame]
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' }
},
]