generate_rust_licenses

Generate a deterministic Rust third-party license report.

Defaults produce the report shipped with Basilisk. SDK extension projects can override the manifest, policy, output, project name, and project-license text. The report is derived from the locked Cargo workspace dependency graph. Use --check in automation to verify that the committed report is current. A normal local check skips cleanly when the pinned generator is unavailable; CI uses --require-tool so that the same condition is an error there.

generate_rust_licenses.cargo_about_data(executable: str, workspace_manifest: Path, about_config: Path) dict[str, Any][source]

Return cargo-about’s JSON report for the locked workspace.

generate_rust_licenses.check_report(expected: str, license_report: Path = PosixPath('/Users/runner/work/basilisk/basilisk/LICENSES/RUST-THIRD-PARTY.txt')) bool[source]

Return whether the committed report matches expected.

generate_rust_licenses.dependency_notices(entries: list[dict[str, Any]]) list[tuple[str, str]][source]

Collect top-level third-party NOTICE files from reported crates.

generate_rust_licenses.find_cargo_about(require_tool: bool) str | None[source]

Return the pinned cargo-about executable, if available.

generate_rust_licenses.main() int[source]

Generate or check the committed Rust third-party license report.

generate_rust_licenses.normalize_newlines(text: str) str[source]

Return text with platform-independent line endings.

generate_rust_licenses.render_report(data: dict[str, Any], project_name: str = 'Basilisk', manifest_label: str = 'src/Cargo.lock', generator_label: str = 'src/architecture/rust/generate_rust_licenses.py', project_license: str = "ISC License in the repository's LICENSE file.") str[source]

Render a deterministic, human-readable third-party license report.

generate_rust_licenses.third_party_licenses(data: dict[str, Any]) list[dict[str, Any]][source]

Remove Basilisk workspace crates from cargo-about license entries.