chromium/components/feedback/BUILD.gn

# Copyright 2014 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")
import("//build/config/features.gni")
import("//testing/libfuzzer/fuzzer_test.gni")

static_library("feedback") {
  sources = [
    "features.cc",
    "features.h",
    "feedback_common.cc",
    "feedback_common.h",
    "feedback_constants.h",
    "feedback_data.cc",
    "feedback_data.h",
    "feedback_report.cc",
    "feedback_report.h",
    "feedback_switches.cc",
    "feedback_switches.h",
    "feedback_uploader.cc",
    "feedback_uploader.h",
    "feedback_util.cc",
    "feedback_util.h",
    "system_logs/system_logs_fetcher.cc",
    "system_logs/system_logs_fetcher.h",
    "system_logs/system_logs_source.cc",
    "system_logs/system_logs_source.h",
    "tracing_manager.cc",
    "tracing_manager.h",
  ]

  public_deps = [ "//base" ]

  deps = [
    "//build:chromeos_buildflags",
    "//components/feedback/proto",
    "//components/feedback/redaction_tool",
    "//components/keyed_service/core",
    "//components/variations/net",
    "//google_apis",
    "//services/network/public/cpp",
    "//third_party/re2",
    "//third_party/zlib/google:zip",
  ]

  if (is_chromeos_ash) {
    deps += [ "//ash/constants/" ]
  }
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "feedback_common_unittest.cc",
    "feedback_data_unittest.cc",
    "feedback_uploader_dispatch_unittest.cc",
    "feedback_uploader_unittest.cc",
  ]
  if (!is_win) {
    sources += [ "feedback_util_unittest.cc" ]
  }

  deps = [
    ":feedback",
    "//base",
    "//build:chromeos_buildflags",
    "//components/feedback/proto",
    "//components/keyed_service/core",
    "//components/prefs:test_support",
    "//components/sync_preferences:test_support",
    "//components/user_prefs",
    "//components/variations:test_support",
    "//components/variations/net",
    "//net:test_support",
    "//services/network:test_support",
    "//services/network/public/cpp",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

if (!is_ios) {
  fuzzer_test("redaction_tool_fuzzer") {
    sources = [ "redaction_tool_fuzzer.cc" ]
    deps = [
      ":feedback",
      "//components/feedback/redaction_tool",
    ]
    dict = "redaction_tool_fuzzer.dict"
  }
}