Check API: remove false positives on rustdoc

This commit is contained in:
Jose Storopoli 2024-06-04 08:56:51 +00:00
parent 741589c5ad
commit a09c3c5225
No known key found for this signature in database
GPG Key ID: 29E00111DE172C28
1 changed files with 20 additions and 9 deletions

View File

@ -10,7 +10,8 @@ REPO_DIR=$(git rev-parse --show-toplevel)
API_DIR="$REPO_DIR/api" API_DIR="$REPO_DIR/api"
NIGHTLY=$(cat nightly-version) NIGHTLY=$(cat nightly-version)
CARGO="cargo +$NIGHTLY public-api --simplified" # Our docs have broken intra doc links if all features are not enabled.
RUSTDOCFLAGS="-A rustdoc::broken_intra_doc_links"
# `sort -n -u` doesn't work for some reason. # `sort -n -u` doesn't work for some reason.
SORT="sort --numeric-sort" SORT="sort --numeric-sort"
@ -33,13 +34,23 @@ main() {
check_for_changes check_for_changes
} }
# Run cargo with all features enabled.
run_cargo_all_features() {
cargo +"$NIGHTLY" public-api --simplified --all-features
}
# Run cargo when --all-features is not used.
run_cargo() {
RUSTDOCFLAGS="$RUSTDOCFLAGS" cargo +"$NIGHTLY" public-api --simplified "$@"
}
generate_api_files_bitcoin() { generate_api_files_bitcoin() {
local crate="bitcoin" local crate="bitcoin"
pushd "$REPO_DIR/$crate" > /dev/null pushd "$REPO_DIR/$crate" > /dev/null
$CARGO | $SORT | uniq > "$API_DIR/$crate/default-features.txt" run_cargo | $SORT | uniq > "$API_DIR/$crate/default-features.txt"
$CARGO --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt" run_cargo --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt"
$CARGO --all-features | $SORT | uniq > "$API_DIR/$crate/all-features.txt" run_cargo_all_features | $SORT | uniq > "$API_DIR/$crate/all-features.txt"
popd > /dev/null popd > /dev/null
} }
@ -48,8 +59,8 @@ generate_api_files_base58() {
local crate="base58" local crate="base58"
pushd "$REPO_DIR/$crate" > /dev/null pushd "$REPO_DIR/$crate" > /dev/null
$CARGO | $SORT | uniq > "$API_DIR/$crate/default-features.txt" run_cargo | $SORT | uniq > "$API_DIR/$crate/default-features.txt"
$CARGO --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt" run_cargo --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt"
popd > /dev/null popd > /dev/null
} }
@ -65,9 +76,9 @@ generate_api_files() {
local crate=$1 local crate=$1
pushd "$REPO_DIR/$crate" > /dev/null pushd "$REPO_DIR/$crate" > /dev/null
$CARGO --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt" run_cargo --no-default-features | $SORT | uniq > "$API_DIR/$crate/no-features.txt"
$CARGO --no-default-features --features=alloc | $SORT | uniq > "$API_DIR/$crate/alloc-only.txt" run_cargo --no-default-features --features=alloc | $SORT | uniq > "$API_DIR/$crate/alloc-only.txt"
$CARGO --all-features | $SORT | uniq > "$API_DIR/$crate/all-features.txt" run_cargo_all_features | $SORT | uniq > "$API_DIR/$crate/all-features.txt"
popd > /dev/null popd > /dev/null
} }