This package contains end-to-end tests for metadata forwarding through cargo_build_script for both syntax forms:
cargo::metadata=KEY=VALUEcargo:KEY=VALUEproducer_build_rs emits both:cargo::metadata=modern_version_1_10_0=1cargo:legacy_version_1_10_0=2rules_rust converts that to a dependent build-script env var:DEP_PRODUCER_MODERN_VERSION_1_10_0=1DEP_PRODUCER_LEGACY_VERSION_1_10_0=1consumer_build_rs reads both and exports:cargo:rustc-env=METADATA_MODERN_VALUE=1cargo:rustc-env=METADATA_LEGACY_VALUE=2rust_test targets assert each value independently:metadata_dep_env_modern_test: env!("METADATA_MODERN_VALUE") == "1"metadata_dep_env_legacy_test: env!("METADATA_LEGACY_VALUE") == "2"producer_lib.rs existscargo_build_script targets cannot directly depend on other cargo_build_script targets. To model a realistic dependency edge, we attach producer_build_rs to a tiny Rust library (producer_lib), and the consumer build script depends on that library via link_deps.