Makefile/Taskfile🔗
Task automation tools
Taskfile🔗
A modern, YAML-based task runner designed to simplify Tasks
-
Create a Taskfile
-
Run a Task
Taskfile Syntax🔗
version: '3' # Taskfile version
tasks:
<task-name>:
desc: "Description of the task"
cmds:
- <command-1>
- <command-2>
deps:
- <dependent-task>
vars:
<var-name>: <value>
Example Taskfile🔗
version: '3'
tasks:
greet:
desc: "Greet the user"
vars:
NAME: "World"
cmds:
- echo "Hello, {{.NAME}}!"
clean:
desc: "Clean build artifacts"
cmds:
- echo "Cleaning..."
build:
desc: "Build the project"
deps: [clean]
cmds:
- echo "Building..."
Taskfile Example Go🔗
version: '3'
tasks:
fmt:
desc: "Format Go code"
cmds:
- go fmt ./...
vet:
desc: "Vet Go code"
cmds:
- go vet ./...
build:
desc: "Build the project"
deps: [fmt, vet]
env:
GO_VERSION: "1.20"
cmds:
- go build -o bin/app .
Including Other Taskfiles🔗
Makefile🔗
-
Create a Makefile
-
Run a Make Target
Makefile Syntax🔗
Makefile Example C🔗
Makefile Example Go🔗
.DEFAULT_GOAL := build
.PHONY:fmt vet build
fmt:
go fmt ./...
vet: fmt
go vet ./...
build: vet
go build