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:
parent
de119fa05f
commit
965034923b
26
justfile
Normal file
26
justfile
Normal 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}}
|
38
magefile.go
38
magefile.go
|
@ -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)
|
|
||||||
}
|
|
Loading…
Reference in a new issue