# 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")

if (is_host) {
  go_library("clippy") {
    source_dir = "clippy"
    sources = [
      "clippy.go",
      "clippy_test.go",
    ]

    deps = [
      "//third_party/golibs:github.com/google/go-cmp",
      "//tools/build",
      "//tools/lib/logger",
      "//tools/staticanalysis",
    ]
  }

  go_test("clippy_tests") {
    gopackages =
        [ "go.fuchsia.dev/fuchsia/tools/staticanalysis/analyzers/clippy" ]
    deps = [ ":clippy" ]
  }

  go_library("codelinks") {
    source_dir = "codelinks"
    sources = [
      "codelinks.go",
      "codelinks_test.go",
    ]

    deps = [
      "//third_party/golibs:github.com/google/go-cmp",
      "//tools/staticanalysis",
    ]
  }

  go_test("codelinks_tests") {
    gopackages =
        [ "go.fuchsia.dev/fuchsia/tools/staticanalysis/analyzers/codelinks" ]
    deps = [ ":codelinks" ]
  }
}

group("tests") {
  testonly = true
  deps = [
    ":clippy_tests($host_toolchain)",
    ":codelinks_tests($host_toolchain)",
  ]
}
