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

static_library("common") {
  sources = [
    "sandbox_setup.cc",
    "sandbox_setup.h",
    "zip_archiver_impl.cc",
    "zip_archiver_impl.h",
  ]

  deps = [
    "//base:base",
    "//chrome/chrome_cleaner/constants:common_strings",
    "//chrome/chrome_cleaner/interfaces:zip_archiver_interface",
    "//chrome/chrome_cleaner/ipc:mojo_task_runner",
    "//chrome/chrome_cleaner/ipc:sandbox",
    "//chrome/chrome_cleaner/os:common_os",
    "//components/chrome_cleaner/public/constants:constants",
    "//mojo/public/cpp/system:system",
    "//sandbox/win:sandbox",
    "//third_party/zlib:minizip",
    "//third_party/zlib:zlib",
  ]
}

source_set("unittest_sources") {
  testonly = true

  sources = [
    "zip_archiver_impl_unittest.cc",
  ]

  deps = [
    ":common",
    "//base:base",
    "//base/test:test_config",
    "//base/test:test_support",
    "//chrome/chrome_cleaner/interfaces:zip_archiver_interface",
    "//chrome/chrome_cleaner/ipc:mojo_task_runner",
    "//chrome/chrome_cleaner/zip_archiver:test_support",
    "//mojo/public/cpp/system:system",
    "//testing/gtest",
  ]
}
