Have env be read from a .env

This commit is contained in:
2024-11-28 13:41:04 +01:00
parent a519005e6e
commit 8f39e19295

25
main.go
View File

@@ -1,6 +1,7 @@
package main package main
import ( import (
"bytes"
_ "embed" _ "embed"
"flag" "flag"
"fmt" "fmt"
@@ -8,7 +9,6 @@ import (
"log" "log"
"os" "os"
"path" "path"
"strings"
"code.gitea.io/sdk/gitea" "code.gitea.io/sdk/gitea"
"github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5"
@@ -18,6 +18,7 @@ import (
) )
var Error *log.Logger var Error *log.Logger
var Warning *log.Logger
func init() { func init() {
log.SetFlags(log.Lmicroseconds | log.Lshortfile) log.SetFlags(log.Lmicroseconds | log.Lshortfile)
@@ -32,19 +33,33 @@ func init() {
Error = log.New(io.MultiWriter(os.Stderr, os.Stdout), Error = log.New(io.MultiWriter(os.Stderr, os.Stdout),
fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"), fmt.Sprintf("%sERROR:%s ", "\033[0;101m", "\033[0m"),
log.Lmicroseconds|log.Lshortfile) log.Lmicroseconds|log.Lshortfile)
Warning = log.New(io.MultiWriter(os.Stdout),
fmt.Sprintf("%sWarning:%s ", "\033[0;93m", "\033[0m"),
log.Lmicroseconds|log.Lshortfile)
} }
//go:embed .env
var env string
func main() { func main() {
envFilePath := flag.String("env", ".env", "Path to the .env file")
flag.Parse()
// if *envFilePath == "" {
// Error.Fatalf("Environment file path is required")
// return
// }
err := clipboard.Init() err := clipboard.Init()
if err != nil { if err != nil {
Error.Fatalf("Error initializing clipboard: %v", err) Error.Fatalf("Error initializing clipboard: %v", err)
return return
} }
envvar, err := godotenv.Parse(strings.NewReader(env)) env, err := os.ReadFile(*envFilePath)
if err != nil {
Warning.Fatalf("Error reading .env file: %v", err)
// return
}
envvar, err := godotenv.Parse(bytes.NewReader(env))
if err != nil { if err != nil {
Error.Fatalf("Error parsing .env file: %v", err) Error.Fatalf("Error parsing .env file: %v", err)
return return