Releases: hyperupcall/bake
Releases · hyperupcall/bake
v1.6.0
Features
- The stacktrace is no longer printed by default
- This change was made because most Bakefiles are small; thus, the sources of script-errors are mostly self-evident and the stacktrace only makes it harder to see the error that really matters
Fixes
bake.cfg
now errors when unexpected arguments and values are passed- When executing tasks manually, the current directory is now switched to
$BAKE_ROOT
(if the optionpedantic-task-cd
is set toyes
)- This might be the default later, but for now it's hidden behind an option because it uses the
DEBUG
trap. It feels dirty and slow, but that is probably not the case
- This might be the default later, but for now it's hidden behind an option because it uses the
- The exit code when a script fails is now included in the "Your Bakefile failed" string
- Miscellaneous documentation improvements
v1.5.1
Fixes
- Deprecated function
bake.assert_nonempty
works in the same way as it did inv1.5.1
(a fix was made to pass positional parameters correctly with$@
) - Both
bake.assert_nonempty
andbake.assert_not_empty
now work with variables calledvariable
and__variable
v1.5.0
Features
- Deprecate
bake.assert_nonempty
in favor of the newbake.assert_not_empty
function. As this is a stable release (1.0.0
), I'll keep the older version for several releases until it is removed bake.*
functions have moved to the top of the./bake
file for easier reading (if forgot the function names)
Fixes
- On terminals without color and with
NO_COLOR
enabled, execution should not unexpectedly terminate
v1.4.0
Features
- Add
-h
flag to show help - Add ability to disable stacktrace with the new
bake.cfg
function (call it ininit()
to affect all tasks) - Enable setting variables just like make (
bake CC=gcc build
)
Fixes
- Once again tweaked the stacktrace to be more friendly. This is likely the last time I do it
- General improvements
v1.3.0
Features
-
No longer set
nullglob
shopt option- (this reduces bugs and unintended side effects)
-
Stacktrace now prints with the filenames in the correct order
v1.2.0
Features
- Optional
-f
flag to specify Bakefile location - Execute
init()
function (if it exists), which passes the task name as the first positional parameter
Fixes
- Improved printing, output messages
v1.1.0
A few small improvements in this release
Fixes
- Stacktrace print no longer shows the trap error handler
Before:
Error (bake): Your 'Bakefile.sh' did not exit successfully
Stacktrace:
-> bake:52 __bake_print_stacktrace()
-> bake:17 __bake_trap_err()
-> Bakefile.sh:235 task.fail()
-> bake:244 main()
After:
Error (bake): Your 'Bakefile.sh' did not exit successfully
Stacktrace:
-> Bakefile.sh:235 task.fail()
-> bake:244 __bake_main()
exec
is now used to launch the./bake
file
v1.0.0
First full release! This release focuses on polish and consistency. I'm super happy with the state of bake
now - so much so that I'm using it with nearly every nearly single project I make
Features
- Function names now begin with
bake
(BREAKING CHANGE)- This was done so it was easier to differentiate between user functions and built-in ones provided by bake. I don't expect any more breaking changes with the built-in utility functions
- Pretty console output sent to standard error
- This makes piping easier (as long as
|
is used instead of&|
)
- This makes piping easier (as long as
Fixes
- Running bake with
./bake
now works (previouslyBAKE_ROOT
would have been undefined in this case) - Errors are printed in a slightly nicer format
v0.2.1
Fixes
- Package name in
basalt.toml
now matches the project name,bake
v0.2.0
Features
The main feature being, the code actually works! This essentially implements everything described in ./README.md. I don't really expect anything else to be added, as this super minimal app is feature complete