//
// 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",
        "libstatssocket",
        "libsysutils",
        "libtimestats_proto",
        "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"],
}
