/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

buildscript {
    repositories {
        maven {
            url "https://maven.mozilla.org/maven2"
        }

        dependencies {
            classpath "org.mozilla.telemetry:glean-gradle-plugin:${Versions.mozilla_glean}"
        }
    }
}

plugins {
    id "com.jetbrains.python.envs" version "0.0.26"
}

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion config.compileSdkVersion

    defaultConfig {
        minSdkVersion config.minSdkVersion
        targetSdkVersion config.targetSdkVersion
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}

// Set configuration for the Glean parser to extract metrics.yaml
// file from AAR dependencies of this project rather than look
// for it into the project directory.
ext.allowMetricsFromAAR = true

dependencies {
    implementation project(':concept-engine')
    implementation project(':concept-fetch')
    implementation project(':support-ktx')
    implementation project(':support-utils')

    implementation Dependencies.kotlin_stdlib
    implementation Dependencies.kotlin_coroutines

    api Dependencies.mozilla_geckoview

    implementation Dependencies.androidx_paging
    testImplementation Dependencies.androidx_test_core
    testImplementation Dependencies.androidx_test_junit
    testImplementation Dependencies.testing_robolectric
    testImplementation Dependencies.testing_coroutines
    testImplementation Dependencies.testing_mockito
    testImplementation Dependencies.testing_mockwebserver
    testImplementation project(':support-test')
    testImplementation project(':tooling-fetch-tests')

    // We only compile against Glean. It's up to the app to add those dependencies
    // if it wants to collect GeckoView telemetry through the Glean SDK.
    compileOnly project(":service-glean")
    testImplementation project(":service-glean")
    testImplementation Dependencies.androidx_work_testing

    androidTestImplementation Dependencies.androidx_test_core
    androidTestImplementation Dependencies.androidx_test_runner
    androidTestImplementation Dependencies.androidx_test_rules
    androidTestImplementation project(':tooling-fetch-tests')
}

apply plugin: "org.mozilla.telemetry.glean-gradle-plugin"
apply from: '../../../publish.gradle'
ext.configurePublish(config.componentsGroupId, archivesBaseName, project.ext.description)
