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

group("strings_to_json") {
  testonly = true
  public_deps = [
    ":install",
    ":tests",
  ]
}

group("tests") {
  testonly = true

  public_deps = [ ":strings_to_json_bin_test($host_toolchain)" ]
}

install_host_tools("install") {
  deps = [ ":strings_to_json_bin($host_toolchain)" ]
  outputs = [ "strings_to_json" ]
}

if (is_host) {
  rustc_binary("strings_to_json_bin") {
    name = "strings_to_json"
    with_unit_tests = true
    edition = "2018"
    deps = [
      "//src/lib/intl/model:lib",
      "//src/lib/intl/strings:lib",
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:structopt",
      "//third_party/rust_crates:thiserror",
      "//third_party/rust_crates:xml-rs",
    ]

    test_deps = [ "//third_party/rust_crates:tempfile" ]

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