5 releases
new 0.2.0 | Dec 14, 2024 |
---|---|
0.1.3 | Dec 14, 2024 |
0.1.2 | Dec 14, 2024 |
0.1.1 | Dec 14, 2024 |
0.1.0 | Dec 14, 2024 |
#5 in #development
16KB
248 lines
Supererpo
A Blazingly fast tool made for managing builds and runs. Giving your repo superpowers with macros and more.
Config
Every Superepo monorepo or project must use the config which must be located at the root project dir. Here's a Example Config:
[monorepo]
name = "engine"
git = "[email protected]:GrandEngineering/superepo.git"
run = "cargo build && cargo run --bin server"
opt_run = "cargo build --release && cargo run --bin server --release"
build = "cargo build"
opt_build = "cargo build --release"
[[monorepo.libs]]
name = "enginelib"
build = "cargo build"
opt_build = "cargo build --release"
[[monorepo.libs]]
name = "engine_core"
build = "cargo build"
opt_build = "cargo build --release"
[[monorepo.bins]]
name = "server"
build = "cargo build"
opt_build = "cargo build --release"
run = "cargo run --bin server"
opt_run = "cargo run --bin server --release"
[[monorepo.bins]]
name = "client"
build = "cargo build"
opt_build = "cargo build --release"
run = "cargo run --bin client"
opt_run = "cargo run --bin client --release"
[[monorepo.macros]
name = "fmt"
run = "cargo fmt"
Monorepo Table
Field | Obligatory | Type | Description |
---|---|---|---|
name | True | String | The name for the current project. |
git | True | String | The current project git repo. |
build | True | String | The command to build the project. |
opt_build | False | String | The command to build a release version of the project. |
run | False | String | The command to run the project. |
opt_run | False | String | The Command to run a release version of the project. |
libs | False | Lib | An Array of Lib tables to configure libraries of the project. |
bins | False | Bin | An Array of Bin tables to configure binaries of the project. |
macros | False | Macro | An Array of Macro tables to configure macros of the project. |
Lib Tables
Field | Obligatory | Type | Description |
---|---|---|---|
name | True | String | Name of the library. |
build | True | String | The command to build the library. |
opt_build | False | String | The command to build a release version of the library. |
Bin Tables
Field | Obligatory | Type | Description |
---|---|---|---|
name | True | String | Name of the binary. |
build | True | String | The command to build the binary. |
opt_build | False | String | The command to build a release version of the binary. |
run | True | String | The command to run the binary. |
opt_run | False | String | The Command to run a release version of the binary. |
Macro Tables
Field | Obligatory | Type | Description |
---|---|---|---|
name | True | String | Name of the macro. |
build | True | String | The command to run. |
Usage
To build or run using a release version you can use the --release
flag.
Run
To run the project, you can use the following command:
superepo run
which will run the default run command specified in the config. Or you can run a specific binary by using:
superepo run <binary_name>
Build
To build the project, you can use the following command:
superepo build
which will build the default build command specified in the config. Or you can build a specific binary by using:
superepo build <binary_name/lib_name>
Macros
To run a macro, you can use the following command:
superepo macro <macro_name>
Dependencies
~1.4–2.1MB
~41K SLoC