# 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/rust/rustc_binary.gni")
import("//src/sys/build/components.gni")

group("tests") {
  testonly = true

  deps = [ "integration:tests" ]
}

rustc_binary("http_client") {
  edition = "2018"

  deps = [
    "//sdk/fidl/fuchsia.net.http:fuchsia.net.http-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/fuchsia-hyper",
    "//src/lib/syslog/rust:syslog",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:http",
    "//third_party/rust_crates:hyper",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:thiserror",
  ]

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

fuchsia_component("component") {
  component_name = "http-client"
  manifest = "meta/http_client.cmx"
  deps = [ ":http_client" ]
}

fuchsia_package("http-client") {
  deps = [ ":component" ]
}
