Skip to content

Berkan4/xtask_runner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cargo-xtask-runner

A GUI for cargo xtask workflows.

Logo

Instead of typing cargo xtask <task> <target> in the terminal, open a GUI that lists all your tasks, lets you check which ones to run, and streams the output to a built-in console - all without leaving your project or blocking the terminal


Installation

cargo install cargo-xtask-runner

Usage

Navigate to any Rust project that has an xtask runner and run:

cd my-rust-project
cargo xtask-runner

The GUI will open. The terminal is free to use for anything else while it runs.

Requirements

Your project's xtask runner must support a --list flag that outputs tasks in this format:

target|task_id|description

For example:

workspace|fmt|Format all code
package|test|Run unit tests
package|build|Build release binary

Each line is one task. The target field groups tasks in the dropdown. Use workspace (or any other keyword) for tasks that apply globally and don't need a target argument.

Example xtask --list implementation

// in xtask/src/main.rs
if args.contains(&"--list") {
    println!("workspace|fmt|Format all code");
    println!("workspace|clippy|Run clippy lints");
    println!("package|test|Run unit tests");
    println!("package|build|Build release binary");
    return;
}

How it works

Run all tasks via checkboxes.

img.png

Aborts when an error occurs in ooder.

img_1.png

Run individual tasks (test is running)

img_2.png

Stop tasks at will.

img_3.png

License

MIT — see LICENSE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages