//
// Copyright (C) 2017 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.
//

// ==========================================================
// Build the library for use on the host
// ==========================================================
cc_library_host_shared {
    name: "libstats_proto_host",
    srcs: [
        "src/atoms.proto",
        "src/atom_field_options.proto",
    ],

    shared_libs: [
        "libplatformprotos",
    ],

    proto: {
        type: "full",
        export_proto_headers: true,
        include_dirs: [
            "external/protobuf/src",
        ],
    },

    export_shared_lib_headers: [
        "libplatformprotos",
    ]

}

cc_defaults {
    name: "statsd_defaults",
    aidl: {
        include_dirs: ["frameworks/base/core/java"],
    },

    srcs: [
        ":statsd_aidl",
        ":ICarStatsService.aidl",
        "src/active_config_list.proto",
        "src/anomaly/AlarmMonitor.cpp",
        "src/anomaly/AlarmTracker.cpp",
        "src/anomaly/AnomalyTracker.cpp",
        "src/anomaly/DurationAnomalyTracker.cpp",
        "src/anomaly/subscriber_util.cpp",
        "src/condition/CombinationConditionTracker.cpp",
        "src/condition/condition_util.cpp",
        "src/condition/ConditionWizard.cpp",
        "src/condition/SimpleConditionTracker.cpp",
        "src/condition/StateConditionTracker.cpp",
        "src/config/ConfigKey.cpp",
        "src/config/ConfigListener.cpp",
        "src/config/ConfigManager.cpp",
        "src/external/CarStatsPuller.cpp",
        "src/external/GpuStatsPuller.cpp",
        "src/external/Perfetto.cpp",
        "src/external/PowerStatsPuller.cpp",
        "src/external/PullResultReceiver.cpp",
        "src/external/puller_util.cpp",
        "src/external/ResourceHealthManagerPuller.cpp",
        "src/external/StatsCallbackPuller.cpp",
        "src/external/StatsCallbackPullerDeprecated.cpp",
        "src/external/StatsCompanionServicePuller.cpp",
        "src/external/StatsPuller.cpp",
        "src/external/StatsPullerManager.cpp",
        "src/external/SubsystemSleepStatePuller.cpp",
        "src/external/SurfaceflingerStatsPuller.cpp",
        "src/external/TrainInfoPuller.cpp",
        "src/FieldValue.cpp",
        "src/guardrail/StatsdStats.cpp",
        "src/hash.cpp",
        "src/HashableDimensionKey.cpp",
        "src/logd/LogEvent.cpp",
        "src/logd/LogEventQueue.cpp",
        "src/matchers/CombinationLogMatchingTracker.cpp",
        "src/matchers/EventMatcherWizard.cpp",
        "src/matchers/matcher_util.cpp",
        "src/matchers/SimpleLogMatchingTracker.cpp",
        "src/metrics/CountMetricProducer.cpp",
        "src/metrics/duration_helper/MaxDurationTracker.cpp",
        "src/metrics/duration_helper/OringDurationTracker.cpp",
        "src/metrics/DurationMetricProducer.cpp",
        "src/metrics/EventMetricProducer.cpp",
        "src/metrics/GaugeMetricProducer.cpp",
        "src/metrics/MetricProducer.cpp",
        "src/metrics/metrics_manager_util.cpp",
        "src/metrics/MetricsManager.cpp",
        "src/metrics/ValueMetricProducer.cpp",
        "src/packages/UidMap.cpp",
        "src/shell/shell_config.proto",
        "src/shell/ShellSubscriber.cpp",
        "src/socket/StatsSocketListener.cpp",
        "src/state/StateManager.cpp",
        "src/state/StateTracker.cpp",
        "src/stats_log_util.cpp",
        "src/statscompanion_util.cpp",
        "src/statsd_config.proto",
        "src/StatsLogProcessor.cpp",
        "src/StatsService.cpp",
        "src/storage/StorageManager.cpp",
        "src/subscriber/IncidentdReporter.cpp",
        "src/subscriber/SubscriberReporter.cpp",
        "src/uid_data.proto",
    ],

    cflags: [
        // "-DNEW_ENCODING_SCHEME",
    ],

    local_include_dirs: [
        "src",
    ],

    static_libs: [
        "libhealthhalutils",
        "libplatformprotos",
    ],

    shared_libs: [
        "android.frameworks.stats@1.0",
        "android.hardware.health@2.0",
        "android.hardware.power.stats@1.0",
        "android.hardware.power@1.0",
        "android.hardware.power@1.1",
        "libbase",
        "libbinder",
        "libcutils",
        "libgraphicsenv",
        "libhidlbase",
        "libincident",
        "liblog",
        "libprotoutil",
        "libservices",
        "libstatslog",
        "libstatsmetadata",
        "libstatssocket",
        "libsysutils",
        "libtimestats_proto",
        "libutils",
    ],
}

