// 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 {
    name: "perfetto_config-lite",
    proto: {
        type: "lite",
    },
    srcs: [
        "protos/perfetto/config/perfetto_config.proto",
    ],
}

java_library_host {
    name: "trace_summary-full",
    proto: {
        type: "full",
        canonical_path_from_root: false,
    },
    static_libs: [
        "libprotobuf-java-full",
    ],
    srcs: [
        ":perfetto_trace_summary_filegroup_proto",
    ],
    // b/267831518: Pin tradefed and dependencies to Java 11.
    java_version: "11",
}

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",
    ],
}

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/common/*.py",
        "python/perfetto/trace_processor/*.py",
    ],
    path: "python",
}

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

python_library {
    name: "perfetto-trace-proto-python",
    srcs: [
        ":perfetto-trace-proto-python-srcs",
    ],
    libs: [
        "libprotobuf-python",
    ],
    host_supported: true,
}

filegroup {
    name: "perfetto-trace-proto-python-srcs",
    srcs: [
        "python/perfetto/protos/perfetto/trace/*.py",
    ],
    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",
    ],
}

gensrcs {
    name: "perfetto_trace_javastream_protos",
    srcs: [
        ":perfetto_javastream_filegroup_proto",
    ],
    tools: [
        "aprotoc",
        "protoc-gen-javastream",
        "soong_zip",
    ],
    cmd: "mkdir -p $(genDir)/$(in) " +
        "&& $(location aprotoc) " +
        "--plugin=$(location protoc-gen-javastream) " +

        "--javastream_opt=include_filter:perfetto.protos.TracePacket,perfetto.protos.ShellTransition,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogMessage,perfetto.protos.ProtoLogViewerConfig,perfetto.protos.ShellHandlerMapping,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogGroup,perfetto.protos.ProtoLogConfig,perfetto.protos.DataSourceConfig,perfetto.protos.InternedString,perfetto.protos.InternedData,perfetto.protos.ProtoLogLevel,perfetto.protos.TestEvent,perfetto.protos.TestEvent.TestPayload,perfetto.protos.TestConfig,perfetto.protos.TestConfig.DummyFields,perfetto.protos.WinscopeExtensionsImpl,perfetto.protos.ViewCapture,perfetto.protos.AppWakelocksConfig,perfetto.protos.AppWakelockInfo,perfetto.protos.AppWakelockBundle," +

        // IME protos
        "perfetto.protos.ClientSideProto,perfetto.protos.DisplayCutoutProto,perfetto.protos.EditorInfoProto,perfetto.protos.ImeFocusControllerProto,perfetto.protos.InputConnectionCallProto,perfetto.protos.InputConnectionProto,perfetto.protos.InputMethodClientsTraceProto,perfetto.protos.InputMethodClientsTraceFileProto,perfetto.protos.InputMethodManagerProto,perfetto.protos.InputMethodManagerServiceProto,perfetto.protos.InputMethodManagerServiceTraceProto,perfetto.protos.InputMethodManagerServiceTraceFileProto,perfetto.protos.InputMethodServiceProto,perfetto.protos.InputMethodServiceTraceProto,perfetto.protos.InputMethodServiceTraceFileProto,perfetto.protos.InsetsAnimationControlImplProto,perfetto.protos.InsetsControllerProto,perfetto.protos.InsetsProto,perfetto.protos.InsetsSourceConsumerProto,perfetto.protos.InsetsSourceControlProto,perfetto.protos.InsetsSourceProto,perfetto.protos.InsetsStateProto,perfetto.protos.RectProto,perfetto.protos.SoftInputWindowProto,perfetto.protos.SurfaceControlProto,perfetto.protos.ViewRootImplProto,perfetto.protos.WindowLayoutParamsProto," +

        // WindowManager protos
        "perfetto.protos.ActivityInfoProto,perfetto.protos.ActivityRecordProto,perfetto.protos.AlphaAnimationSpecProto,perfetto.protos.AnimationAdapterProto,perfetto.protos.AnimationSpecProto,perfetto.protos.AppTransitionProto,perfetto.protos.BackNavigationProto,perfetto.protos.ConfigurationContainerProto,perfetto.protos.ConfigurationProto,perfetto.protos.DeviceConfigurationProto,perfetto.protos.DisplayAreaProto,perfetto.protos.DisplayContentProto,perfetto.protos.DisplayInfoProto,perfetto.protos.DisplayRotationProto,perfetto.protos.GlobalConfigurationProto,perfetto.protos.IdentifierProto,perfetto.protos.ImeInsetsSourceProviderProto,perfetto.protos.InsetsSourceProviderProto,perfetto.protos.KeyguardControllerProto,perfetto.protos.KeyguardPerDisplayProto,perfetto.protos.KeyguardServiceDelegateProto,perfetto.protos.LocalAnimationAdapterProto,perfetto.protos.LocaleProto,perfetto.protos.MoveAnimationSpecProto,perfetto.protos.PointProto,perfetto.protos.RemoteAnimationTargetProto,perfetto.protos.RemoteInsetsControlTargetProto,perfetto.protos.ResourcesConfigurationProto,perfetto.protos.RootWindowContainerProto,perfetto.protos.SurfaceAnimatorProto,perfetto.protos.TaskFragmentProto,perfetto.protos.TaskProto,perfetto.protos.WindowAnimationSpecProto,perfetto.protos.WindowConfigurationProto,perfetto.protos.WindowContainerChildProto,perfetto.protos.WindowContainerProto,perfetto.protos.WindowFramesProto,perfetto.protos.WindowManagerConfig,perfetto.protos.WindowManagerPolicyProto,perfetto.protos.WindowManagerServiceDumpProto,perfetto.protos.WindowManagerTraceFileProto,perfetto.protos.WindowOrientationListenerProto,perfetto.protos.WindowStateAnimatorProto,perfetto.protos.WindowStateProto,perfetto.protos.WindowSurfaceControllerProto,perfetto.protos.WindowTokenProto " +

        "--javastream_out=$(genDir)/$(in) " +
        "-Iexternal/protobuf/src " +
        "-Iexternal/perfetto " +
        "-I . $(in) " +
        "&& $(location soong_zip) " +
        "-jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
    data: [
        ":libprotobuf-internal-protos",
    ],
    output_extension: "srcjar",
}

java_library {
    name: "perfetto_winscope-lite",
    proto: {
        type: "lite",
        include_dirs: ["external/protobuf/src"],
        canonical_path_from_root: false,
    },
    srcs: [
        ":libprotobuf-internal-descriptor-proto",
        ":perfetto_javastream_filegroup_proto",
    ],
    static_libs: [
        "libprotobuf-java-lite",
    ],
    sdk_version: "current",
    host_supported: true,
}

java_library {
    name: "perfetto_config_java_protos_system_server_current",
    srcs: [
        ":perfetto_config_filegroup_proto",
    ],
    static_libs: [
        "libprotobuf-java-lite",
    ],
    proto: {
        type: "lite",
        canonical_path_from_root: false,
    },
    sdk_version: "system_server_current",
    min_sdk_version: "35",
    apex_available: [
        "com.android.profiling",
    ],
}

prebuilt_etc {
    name: "perfetto_persistent_cfg.pbtxt",
    filename: "persistent_cfg.pbtxt",
    sub_dir: "perfetto",
    src: "persistent_cfg.pbtxt",
}

phony {
    name: "perfetto-extras",
    required: [
        "libperfetto_android_internal",
        "traced_perf",
        "trigger_perfetto",
    ],
}

filegroup {
    name: "heap_profile",
    srcs: [
        "tools/heap_profile",
    ],
}

aconfig_declarations {
    name: "perfetto_flags-aconfig",
    package: "perfetto.flags",
    container: "system",
    srcs: ["perfetto_flags.aconfig"],
}

cc_aconfig_library {
    name: "perfetto_flags_c_lib",
    aconfig_declarations: "perfetto_flags-aconfig",
    vendor_available: true,
    product_available: true,
    apex_available: [
        "//apex_available:anyapex",
        "//apex_available:platform",
        "com.android.profiling",
    ],
    min_sdk_version: "30",
}
