blob: cd8266921224a84a227f6f44636f2c1474301695 [file] [log] [blame]
# Copyright 2017 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 added to enable easy building.
group("doc_checker") {
testonly = true
deps = [ ":doc_checker_host_tool($host_toolchain)" ]
}
group("tests") {
testonly = true
deps = [ ":doc_checker_bin_test($host_toolchain)" ]
}
# Builds doc_checker, a Rust based binary.
if (is_host) {
rustc_binary("doc_checker_bin") {
edition = "2021"
output_name = "doc-checker"
with_unit_tests = true
testonly = true
sources = [
"src/checker.rs",
"src/include_checker.rs",
"src/link_checker.rs",
"src/main.rs",
"src/md_element.rs",
"src/parser.rs",
"src/yaml.rs",
"src/yaml/toc_checker.rs",
]
deps = [
"//src/lib/fuchsia",
"//src/lib/fuchsia-hyper:fuchsia-hyper",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:argh",
"//third_party/rust_crates:async-trait",
"//third_party/rust_crates:cfg-if",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:glob",
"//third_party/rust_crates:http",
"//third_party/rust_crates:hyper",
"//third_party/rust_crates:lazy_static",
"//third_party/rust_crates:pulldown-cmark",
"//third_party/rust_crates:regex",
"//third_party/rust_crates:serde",
"//third_party/rust_crates:serde_json",
"//third_party/rust_crates:serde_yaml",
"//third_party/rust_crates:url",
]
test_deps = [ "//src/lib/fuchsia-async" ]
data_deps = [ ":doc_checker_test_data($host_toolchain)" ]
}
install_host_tools("doc_checker_host_tool") {
testonly = true
deps = [ ":doc_checker_bin($host_toolchain)" ]
outputs = [ "doc-checker" ]
}
# Test data for doc_checker.
host_test_data("doc_checker_test_data") {
sources = [
"doc_checker_test_data/docs/README.md",
"doc_checker_test_data/docs/_common/_included.md",
"doc_checker_test_data/docs/_toc.yaml",
"doc_checker_test_data/docs/cycle/_toc.yaml",
"doc_checker_test_data/docs/cycle/nested/_toc.yaml",
"doc_checker_test_data/docs/gen/build_arguments.md",
"doc_checker_test_data/docs/images/fuchsia_icon_256x256.png",
"doc_checker_test_data/docs/include_here.md",
"doc_checker_test_data/docs/no_readme/_toc.yaml",
"doc_checker_test_data/docs/no_readme/details.md",
"doc_checker_test_data/docs/path.md",
"doc_checker_test_data/docs/second.md",
"doc_checker_test_data/docs/unreachable.md",
"doc_checker_test_data/docs/unused/_toc.yaml",
]
outputs = [ "${root_out_dir}/{{source_target_relative}}" ]
}
}