// ================
// libstatsmetadata
// ================

genrule {
    name: "atoms_info.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --atomsInfoHeader $(genDir)/atoms_info.h",
    out: [
        "atoms_info.h",
    ],
}

genrule {
    name: "atoms_info.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --atomsInfoCpp $(genDir)/atoms_info.cpp",
    out: [
        "atoms_info.cpp",
    ],
}

cc_library_shared {
    name: "libstatsmetadata",
    host_supported: true,
    generated_sources: [
        "atoms_info.cpp",
    ],
    generated_headers: [
        "atoms_info.h",
    ],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    export_generated_headers: [
        "atoms_info.h",
    ],
    shared_libs: [
        "libcutils",
        "libstatslog",
    ],
    target: {
        android: {
            shared_libs: [
                "libutils",
            ],
        },
        host: {
            static_libs: [
                "libutils",
            ],
        },
    },
}


// =========
// statsd
// =========

cc_binary {
    name: "statsd",
    defaults: ["statsd_defaults"],

    srcs: ["src/main.cpp"],

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
        "-Wno-unused-parameter",
        // optimize for size (protobuf glop can get big)
        "-Os",
        // "-g",
        // "-O0",
    ],

    product_variables: {
        eng: {
            // Enable sanitizer ONLY on eng builds
            //sanitize: {
            //    address: true,
            //},
        },
        debuggable: {
            // Add a flag to enable stats log printing from statsd on debug builds.
            cflags: ["-DVERY_VERBOSE_PRINTING"],
        },
    },

    proto: {
        type: "lite",
    },

    shared_libs: ["libgtest_prod"],

    vintf_fragments: ["android.frameworks.stats@1.0-service.xml"],

    init_rc: ["statsd.rc"],
}

// ==============
// statsd_test
// ==============

