curl -sSf https://yake.amsdard.io/install.sh | sudo -E bash
perl
> 5.0
perl-core
> 5.0 (only for RHEL Linux)
cpan
> 1.0 (build-essential
package)
--debug
level, DOCS internal vars explanation
--debug
, --version
, --upgrade
and --help
), new special task name _tasks
, ZSH completion, able to use spaces in argument value
FORCE_ALL
param, docs fixes
yake
loads local YAML Yakefile to get tasks and configs
$CMD
variable
$ARGS
variable
$BIN
variable
_config
to display user defined variables and _tasks
to display Yakefile tasks
$BIN
- use instead of static yake command (while running recursive commands). $BIN var will use yake command with all custom defined variables. See --debug example.
$ARGS
- contains all user defined variables. See YELLOW on Usage.
$CMD
- contains full command (string located on the task`s right side). See GREEN on Usage.
$FORCE_ALL
(0 | 1) - force all sub-tasks to be executed no matter on output code. By default if task`s return code is not 0 (error), whole task is stopped
$YAKEFILE
- Yakefile file name
hello_world: echo "hello world"
run: echo "running..." && $CMD
demo:
- echo "dumping demo vars"
- echo "VAR1 = $VAR1"
- echo "VAR3 = $VAR3"
- $BIN run $CMD
_config:
VAR1: value1
VAR2: var2 using $VAR1
VAR3: var using VAR1="$VAR1" and VAR2=$VAR2
yake hello_world
hello world
yake run uname -i
running...
x86_64
yake --debug VAR=new1 run uname -i
ARGS VAR=new1
BIN /usr/local/bin/yake VAR=new1 BIN="/usr/local/bin/yake"
CMD uname -i
FORCE_ALL 0
VAR new1
VAR1 one
VAR11 eleven
VAR2 two one
VAR3 tree VAR1="one" and VAR2=two new11
YAKEFILE Yakefile
echo "running..." && uname -i
yake VAR1=new1 demo uname -i
dumping demo vars
VAR1 = new1
VAR3 = var using VAR1=value1 and VAR2=var2 using value1
running...
x86_64
yake VAR1="'new value'" VAR3=$(uname -m) _config
VAR3 x86_64
VAR1 new value
VAR11 eleven
VAR2 two new value
VAR3 tree VAR1="new value" and VAR2=two new value
YAKEFILE Yakefile
$HOME
but
recommended way is to type ${HOME}
to split internal settings
and ENVs
yake V="'1 2 3'" task
or yake V='"1 2 3"' task
. You just have to use double quoting ('
in "
or reverse). You can use Yakefile _config section as well also.
yake YAKEFILE=/path/yakeefile.yml demo
FORCE_ALL=1
param.
$BIN
what enable You to keep all defined command configs.