cargo-make 0.37.24

Rust task runner and build tool.
Documentation

[config]
skip_core_tasks = true

[tasks.hello-world]
script = '''
    echo start...
    echo "Hello World From Script"
    echo end...
'''

[tasks.hello-world-from-script-file]
script = { file = "script.sh" }

[tasks.hello-world-from-script-file-absolute-path]
script = { file = "${CARGO_MAKE_WORKING_DIRECTORY}/script.sh", absolute_path = true }

[tasks.default]
dependencies = ["hello-world"]

[tasks.read-input]
script = ['''
    echo Enter Input
    read
    echo Input: ${REPLY}
''']

[tasks.force-pipe-stdin]
env = { CARGO_MAKE_SCRIPT_FORCE_PIPE_STDIN = true }
script = ['''
    echo start
    sleep 20
    echo end
''']

[tasks.base-script]
script.pre = "echo start"
script.main = "echo old"
script.post = "echo end"

[tasks.extended-script]
extend = "base-script"
script.main = "echo new"