<div>
# Bloomery
**A lightweight, minimalist build system for Java written in Rust.**
[](https://www.rust-lang.org/)
[](LICENSE)
[](https://crates.io/crates/bloomery)
[](#)
</div>
---
Bloomery is an easy and minimalist build system for Java projects written in Rust.
It is designed to make creating, building and running simple Java projects easy and just working.
I started Bloomery because I am learning Java at school and wanted something similar to Maven, but much simpler.
I don't need millions of features, complicated configuration or a huge build system just to compile and run a small Java project. I also don't want to use a heavy IDE like IntelliJ just for basic Java development.
Bloomery is my attempt at making a small tool that does what I need and nothing more.
---
## Features
- **Easy to use**
- **Lightweight**
- **TOML configuration**
- **Single file execution**
- **Easily build and run .jar files**
- **Configurable output**
- **External dependencies to classpath**
- **Built in templates for different use-cases**
- **Install custom templates**
---
## Installation
To install bloomery on your system:
#### from crates.io:
```bash
cargo install bloomery
```
#### or install it from source:
clone the repo and change into it
```bash
git clone https://github.com/Kiwilus/bloomery.git && cd bloomery
```
install bloomery system wide
```bash
cargo install --path .
```
## Documentation
- [Usage](docs/usage.md)
- [Custom Templates](docs/custom-template.md)
- [Dependencies](docs/dependencies.md)
## How I use bloomery with zed
If you are Interessted how I use bloomery in zed
See the [Zed configuration](docs/zed-configuration.md).
## Requirements
- Rust
- JDK
- `javac`, `java` and `jar` in your PATH
## Contributing
Contributions are welcome!
If you want to contribute, please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
Bloomery is still a work in progress.