1 # Set this to 1 if you want to cache the tasks
2 _cake_cache_task_list
=1
5 _cake_task_cache_file
='.cake_task_cache'
7 _cake_get_target_list
() {
8 cake
| grep '^cake ' | sed -e "s/cake \([^ ]*\) .*/\1/" | grep -v '^$'
11 _cake_does_target_list_need_generating
() {
13 if [ ${_cake_cache_task_list} -eq 0 ]; then
17 if [ ! -f ${_cake_task_cache_file} ]; then return 0;
19 accurate
=$(stat -f%m $_cake_task_cache_file)
20 changed
=$(stat -f%m Cakefile)
21 return $(expr $accurate '>=' $changed)
26 if [ -f Cakefile
]; then
27 if _cake_does_target_list_need_generating
; then
28 _cake_get_target_list
> ${_cake_task_cache_file}
29 compadd
`cat ${_cake_task_cache_file}`
31 compadd
`_cake_get_target_list`