# Copyright 2018 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/host.gni")
import("//build/rust/rustc_binary.gni")
import("//build/sdk/sdk_host_tool.gni")
import("//build/test/test_package.gni")

rustc_binary("formatjson5") {
  name = "formatjson5"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:json5format",
    "//third_party/rust_crates:structopt",
  ]

  sources = [ "src/main.rs" ]
}

sdk_host_tool("formatjson5_sdk") {
  category = "partner"
  output_name = "formatjson5"
  deps = [ ":formatjson5" ]
}

install_host_tools("install") {
  deps = [ ":formatjson5" ]

  outputs = [ "formatjson5" ]
}
