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