Files
raven/README.md
2026-02-15 20:41:56 -05:00

64 lines
1.7 KiB
Markdown

# Raven
First off, the name is not a play on `Rust + maven`, but `maven` and my uni's
mascot.
Second, this is meant to be a *simple* tool to manage *simple* Java projects
from the command line with sanity.
It takes inspiration from Cargo, and essentially serves as a sanity-preserving
wrapper for `javac` and `java`.
## Installing
Installing with `cargo`:
```bash
cargo install --git https://gitea.cutieguwu.ca/Cutieguwu/raven.git --branch master
```
`raven` will likely fall back to panicking in various scenarios. This will be
worked out over time.
`raven` is only tested under linux. NT and Darwin support is **not** guaranteed.
WSL *may* affect the behaviour of raven. Quirks to be worked out.
## Getting Started
```bash
raven new demo
cd demo
raven run main
```
## Raven commands
```bash
Usage: raven <COMMAND>
Commands:
new Create a new raven project
init Create a new raven project in an existing directory
build Compile the current project
run Run the current project
test !!! BORKED !!! Run the tests
clean Remove the target directory and caching
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
```
## Future plans
- [ ] Make `raven run` fall back to an entry point specified in Nest.toml, when
none provided.
- [ ] Fix project structure, eliminate inter-dependencies.
- [ ] Separate out `java.rs` into a dedicated wrapper library.
- [ ] Possibly add support for pulling remote packages via `raven add`. This
will be implemented should there arise a need.
- [ ] Wrap errors properly, instead of hap-hazardly using `anyhow`
- [ ] Maybe proper logging?