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

import("//build/go/go_library.gni")
import("//build/go/go_test.gni")
import("//build/testing/host_test_data.gni")

go_library("notice") {
  sources = [
    "android.go",
    "chromium.go",
    "data.go",
    "flutter.go",
    "google.go",
    "notice_test.go",
  ]
  deps = [ "//tools/lib/logger" ]
}

group("tests") {
  testonly = true
  deps = [ ":check-licenses_notice_tests($host_toolchain)" ]
}

if (is_host) {
  go_test("check-licenses_notice_tests") {
    gopackages = [ "go.fuchsia.dev/fuchsia/tools/check-licenses/file/notice" ]
    args = [
      "--test_data_dir",
      rebase_path("$target_gen_dir/testdata", root_build_dir),
    ]
    deps = [ ":notice" ]
    non_go_deps = [ "testdata" ]
  }
}
