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.7.2" // careful, upgrading this can change a Cipher's IV size in tests!?
    mockk_version = "1.12.3"
    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.7.0' }
    },
]
