# Copyright 2022 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/rust/rustc_binary.gni")

if (is_host) {
  rustc_binary("rewrite_packages_json_domain") {
    testonly = true
    edition = "2021"
    source_root = "src/main.rs"

    sources = [ "src/main.rs" ]
    deps = [
      "//src/lib/fuchsia-url",
      "//src/security/pkg_test/util",
      "//src/sys/pkg/lib/far/rust:fuchsia-archive",
      "//src/sys/pkg/lib/fuchsia-merkle",
      "//src/sys/pkg/lib/update-package",
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:argh",
      "//third_party/rust_crates:futures",
      "//third_party/rust_crates:serde_json",
    ]
  }
}
