https://github.com/stuin/ezbuild
Bash script for building and testing small projects with minimal configuration
https://github.com/stuin/ezbuild
Last synced: about 1 year ago
JSON representation
Bash script for building and testing small projects with minimal configuration
- Host: GitHub
- URL: https://github.com/stuin/ezbuild
- Owner: stuin
- License: mit
- Created: 2020-02-18T23:38:28.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-17T07:00:27.000Z (about 1 year ago)
- Last Synced: 2025-02-09T12:27:34.479Z (about 1 year ago)
- Language: Shell
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EZBuild
Bash script for building and testing small projects with minimal configuration
# Config
The default config is designed for small c projects, using the g++ compiler.
However, by changing variables both globally and for a specific directory, any ordered set of bash commands can be used.
### Inheritance
First priority is given to the local .includes file, followed by any listed parent file.
If a value is not found locally or in a parent, the global /etc/ezbuild file will be used.
### Merging
Some options will merge the local value and all parent values into a single varaible.
A value in the global config will not be included when merging.
The files option will include the relevant directory path to every token when merging.
### Other Options
Multiple build commands can be used, and the script will run through from 1-num.
build commands without a number will be counted as build1.
Option |Merging|Desc |Vars
----- |----- |----- |-----
cd |none |move to directory and use its config |
files |path |lists all files passed to the build command |
output |none |sets the output file given to the other commands |
num |none |number of build commands to run |
builder\# |none |build command run |%files, %ncfiles, %cached, %output, %open, %openc
buildargs\# |basic |added to end of build command |
caching |none |sed regex to convert src file paths to cached versions |
depfinder|none |sed -n regex for locating the dependencies of a src file |
terminal|none |emulator command used for -e |
tester |none |command used with -r |%output, %open, %openc
testargs|basic |added to end of test command |
testdir |basic |directory to run test from |
parent |none |provides additional config file to check |
# Install
First edit the included config file to match your personal system and use case.
Then run the install script.
```
sudo ./install.sh
```