# Copyright 2021 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("staticanalysis") {
    sources = [
      "staticanalysis.go",
      "staticanalysis_test.go",
    ]

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

  go_test("staticanalysis_tests") {
    library = ":staticanalysis"
  }
}

group("tests") {
  testonly = true
  deps = [
    ":staticanalysis_tests($host_toolchain)",
    "analyzers:tests",
    "cmd/staticlints:tests",
  ]
}

group("tools") {
  deps = [ "cmd/staticlints($host_toolchain)" ]
}
