duct.rs
cargo-xtask
duct.rs | cargo-xtask | |
---|---|---|
4 | 26 | |
792 | 761 | |
- | - | |
4.6 | 5.4 | |
4 months ago | about 2 months ago | |
Rust | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
duct.rs
-
Is there an equivalent Rust crate?
There is also duct which is not so much geared towards writing an interpreter, but does provide simplified macros for running subprocesses.
- Hey Rustaceans! Got a question? Ask here (17/2023)!
-
Dynamically generating and using items using WASM
This doesn't address the generate-and-build step, but you can probably accomplish that by shelling out (perhaps with duct) to cargo build assuming your runtime environment has the necessary tools installed.
-
Hey Rustaceans! Got an easy question? Ask here (14/2021)!
As mentioned by /u/llogiq, std::process::Command will work if you mean shelling out to another binary, but I wanted to point out the crate duct which makes this kind of thing simpler to handle.
cargo-xtask
-
🏃♂️ Use task.go for your Go project scripts
💡 Inspired by matklad/cargo-xtask and based on 🏃♂️ Write your Rust project scripts in task.rs from the Rust ecosystem.
-
clap_completion help requested
Using a cargo-xtask task to generate them as a manual step (inlyne currently does this)
- Cargo xtask: extend cargo with custom commands written in Rust
-
Including a cargo command as a dev dependency
As someone else said just is good for that job, or you could implement an xtask helper for these things and setup a suitable development environment with that: https://github.com/matklad/cargo-xtask/
- Cargo xtask: extend stock, stable cargo with custom commands written in Rust
-
Going beyond build.rs: introducing cargo-px
Well tools like cornucopia, prisma-rust-client, protoc-gen-tonic, they don't generate in build.rs, but instead provide either a cli to be called ahead of time, or provide a library that can be called by your own binary (which should generally follow the xtask pattern)
- Hey Rustaceans! Got a question? Ask here (17/2023)!
-
Best way to include a utility command for my crate?
If I understand, this is a tool for when working on the project itself? Akin to a helper script? You could go the cargo install route as already pointed out but there is also the xtask convention.
-
We have getrandom at home
For simple cli apps for internal use, such as cargo-xtasks, I prefer pico_args due to its fast compile times.
-
Rust for Web Development | An Honest Evaluation
For developer-oriented stuff, there's tools like xshell and cargo-xtask. For operator tasks that need to run in a deployed environment, it's not usually a big lift to add CLI subcommands to your binary. It's certainly more boilerplate and inertia than doing stuff in a live REPL, though, and sometimes difficult to recommend for truly one-off situations.
What are some alternatives?
rustyline - Readline Implementation in Rust
just - 🤖 Just a command runner
rust-copperline - Pure-Rust Command Line Editing Library
cargo-make - Rust task runner and build tool.
tonic - A native gRPC client & server implementation with async/await support.
bors-ng - 👁 A merge bot for GitHub Pull Requests
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
rust - Empowering everyone to build reliable and efficient software.
tokio-uring - An io_uring backed runtime for Rust
waihona - Rust crate for performing cloud storage CRUD actions across major cloud providers e.g aws
hashira-templates - Starter templates for hashira
fzf - :cherry_blossom: A command-line fuzzy finder