- At ~260 lines of code, Project Metals is a simple build tool originally made for C++ projects
- Inspired by Dub (Dlang’s project manager)
- Made with Rust & Java (Java targeted from Haxe)
- Built-in runtime (you add your own command; working but needs improvement/broken)
- Built-in license selector (not finished)
- Built-in folder structure
- Custom build settings (not implemented yet)
- To create a new project, run
metal-initfor your corresponding operating system inside the Weld folder - To run your project, use
metal-run(not recommeneded other then memes)
- Project name (assumes refactor is enabled)
- License (unfinished; will skip)
- File format (adds header files for C/C++; TODO: auto-detect formats, side scripts)
- Build command (unfinished)
- Rerun
metal-initto repair your project’s Metal folder integrity - Recommended not to use the custom command due to the fact it cannot handle stdin. Use it for memes
- Output may not appear if your command does not produce usable stdout
- Add
echo ""to your batch or zsh file if needed - Because this is designed for universal projects, you must define your own build command in
metal.txt
- This project is still in development; builds may not always be usable
- File integrity checks may fail to detect the main file if at all
- The command used to build your project may sometimes run with fewer checks
- Always ensure the command in
command.txtmatches your file structure
project.txt— change project namemetal.txt— change (todo)version.txt— change version (TODO)
Tempstores recent errors frommetals.jar(Failing)refactor.txtcontrols refactor behavior (Failing)True— remake project name and others (TODO)False— turn off refactor
- Finish license selector
- Add custom build settings
- Allow commands without manual input (Getto)
- Remove dead-end code
- Java SDK (optional; required for built-in runtime)
- Rust (required for the entire project)
- Weld folder in system PATH (optional but recommended)
- Java: https://adoptium.net/
- Rust: https://rust-lang.org/