mage -> just

just is more widely used thus has better tab completion, etc.
also it's easier to write a justfile than a magefile
This commit is contained in:
Lilian Jónsdóttir 2024-02-11 19:11:06 -08:00
parent de119fa05f
commit 965034923b
2 changed files with 26 additions and 38 deletions

26
justfile Normal file
View file

@ -0,0 +1,26 @@
binary := "fml"
build_dir := "bin"
cmd := "./cmd/" + binary
output := "." / build_dir / binary
default: run
# build binary
build:
go build -o {{output}} {{cmd}}
# run from source
run:
go run {{cmd}}
# build 'n run
run-binary: build
exec {{output}}
# run with args
run-args args:
go run {{cmd}} {{args}}
# clean up after yourself
clean:
rm {{output}}

View file

@ -1,38 +0,0 @@
//go:build mage
package main
import (
"fmt"
"os"
"github.com/magefile/mage/sh"
)
var (
binaryName string = "fml"
buildDir string = "bin"
cmd string = fmt.Sprintf(".%[1]ccmd%[1]c%[2]s", os.PathSeparator, binaryName)
output string = fmt.Sprintf(".%[1]c%[2]s%[1]c%[3]s", os.PathSeparator, buildDir, binaryName)
)
func Build() error {
fmt.Println("Building...")
return sh.Run("go", "build", "-o", output, cmd)
}
func Run() error {
fmt.Println("Running...")
return sh.RunV("go", "run", cmd)
}
func RunBinary() error {
Build()
fmt.Println("Running binary...")
return sh.RunV(output)
}
func Clean() error {
fmt.Println("Cleaning...")
return os.Remove(output)
}