39 lines
653 B
Go
39 lines
653 B
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"log/slog"
|
|
"os"
|
|
"text/template"
|
|
|
|
_ "github.com/magefile/mage/sh"
|
|
)
|
|
|
|
var (
|
|
workingDir string
|
|
//go:embed templates/*.tmpl
|
|
templatesFS embed.FS
|
|
templates *template.Template
|
|
)
|
|
|
|
func init() {
|
|
logLevel := new(slog.LevelVar)
|
|
|
|
if val, set := os.LookupEnv("MAGE_LOG_LEVEL"); set {
|
|
_ = logLevel.UnmarshalText([]byte(val))
|
|
}
|
|
|
|
handler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{
|
|
Level: logLevel,
|
|
})
|
|
|
|
slog.SetDefault(slog.New(handler))
|
|
|
|
if wd, err := os.Getwd(); err != nil {
|
|
panic(err)
|
|
} else {
|
|
workingDir = wd
|
|
}
|
|
|
|
templates = template.Must(template.ParseFS(templatesFS, "templates/*.tmpl"))
|
|
}
|