# Copyright 2022 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library") load("@rules_rust//rust:defs.bzl", "rust_docs") load("//pw_build:compatibility.bzl", "incompatible_with_mcu") rust_docs( name = "docs", # These need to be kept in dependency order for inter-crate linking to # work. # # TODO: b/295227522 - Add support to `rust_docs` to automatically processs # crates in topological order. crates = [ "//pw_bytes/rust:pw_bytes", "//pw_format/rust:pw_format_core", "//pw_format/rust:pw_format", "//pw_status/rust:pw_status", "//pw_stream/rust:pw_stream", "//pw_varint/rust:pw_varint", "//pw_tokenizer/rust:pw_tokenizer_core", "//pw_tokenizer/rust:pw_tokenizer", "//pw_log/rust:pw_log_backend_println", "//pw_log/rust:pw_log_backend_printf_docs", "//pw_log/rust:pw_log_backend_api", "//pw_log/rust:pw_log", "//pw_base64/rust:pw_base64", ], rustdoc_flags = [ "-Z", "unstable-options", "--enable-index-page", ], target_compatible_with = incompatible_with_mcu(), ) # Intermediary target that enables us to provide rustdoc files # as an input to rules_python/sphinx_docs_library. filegroup( name = "docs_dir", srcs = [":docs"], output_group = "rustdoc_dir", target_compatible_with = incompatible_with_mcu(), visibility = ["//visibility:public"], ) sphinx_docs_library( name = "sphinx", srcs = [ "docs.rst", ], prefix = "pw_rust/", target_compatible_with = incompatible_with_mcu(), visibility = ["//visibility:public"], )