Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TheOnlyMrCat/runscript
A tool to manage a project's build and run commands
https://github.com/TheOnlyMrCat/runscript
build-tool runscript script-manager
Last synced: 2 months ago
JSON representation
A tool to manage a project's build and run commands
- Host: GitHub
- URL: https://github.com/TheOnlyMrCat/runscript
- Owner: TheOnlyMrCat
- License: apache-2.0
- Created: 2020-06-23T00:05:58.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-18T23:30:21.000Z (almost 2 years ago)
- Last Synced: 2024-10-06T16:38:03.632Z (3 months ago)
- Topics: build-tool, runscript, script-manager
- Language: Rust
- Homepage:
- Size: 1.65 MB
- Stars: 7
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - TheOnlyMrCat/runscript - A tool to manage a project's build and run commands (Rust)
README
# Runscript
Runscript is a tool like `make` (or, perhaps, [`just`](https://github.com/casey/just)) which manages project-specific
commands. When you want to run your program, simply type `run`.For an example of a useful runscript, see [the runfile for this repository](run).
## Features
- Does **not** use Makefile syntax, and instead uses a custom TOML-inspired syntax with no significant whitespace
- Emulates a shell and executes commands directly, instead of invoking `sh`.
- Supports most of the shell features you know and love (parsing adapted from [ipetkov/conch_parser](https://github.com/ipetkov/conch-parser))
- Can invoke an external tool (not necessarily a shell!) to run a script, if the builtin shell proves inadequate.
- Multiple 'phases' per target, so you can chose to build, run, or test a target. If those options aren't enough, you can name your phases whatever you want!
- Imports targets from multiple files, meaning you can have a personal `.run` file alongside a source-controlled `run` file
- Fancy output while running scripts, which is entirely configurable!### Still to do
- A number of more advanced shell features, including:
- A few shell builtin commands (e.g. `exit`, `nohup`)
- Local variables (?)
- Arithmetic and a number of parameter substitutions
- Here-documents
- Replace manual SIGHUP'ing with `setpgid`
- Remove most sources of panicking (fuzz testing?)
- Support Windows properly (?)### Non-goals
Despite having `-c` and `-s` options for executing single commands and shell scripts, respectively, Runscript
won't emulate a POSIX shell perfectly. I'll try to make it useful enough for most use cases, but if you want a
POSIX shell, just use a POSIX shell. That being said, feel free to test the limitations of those two flags! I do have
to be able to execute shell scripts to implement the `source` builtin.## How to install
### AUR
Runscript is on the AUR as `runscript-git`. Install it manually, or using your favourite AUR helper.
```
paru -S runscript-git
```### Manually
```sh
git clone https://git.sr.ht/~theonlymrcat/runscript
cd runscript
cargo install --release
```## License
Licensed under the Apache License, Version 2.0 ().
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.