cargo-xtask
xshell
cargo-xtask | xshell | |
---|---|---|
26 | 10 | |
736 | 637 | |
- | - | |
5.4 | 5.0 | |
9 days ago | 24 days ago | |
Rust | ||
- | Apache License 2.0 |
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.
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.
xshell
- Hey Rustaceans! Got a question? Ask here (17/2023)!
-
would you use rust for scripting?
Just a few minutes ago I learned about https://github.com/matklad/xshell and it looks nice!
-
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.
- Started using Rust for scripting
-
Rust as bash scripting replacement?
how was your experience with trying to use [xshell](https://github.com/matklad/xshell/) as a shell script replacement? was the boilerplate worth it?
-
How to improve my Rust workflow?
Also xshell might be helpful here https://github.com/matklad/xshell
-
Rust Support in the Linux Kernel
* time to compile whatever syn generated
I didn’t do a super thorough studies of things, but my impression is that 2, performance of syn itself, is rarely an issue. Most of the time it is 1) (and the associated problem of decreased build parallelism because half of the crates wait for syn to compile) and 3).
To get a feeling how costly a simple proc macro is, run this benchmark: https://github.com/matklad/xshell/blob/4e5090e9f79baeed1037b....
-
cradle: Run child processes with ease
This is an API vulnerable to shell injection. I think it’s relatively important to design command-running libraries which don’t re-introduce the possibility of this error into Rust. The fix here is to ensure that the string is a compile-time string, and, preferably, even lex it at compile time. See xshell for an example of ergonomic and safe API here: https://github.com/matklad/xshell.
-
The Plan for the Rust 2021 Edition
Note that “lexer level” proc macros, which don’t parse rust code, and which don’t generate a ton of Rust code, could be pretty light weight on compile times. Here’s a benchmark one can run to measure that: https://github.com/matklad/xshell/blob/master/tests/it/main.rs#L376
What are some alternatives?
just - 🤖 Just a command runner
rfcs - RFCs for changes to Rust
cargo-make - Rust task runner and build tool.
Cradle - Play Twine stories in Unity.
bors-ng - 👁 A merge bot for GitHub Pull Requests
compiler-explorer - Run compilers interactively from your web browser and interact with the assembly
rust - Empowering everyone to build reliable and efficient software.
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
evcxr