build: migrate BUCK files#42
Conversation
Signed-off-by: jl.jiang <jiangjl9807@gmail.com>
Signed-off-by: jl.jiang <jiangjl9807@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR migrates BUCK build files to address issue #21 in the cargo-buckal project. The changes primarily involve updating third-party Rust crate dependencies to newer versions and adjusting their feature configurations.
Key Changes:
- Updated multiple Rust crate dependencies to newer versions (libc 0.2.177→0.2.178, uuid 1.18.1→1.19.0, winnow 0.7.13→0.7.14, indexmap 2.12.0→2.12.1, hashbrown 0.16.0→0.16.1, etc.)
- Removed several unused dependency crates (want, try-lock, h2, ipnet, prettyplease, pkcs5, pbkdf2, scrypt, salsa20, cipher, cbc, inout, aes, block-padding, fnv)
- Modified feature flags for various crates to reduce unnecessary features
- Added
buckal.tomlconfiguration file - Updated dependency fingerprints in
buckal.snap - Changed the main library name from
git-internaltogit_internal
Reviewed changes
Copilot reviewed 74 out of 74 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| buckal.toml | New configuration file added with ignore_tests = false setting |
| buckal.snap | Updated dependency fingerprints and removed entries for deleted crates |
| BUCK | Changed library name from git-internal to git_internal, updated libc and uuid version references |
| third-party/rust/crates/libc/0.2.178/BUCK | Updated from 0.2.177 to 0.2.178, removed extra_traits feature |
| third-party/rust/crates/uuid/1.19.0/BUCK | Updated from 1.18.1 to 1.19.0, changed edition to 2021, switched from serde to serde_core |
| third-party/rust/crates/base64ct/1.8.0/BUCK | Updated from 1.6.0 to 1.8.0, changed edition to 2024 (invalid), removed std feature |
| third-party/rust/crates/winnow/0.7.14/BUCK | Updated from 0.7.13 to 0.7.14 |
| third-party/rust/crates/indexmap/2.12.1/BUCK | Updated from 2.12.0 to 2.12.1, updated hashbrown dependency |
| third-party/rust/crates/hashbrown/0.16.1/BUCK | Updated from 0.16.0 to 0.16.1 |
| third-party/rust/crates/crc/3.4.0/BUCK | Updated from 3.3.0 to 3.4.0 |
| third-party/rust/crates/rsa/0.9.9/BUCK | Updated from 0.9.8 to 0.9.9, removed sha2 feature and dependency |
| third-party/rust/crates/borsh/1.6.0/BUCK | Updated from 1.5.7 to 1.6.0 |
| third-party/rust/crates/borsh-derive/1.6.0/BUCK | Updated from 1.5.7 to 1.6.0 |
| Multiple third-party crates | Updated libc references from 0.2.177 to 0.2.178 throughout |
| Multiple third-party crates | Updated uuid references from 1.18.1 to 1.19.0 throughout |
| Multiple third-party crates | Removed various feature flags (codec, net, sync, default, oid, etc.) |
| Multiple BUCK files | Deleted entire crate definitions for unused dependencies |
Comments suppressed due to low confidence (4)
third-party/rust/crates/base64ct/1.8.0/BUCK:26
- The
featureslist is changed from["alloc", "std"]to["alloc"], removing the"std"feature. This changes the crate to no-std mode (with alloc support only). This is a significant behavior change that could cause compilation failures if any downstream code expects standard library functionality (like file I/O, networking, threading, etc.) frombase64ct. Verify that all consumers of this crate only need the core allocation features and don't depend on std.
third-party/rust/crates/uuid/1.19.0/BUCK:25 - The
editionfield is changed from"2018"to"2021". This is a significant change that updates the Rust edition. While this is likely intentional, edition changes can introduce breaking changes due to keyword reservations (e.g.,async,await,try) and changes in default behaviors. Ensure that:
- All code in the
uuidcrate is compatible with Rust 2021 edition - Any code using
uuidthat relies on 2018 edition semantics is updated - The change is tested to avoid compilation errors
third-party/rust/crates/uuid/1.19.0/BUCK:37
- The dependency is changed from
"//third-party/rust/crates/serde/1.0.228:serde"to"//third-party/rust/crates/serde_core/1.0.228:serde_core". This appears to be changing from the fullserdecrate toserde_core(which is typically the core derive-free version). This could be a breaking change if theuuidcrate relies on any features from the fullserdecrate that aren't available inserde_core. Verify thatuuidonly needs the core serialization traits and doesn't require any additional serde functionality.
third-party/rust/crates/base64ct/1.8.0/BUCK:25 - The
editionfield is changed from"2021"to"2024". However, Rust Edition 2024 does not exist as of the knowledge cutoff (January 2025). The valid Rust editions are 2015, 2018, and 2021. Edition 2024 is planned but has not been released yet. This will cause build failures. Change this to"2021"instead.
|
|
||
| rust_library( | ||
| name = "git-internal", | ||
| name = "git_internal", |
There was a problem hiding this comment.
The name field is changed from "git-internal" to "git_internal". This is a naming inconsistency - Rust crate names typically use hyphens (-) rather than underscores (_) in BUCK/build files, even though underscores are used internally in Rust. This change may break references to this target elsewhere in the codebase that expect the hyphenated name.
| name = "git_internal", | |
| name = "git-internal", |
* build: migrate BUCK files Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * build: fix Buck2 build target name Signed-off-by: jl.jiang <jiangjl9807@gmail.com> --------- Signed-off-by: jl.jiang <jiangjl9807@gmail.com>
fix buck2hub/cargo-buckal#21