cc_test {
    name: "statsd_test",
    defaults: ["statsd_defaults"],
    test_suites: ["device-tests"],

    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-missing-field-initializers",
        "-Wno-unused-variable",
        "-Wno-unused-function",
        "-Wno-unused-parameter",
    ],

    srcs: [
        // atom_field_options.proto needs field_options.proto, but that is
        // not included in libprotobuf-cpp-lite, so compile it here.
        ":libprotobuf-internal-protos",

        "src/atom_field_options.proto",
        "src/atoms.proto",
        "src/shell/shell_data.proto",
        "src/stats_log.proto",
        "tests/AlarmMonitor_test.cpp",
        "tests/anomaly/AlarmTracker_test.cpp",
        "tests/anomaly/AnomalyTracker_test.cpp",
        "tests/condition/CombinationConditionTracker_test.cpp",
        "tests/condition/ConditionTimer_test.cpp",
        "tests/condition/SimpleConditionTracker_test.cpp",
        "tests/condition/StateConditionTracker_test.cpp",
        "tests/ConfigManager_test.cpp",
        "tests/e2e/Alarm_e2e_test.cpp",
        "tests/e2e/Anomaly_count_e2e_test.cpp",
        "tests/e2e/Anomaly_duration_sum_e2e_test.cpp",
        "tests/e2e/Attribution_e2e_test.cpp",
        "tests/e2e/ConfigTtl_e2e_test.cpp",
        "tests/e2e/CountMetric_e2e_test.cpp",
        "tests/e2e/DurationMetric_e2e_test.cpp",
        "tests/e2e/GaugeMetric_e2e_pull_test.cpp",
        "tests/e2e/GaugeMetric_e2e_push_test.cpp",
        "tests/e2e/MetricActivation_e2e_test.cpp",
        "tests/e2e/MetricConditionLink_e2e_test.cpp",
        "tests/e2e/PartialBucket_e2e_test.cpp",
        "tests/e2e/ValueMetric_pull_e2e_test.cpp",
        "tests/e2e/WakelockDuration_e2e_test.cpp",
        "tests/external/GpuStatsPuller_test.cpp",
        "tests/external/IncidentReportArgs_test.cpp",
        "tests/external/puller_util_test.cpp",
        "tests/external/StatsCallbackPuller_test.cpp",
        "tests/external/StatsPuller_test.cpp",
        "tests/external/SurfaceflingerStatsPuller_test.cpp",
        "tests/FieldValue_test.cpp",
        "tests/guardrail/StatsdStats_test.cpp",
        "tests/indexed_priority_queue_test.cpp",
        "tests/log_event/LogEventQueue_test.cpp",
        "tests/LogEntryMatcher_test.cpp",
        "tests/LogEvent_test.cpp",
        "tests/metrics/CountMetricProducer_test.cpp",
        "tests/metrics/DurationMetricProducer_test.cpp",
        "tests/metrics/EventMetricProducer_test.cpp",
        "tests/metrics/GaugeMetricProducer_test.cpp",
        "tests/metrics/MaxDurationTracker_test.cpp",
        "tests/metrics/metrics_test_helper.cpp",
        "tests/metrics/OringDurationTracker_test.cpp",
        "tests/metrics/ValueMetricProducer_test.cpp",
        "tests/MetricsManager_test.cpp",
        "tests/shell/ShellSubscriber_test.cpp",
        "tests/state/StateTracker_test.cpp",
        "tests/statsd_test_util.cpp",
        "tests/StatsLogProcessor_test.cpp",
        "tests/StatsService_test.cpp",
        "tests/storage/StorageManager_test.cpp",
        "tests/UidMap_test.cpp",
    ],

    static_libs: [
        "libgmock",
        "libplatformprotos",
    ],

    proto: {
        type: "lite",
        include_dirs: ["external/protobuf/src"],
    },

    shared_libs: [
        "libprotobuf-cpp-lite",
        "libstatssocket"
    ],

}

//#############################
// statsd micro benchmark
//#############################

cc_benchmark {
    name: "statsd_benchmark",
    defaults: ["statsd_defaults"],

    srcs: [
        // atom_field_options.proto needs field_options.proto, but that is
        // not included in libprotobuf-cpp-lite, so compile it here.
        ":libprotobuf-internal-protos",

        "benchmark/duration_metric_benchmark.cpp",
        "benchmark/filter_value_benchmark.cpp",
        "benchmark/get_dimensions_for_condition_benchmark.cpp",
        "benchmark/hello_world_benchmark.cpp",
        "benchmark/log_event_benchmark.cpp",
        "benchmark/main.cpp",
        "benchmark/metric_util.cpp",
        "benchmark/stats_write_benchmark.cpp",
        "src/atom_field_options.proto",
        "src/atoms.proto",
        "src/stats_log.proto",
    ],

    proto: {
        type: "lite",
        include_dirs: ["external/protobuf/src"],
    },

    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
        "-Wno-unused-function",

        // Bug: http://b/29823425 Disable -Wvarargs for Clang update to r271374
        "-Wno-varargs",
    ],

    static_libs: [
        "libplatformprotos",
    ],

    shared_libs: [
        "libgtest_prod",
        "libprotobuf-cpp-lite",
        "libstatslog",
        "libstatssocket",
    ],
}

// ====  java proto device library (for test only)  ==============================
java_library {
    name: "statsdprotolite",
    sdk_version: "core_platform",
    proto: {
        type: "lite",
        include_dirs: ["external/protobuf/src"],
    },

    srcs: [
        "src/atoms.proto",
        "src/shell/shell_config.proto",
        "src/shell/shell_data.proto",
        "src/stats_log.proto",
        "src/statsd_config.proto",
    ],

    static_libs: [
        "platformprotoslite",
    ],
    // Protos have lots of MissingOverride and similar.
    errorprone: {
        javacflags: ["-XepDisableAllChecks"],
    },
}

// Filegroup for statsd config proto definition.
filegroup {
    name: "statsd-config-proto-def",
    srcs: ["src/statsd_config.proto"],
}
