311c32eaf5
- Synced pi-builtins bazel crate_features with cargo's resolved default set: bazel features are literal, so the meta-features never expanded and the procs/rg cluster (nohup, pgrep, pidwait, pkill, proc-match, ps, rg, sleep, timeout, top) was silently compiled out, leaving the process builtins unregistered under bazel and failing pi-shell tests. - Repaired windows compilation of pi-builtins: cfg-gated the uucore::mode import in mkdir, imported std::env in sort's non-unix locale probe, mapped ProcInfo::pid through a closure in kill, brought MetadataExt into scope in wc, and replaced stat's unstable windows_by_handle metadata with a stable GetFileInformationByHandle query (volume serial, link count, file index, no-dereference aware). - Imported HashSet for pi-shell's windows-only PATH merge. - Added a clippy-ported bazel config + CI bucket so pi-builtins keeps its manifest-declared clippy allows under the bazel aspect while rustc warnings stay denied, and zeroed the remaining windows-target rustc warnings (unused params/imports in find, mv, rm, proc_match, ps).
158 lines
3.8 KiB
Python
158 lines
3.8 KiB
Python
load("@crates//:defs.bzl", "aliases", "all_crate_deps")
|
|
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
exports_files(["Cargo.toml"])
|
|
|
|
# First-party: the brush builtins fork plus the in-process command-line
|
|
# utilities the shell ships. Feature list mirrors cargo's resolved default set.
|
|
rust_library(
|
|
name = "pi-builtins",
|
|
srcs = glob(["src/**/*.rs"]),
|
|
aliases = aliases(),
|
|
compile_data = glob(["src/*.txt"]),
|
|
crate_features = [
|
|
"base",
|
|
"builtin.alias",
|
|
"builtin.bg",
|
|
"builtin.bind",
|
|
"builtin.break",
|
|
"builtin.builtin",
|
|
"builtin.caller",
|
|
"builtin.cd",
|
|
"builtin.colon",
|
|
"builtin.command",
|
|
"builtin.compgen",
|
|
"builtin.complete",
|
|
"builtin.compopt",
|
|
"builtin.continue",
|
|
"builtin.declare",
|
|
"builtin.dirs",
|
|
"builtin.dot",
|
|
"builtin.echo",
|
|
"builtin.enable",
|
|
"builtin.eval",
|
|
"builtin.exec",
|
|
"builtin.exit",
|
|
"builtin.export",
|
|
"builtin.false",
|
|
"builtin.fc",
|
|
"builtin.fg",
|
|
"builtin.getopts",
|
|
"builtin.hash",
|
|
"builtin.help",
|
|
"builtin.history",
|
|
"builtin.jobs",
|
|
"builtin.kill",
|
|
"builtin.let",
|
|
"builtin.mapfile",
|
|
"builtin.popd",
|
|
"builtin.printf",
|
|
"builtin.pushd",
|
|
"builtin.pwd",
|
|
"builtin.read",
|
|
"builtin.return",
|
|
"builtin.set",
|
|
"builtin.shift",
|
|
"builtin.shopt",
|
|
"builtin.suspend",
|
|
"builtin.test",
|
|
"builtin.times",
|
|
"builtin.trap",
|
|
"builtin.true",
|
|
"builtin.type",
|
|
"builtin.ulimit",
|
|
"builtin.umask",
|
|
"builtin.unalias",
|
|
"builtin.unset",
|
|
"builtin.wait",
|
|
"util.b2sum",
|
|
"util.base32",
|
|
"util.base64",
|
|
"util.basename",
|
|
"util.cat",
|
|
"util.cksum",
|
|
"util.cmp",
|
|
"util.combine",
|
|
"util.comm",
|
|
"util.cut",
|
|
"util.date",
|
|
"util.diff",
|
|
"util.dirname",
|
|
"util.errno",
|
|
"util.fd",
|
|
"util.find",
|
|
"util.grep",
|
|
"util.head",
|
|
"util.hostname",
|
|
"util.ifne",
|
|
"util.isutf8",
|
|
"util.jq",
|
|
"util.ln",
|
|
"util.ls",
|
|
"util.md5sum",
|
|
"util.mkdir",
|
|
"util.mktemp",
|
|
"util.mv",
|
|
"util.nohup",
|
|
"util.nproc",
|
|
"util.paste",
|
|
"util.pgrep",
|
|
"util.pidwait",
|
|
"util.pkill",
|
|
"util.printenv",
|
|
"util.proc-match",
|
|
"util.procs",
|
|
"util.ps",
|
|
"util.readlink",
|
|
"util.realpath",
|
|
"util.rg",
|
|
"util.rm",
|
|
"util.sed",
|
|
"util.seq",
|
|
"util.sha1sum",
|
|
"util.sha224sum",
|
|
"util.sha256sum",
|
|
"util.sha384sum",
|
|
"util.sha512sum",
|
|
"util.sleep",
|
|
"util.sort",
|
|
"util.sponge",
|
|
"util.stat",
|
|
"util.tac",
|
|
"util.tail",
|
|
"util.tee",
|
|
"util.timeout",
|
|
"util.top",
|
|
"util.touch",
|
|
"util.tr",
|
|
"util.truncate",
|
|
"util.ts",
|
|
"util.uname",
|
|
"util.uniq",
|
|
"util.wc",
|
|
"util.which",
|
|
"util.whoami",
|
|
"util.xargs",
|
|
"util.yes",
|
|
"utils",
|
|
],
|
|
crate_name = "pi_builtins",
|
|
edition = "2024",
|
|
proc_macro_deps = all_crate_deps(proc_macro = True),
|
|
version = "0.2.0",
|
|
deps = all_crate_deps(normal = True) + [
|
|
"//crates/pi-walker",
|
|
"//crates/vendor/brush-core",
|
|
],
|
|
)
|
|
|
|
rust_test(
|
|
name = "pi-builtins_test",
|
|
crate = ":pi-builtins",
|
|
edition = "2024",
|
|
proc_macro_deps = all_crate_deps(proc_macro_dev = True),
|
|
deps = all_crate_deps(normal_dev = True),
|
|
)
|