| Crates.io | monolilith |
| lib.rs | monolilith |
| version | 1.1.0 |
| created_at | 2022-08-28 03:14:46.717114+00 |
| updated_at | 2022-08-31 17:41:05.062876+00 |
| description | Simple Build System for Monorepos |
| homepage | https://github.com/Zeneyra-Linux/Monolilith |
| repository | https://github.com/Zeneyra-Linux/Monolilith |
| max_upload_size | |
| id | 653691 |
| size | 57,841 |
Simple Build System for Monorepos
cargo install monolilith
or
RUSTFLAGS="-C target-cpu=native" cargo install monolilith
WIP.
git clone https://github.com/Zeneyra-Linux/Monolilith.gitcd Monolilithcargo install --path . or cargo build --releaseOptionally, you can add RUSTFLAGS="-C target-cpu=native" in front of the command like above to optimize the application for your CPU.
You'll need a monolilith.json file. It contains a Map where the Keys are the relative paths to the application folder and the Value the Project Type.
Example:
{
"true": "zigcc",
"false": "zigc++",
"fetch": "zigfast",
"my-app": "cargo-zigbuild",
"other-apps/server-app": "cargo",
"other-apps/client-app": "clang",
"gnuapp": "gcc"
}
You can use monolilith init to create an empty file. The subproject folder should also match the project name and resulting binary.
Use monolilith add <ProjectPath> <ProjectType> to add a new project or monolilith remove <ProjectPath>.
Note that ProjectPath must be formatted like above.
Just run monolilith and it will build all the projects and put the result into build/.
Monolilith is currently licensed under the EUPL-1.2 with German law, since I live in Germany, but it will soon be relicensed under the Zeneyra Public License Version 1.0 with default conditions.