-
Notifications
You must be signed in to change notification settings - Fork 2.7k
feat: Implementation and tests for multiple-build-scripts
#15704
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Bad copy/paste? |
2042b1c
to
96ca257
Compare
4b8bdec
to
934c3b2
Compare
I am marking this PR Ready for Review. Please do let me know if I have missed anything |
r? @weihanglo rustbot has assigned @weihanglo. Use |
multiple-build-scripts
r? @epage |
Also, another case we need to handle is |
d6e4d74
to
c2005a3
Compare
c2005a3
to
aba8535
Compare
bfb7089
to
4442a85
Compare
4442a85
to
bfb8697
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Update cargo 14 commits in 930b4f62cfcd1f0eabdb30a56d91bf6844b739bf..eabb4cd923deb73e714f7ad3f5234d68ca284dbe 2025-06-28 14:58:43 +0000 to 2025-07-09 22:07:55 +0000 - feat: Implementation and tests for `multiple-build-scripts` (rust-lang/cargo#15704) - perf: Speed up TOML parsing by upgrading toml (rust-lang/cargo#15736) - Mark cachelock tests that rely on interprocess blocking behaviour as unsupported on AIX. (rust-lang/cargo#15734) - feat(publish): Stabilize multi-package publishing (rust-lang/cargo#15636) - Update to Rust 2024 (rust-lang/cargo#15732) - Clarify package ID specifications in SBOMs are fully qualified (rust-lang/cargo#15731) - chore(deps): update cargo-semver-checks to v0.42.0 (rust-lang/cargo#15730) - test: Switch config tests to use snapshots (rust-lang/cargo#15729) - implement package feature unification (rust-lang/cargo#15684) - chore: Upgrade dependencies (rust-lang/cargo#15722) - Report valid file name when we can't find a build target for `name = "foo.rs"` (rust-lang/cargo#15707) - chore(release): Publish build-rs on release (rust-lang/cargo#15708) - Override `Cargo.lock` checksums when doing a dry-run `publish` (rust-lang/cargo#15711) - test(rustfix): Update for nightly (rust-lang/cargo#15717) r? ghost
) Hi Everyone! This PR is aimed to have some improvements over #15704 ### What does this PR try to resolve? Now, multiple build scripts are built correctly. But there are some underlying issues, that this PR is targeting. - Preserving the order of the build scripts: Earlier the build scripts were sorted by default, but now, the order will be preserved. ### How to test and review this PR? There is a feature gate `multiple-build-scripts` that can be passed via `cargo-features` in `Cargo.toml`. So, you have to add ```toml cargo-features = ["multiple-build-scripts"] ``` Preferably on the top of the `Cargo.toml` and use nightly toolchain to use the feature
Hi Everyone!
This is PR for the implementation of the first milestone of GSoC Project : Build Script Delegation
This will provide actual implementation for #15630
What does this PR try to resolve?
Now, multiple build scripts are parsed, this PR aims to implement the functioning the feature. This PR will allow users to use multiple build scripts, and is backward compatible with single script as well as boolean values.
Motivation : This will help users to maintain separate smaller and cleaner build scripts instead of one large build script. This is also necessary for build script delegation.
Deferred
OUT_DIR
: This will be handled in a follow up PR. For now, each build script writes to its ownOUT_DIR
andOUT_DIR
for the regular build targets is set to the build script with the lexicographically largest name..How to test and review this PR?
There is a feature gate
multiple-build-scripts
that can be passed viacargo-features
inCargo.toml
. So, you have to addPreferably on the top of the
Cargo.toml
and use nightly toolchain to use the feature