Build Scripts

Đôi khi một bản build bình thường từ cargo là không đủ. Crate của bạn có lẽ cần một số điều kiện tiên quyết trước khi cargo có thể biên dịch thành công, những thứ như là tạo mã, hoặc một số mã gốc cần được biên dịch. Để giải quyết vấn đề này chúng ta có các kịch bản build mà Cargo có thể chạy.

Để thêm một kịch bản build vào gói của bạn, có thể chỉ định nó trong Cargo.toml như sau:

[package]
...
build = "build.rs"

Nếu không, Cargo sẽ tìm tệp build.rs trong thư mục dự án theo mặc định.

Cách sử dụng một build script

Build script chỉ đơn giản là một tệp Rust khác sẽ được biên dịch và gọi trước khi biên dịch bất cứ thứ gì đó trong package(gói). Do đó, nó có thể được sử dụng để đáp ứng các điều kiện tiên quyết trong crate của bạn.

Cargo cung cấp script với những input qua biến môi trường được chỉ định ở đây để có thể sử dụng.

Script cung cấp output qua stdout. Tất cả các dòng in ra được ghi vào target/debug/build/<pkg>/output. Hơn nữa, những dòng với tiền tố là cargo: sẽ được Cargo thông dịch trực tiếp và do đó có thể được sử dụng để xác định các tham số cho quá trình biên dịch của gói.

Để biết thêm thông số kỹ thuật và ví dụ, hãy đọc Cargo specification.