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

rustc_library("fuchsia-url") {
  version = "0.1.0"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//src/sys/pkg/lib/fuchsia-hash",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:percent-encoding",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:thiserror",
    "//third_party/rust_crates:url",
  ]

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

  sources = [
    "src/boot_url.rs",
    "src/errors.rs",
    "src/lib.rs",
    "src/parse.rs",
    "src/pkg_url.rs",
  ]
}

test_package("fuchsia-url-tests") {
  deps = [ ":fuchsia-url_test" ]

  tests = [
    {
      name = "fuchsia_url_lib_test"
      dest = "fuchsia-url-tests"
    },
  ]
}

group("tests") {
  testonly = true
  deps = [ ":fuchsia-url-tests" ]
}
