# Copyright 2024 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/python/python_binary.gni")
import("//build/python/python_host_test.gni")
import("//build/python/python_library.gni")

if (is_host) {
  python_binary("generate_idk") {
    visibility = [ "*" ]
    main_source = "cmd.py"
    deps = [
      ":lib",
      "//build/python/modules/depfile",
    ]
    enable_mypy = true
  }

  python_library("lib") {
    library_name = "generate_idk"
    sources = [ "__init__.py" ]
    enable_mypy = true
  }

  python_host_test("generate_idk_unittest") {
    main_source = "generate_idk_unittest.py"
    libraries = [ ":lib" ]
    enable_mypy = false
  }
}

group("tests") {
  testonly = true

  deps = [ ":generate_idk_unittest($host_toolchain)" ]
}
