// These targets are appended to the autogenerated Android.bp by tools/gen_android_bp.

java_library_host {
    name: "perfetto_config-full",
    proto: {
        type: "full",
    },
    srcs: [
        "protos/perfetto/config/perfetto_config.proto",
    ],
}

java_library_host {
    name: "perfetto_trace-full",
    proto: {
        type: "full",
    },
    srcs: [
        "protos/perfetto/trace/perfetto_trace.proto",
    ],
    // b/267831518: Pin tradefed and dependencies to Java 11.
    java_version: "11",
}

java_library_host {
    name: "perfetto_metrics-full",
    proto: {
        type: "full",
    },
    srcs: [
        "protos/perfetto/metrics/perfetto_merged_metrics.proto",
    ],
    // b/267831518: Pin tradefed and dependencies to Java 11.
    java_version: "11",
}

// This sample target shows how to use the perfetto client API from within the
// Android tree.
cc_binary {
    name: "libperfetto_client_example",
    srcs: [
        "test/client_api_example.cc",
    ],
    static_libs: [
        "libperfetto_client_experimental",
        "perfetto_trace_protos",
    ],
    shared_libs: [
        "libprotobuf-cpp-lite",
        "liblog",
    ],
    cflags: [
        "-DGOOGLE_PROTOBUF_NO_RTTI",
        "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
    ],
    defaults: [
        "perfetto_defaults",
    ],
}

cc_library_static {
    name: "libstatslog_perfetto",
    generated_sources: ["statslog_perfetto.cpp"],
    generated_headers: ["statslog_perfetto.h"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    export_generated_headers: ["statslog_perfetto.h"],
    shared_libs: [
        "libcutils",
        "liblog",
        "libstatssocket",
        "libutils",
    ],
}

genrule {
    name: "statslog_perfetto.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_perfetto.h --module perfetto --namespace perfetto,android_internal",
    out: [
        "statslog_perfetto.h",
    ],
}

genrule {
    name: "statslog_perfetto.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_perfetto.cpp --module perfetto --namespace perfetto,android_internal --importHeader statslog_perfetto.h",
    out: [
        "statslog_perfetto.cpp",
    ],
}

sh_binary {
    name: "mm_events",
    src: "tools/mm_events",
}

package {
    default_applicable_licenses: ["external_perfetto_license"],
}

python_library {
    name: "perfetto-trace-processor-python",
    srcs: [
        ":perfetto-trace-processor-python-srcs",
        ":perfetto-trace-uri-resolver-python-srcs",
    ],
    data: [
        ":perfetto-trace-processor-python-data",
    ],
    libs: [
        "libprotobuf-python",
    ],
    host_supported: true,
}

filegroup {
    name: "perfetto-trace-uri-resolver-python-srcs",
    srcs: ["python/perfetto/trace_uri_resolver/*.py"],
    path: "python",
}

filegroup {
    name: "perfetto-trace-processor-python-srcs",
    srcs: ["python/perfetto/trace_processor/*.py"],
    path: "python",
}

filegroup {
    name: "perfetto-trace-processor-python-data",
    srcs: ["python/perfetto/trace_processor/*.descriptor*"],
    path: "python",
}

// 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.
// See: http://go/android-license-faq
license {
    name: "external_perfetto_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-CC-BY",
    ],
    license_text: [
        "LICENSE",
    ],
}
