Skip to content

build: migrate BUCK files#42

Merged
genedna merged 2 commits into
libra-tools:mainfrom
jjl9807:main
Dec 5, 2025
Merged

build: migrate BUCK files#42
genedna merged 2 commits into
libra-tools:mainfrom
jjl9807:main

Conversation

@jjl9807

@jjl9807 jjl9807 commented Dec 5, 2025

Copy link
Copy Markdown
Collaborator

Signed-off-by: jl.jiang <jiangjl9807@gmail.com>
Copilot AI review requested due to automatic review settings December 5, 2025 05:42
Signed-off-by: jl.jiang <jiangjl9807@gmail.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.toml configuration file
  • Updated dependency fingerprints in buckal.snap
  • Changed the main library name from git-internal to git_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 features list 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.) from base64ct. 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 edition field 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:
  1. All code in the uuid crate is compatible with Rust 2021 edition
  2. Any code using uuid that relies on 2018 edition semantics is updated
  3. 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 full serde crate to serde_core (which is typically the core derive-free version). This could be a breaking change if the uuid crate relies on any features from the full serde crate that aren't available in serde_core. Verify that uuid only needs the core serialization traits and doesn't require any additional serde functionality.
    third-party/rust/crates/base64ct/1.8.0/BUCK:25
  • The edition field 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.

Comment thread BUCK

rust_library(
name = "git-internal",
name = "git_internal",

Copilot AI Dec 5, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
name = "git_internal",
name = "git-internal",

Copilot uses AI. Check for mistakes.
@genedna genedna merged commit 5567134 into libra-tools:main Dec 5, 2025
8 checks passed
genedna pushed a commit to genedna/git-internal that referenced this pull request Mar 15, 2026
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

migrate 命令报错

3 participants