# 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/config.gni")
import("//build/rust/rustc_library.gni")

rustc_library("terminal") {
  with_unit_tests = true
  edition = "2021"

  deps = [
    "//src/lib/ui/carnelian",
    "//third_party/alacritty/alacritty_terminal:term_model",
    "//third_party/rust_crates:euclid",
    "//third_party/rust_crates:rustc-hash",
    "//third_party/rust_crates:ttf-parser",
  ]

  test_deps = [
    "//src/lib/fuchsia-async",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:once_cell",
  ]

  sources = [
    "src/lib.rs",
    "src/paths.rs",
    "src/renderer.rs",
  ]

  inputs = [ "//prebuilt/third_party/fonts/robotomono/RobotoMono-Regular.ttf" ]
}

fuchsia_unittest_package("terminal_lib_tests") {
  deps = [ ":terminal_test" ]
}

group("tests") {
  testonly = true
  public_deps = [ ":terminal_lib_tests" ]
}
