package env import ( "fmt" "log" "os/exec" "strings" "github.com/joho/godotenv" "github.com/namsral/flag" ) var ( Port int PublicURL string Env string CommitLongSha string CommitShortSha string Version string ) func Load(filenames ...string) error { if err := godotenv.Load(); err != nil { return err } flag.StringVar(&PublicURL, "PUBLIC_URL", "delphi.market", "Public URL of website") flag.IntVar(&Port, "PORT", 4321, "Server port") flag.StringVar(&Env, "ENV", "development", "Specify environment") return nil } func Parse() { flag.Parse() CommitLongSha = execCmd("git", "rev-parse", "HEAD") CommitShortSha = execCmd("git", "rev-parse", "--short", "HEAD") Version = fmt.Sprintf("v0.0.0+%s", CommitShortSha) } func execCmd(name string, args ...string) string { cmd := exec.Command(name, args...) stdout, err := cmd.Output() if err != nil { log.Fatal(err) } return strings.TrimSpace(string(stdout)) }