chromium/chrome/browser/ash/printing/enterprise/BUILD.gn

# Copyright 2022 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("//third_party/protobuf/proto_library.gni")

assert(is_chromeos_ash)

static_library("enterprise") {
  sources = [
    "bulk_printers_calculator.cc",
    "bulk_printers_calculator.h",
    "bulk_printers_calculator_factory.cc",
    "bulk_printers_calculator_factory.h",
    "calculators_policies_binder.cc",
    "calculators_policies_binder.h",
    "enterprise_printers_provider.cc",
    "enterprise_printers_provider.h",
    "managed_printer_translator.cc",
    "managed_printer_translator.h",
    "print_servers_policy_provider.cc",
    "print_servers_policy_provider.h",
    "print_servers_provider.cc",
    "print_servers_provider.h",
    "print_servers_provider_factory.cc",
    "print_servers_provider_factory.h",
  ]

  public_deps = [ "//chrome/browser:browser_public_dependencies" ]

  deps = [
    ":managed_printer_proto",
    "//chrome/browser:browser_process",
    "//chrome/browser/ash/profiles",
    "//chrome/browser/profiles",
    "//chrome/common:constants",
    "//chromeos/ash/components/settings",
    "//chromeos/crosapi/mojom",
    "//chromeos/printing",
    "//components/device_event_log",
    "//components/policy:policy_code_generate",
    "//components/policy/core/common",
    "//components/pref_registry",
    "//components/prefs",
    "//components/user_manager",
    "//content/public/browser",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "bulk_printers_calculator_unittest.cc",
    "calculators_policies_binder_unittest.cc",
    "enterprise_printers_provider_unittest.cc",
    "managed_printer_translator_unittest.cc",
    "print_servers_policy_provider_unittest.cc",
    "print_servers_provider_unittest.cc",
  ]

  deps = [
    ":enterprise",
    ":managed_printer_proto",
    "//base/test:test_support",
    "//chrome/browser/ash/login/users:test_support",
    "//chrome/browser/ash/printing",
    "//chrome/browser/ash/profiles",
    "//chrome/browser/ash/settings",
    "//chrome/browser/ash/settings:test_support",
    "//chrome/test:test_support",
    "//chromeos/ash/components/settings",
    "//chromeos/printing",
    "//components/prefs:test_support",
    "//components/sync_preferences:test_support",
    "//components/user_manager",
    "//content/test:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

proto_library("managed_printer_proto") {
  sources = [ "managed_printer_configuration.proto" ]

  proto_out_dir = "chrome/browser/ash/printing/enterprise"
}