// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: [
        "external_rust_crates_android_logger_license",
    ],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_android_logger_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_test {
    name: "android_logger_device_test_src_lib",
    crate_name: "android_logger",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2015",
    features: [
        "default",
        "regex",
    ],
    rustlibs: [
        "libandroid_log_sys",
        "libenv_logger",
        "liblazy_static",
        "liblog_rust",
    ],
}

rust_defaults {
    name: "android_logger_defaults",
    crate_name: "android_logger",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2015",
    features: [
        "default",
        "regex",
    ],
    rustlibs: [
        "libandroid_log_sys",
        "libandroid_logger",
        "libenv_logger",
        "liblazy_static",
        "liblog_rust",
    ],
}

rust_test {
    name: "android_logger_device_test_tests_config_log_level",
    defaults: ["android_logger_defaults"],
    srcs: ["tests/config_log_level.rs"],
}

rust_test {
    name: "android_logger_device_test_tests_default_init",
    defaults: ["android_logger_defaults"],
    srcs: ["tests/default_init.rs"],
}

rust_test {
    name: "android_logger_device_test_tests_multiple_init",
    defaults: ["android_logger_defaults"],
    srcs: ["tests/multiple_init.rs"],
}

rust_library {
    name: "libandroid_logger",
    crate_name: "android_logger",
    srcs: ["src/lib.rs"],
    edition: "2015",
    features: [
        "default",
        "regex",
    ],
    rustlibs: [
        "libandroid_log_sys",
        "libenv_logger",
        "liblazy_static",
        "liblog_rust",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}

// dependent_library ["feature_list"]
//   aho-corasick-0.7.15 "default,std"
//   android_log-sys-0.2.0
//   cfg-if-1.0.0
//   env_logger-0.8.3 "regex"
//   lazy_static-1.4.0
//   log-0.4.14 "std"
//   memchr-2.3.4 "default,std,use_std"
//   regex-1.4.6 "aho-corasick,memchr,perf,perf-cache,perf-dfa,perf-inline,perf-literal,std"
//   regex-syntax-0.6.23
