/*
 * Copyright (C) 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

java_library {
    name: "managedprovisioning_protoslite",
    srcs: ["proto/**/*.proto"],
    proto: {
        type: "lite",
    },
}

aconfig_declarations {
    name: "aconfig_managed_provisioning_flags",
    package: "com.android.managedprovisioning.flags",
    container: "system",
    srcs: [
        "aconfig/*.aconfig",
    ],
}

java_aconfig_library {
    name: "aconfig_managed_provisioning_flags_lib",
    aconfig_declarations: "aconfig_managed_provisioning_flags",
}

android_library {
    name: "ManagedProvisioningLib",
    manifest: "AndroidManifest.xml",

    libs: [
        "auto_value_annotations",
    ],

    static_libs: [
        "androidx.legacy_legacy-support-v4",
        "androidx.annotation_annotation",
        "setupdesign",
        "managedprovisioning_protoslite",
        "androidx.webkit_webkit",
        "setupdesign-lottie-loading-layout",
        "lottie",
        "guava",
        "aconfig_managed_provisioning_flags_lib",
        "device_policy_aconfig_flags_lib",
        "hilt_android",
        "android_onboarding.contracts.provisioning",
        "android_onboarding.contracts.annotations",
        "android_onboarding.contracts.setupwizard",
        "android_onboarding.flags_hilt",
        "jsr330",
    ],

    plugins: ["auto_value_plugin"],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src/**/I*.aidl",
    ],

    resource_dirs: ["res"],

    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
}

android_app {
    name: "ManagedProvisioning",

    static_libs: ["ManagedProvisioningLib"],

    resource_dirs: [],

    platform_apis: true,
    certificate: "platform",
    privileged: true,
    optimize: {
        shrink_resources: true,
        proguard_compatibility: false,
        proguard_flags_files: ["proguard.flags"],
    },

    // Packages to be included in code coverage runs. This does not affect production builds.
    jacoco: {
        include_filter: ["com.android.managedprovisioning.*"],
    },
}