5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-17 01:19:29 +08:00

[v2] warn if wails version out of sync during build

This commit is contained in:
Lea Anthony 2021-11-02 22:33:34 +11:00
parent 333949ee53
commit 83a575e43f
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405

View File

@ -5,11 +5,15 @@ import (
"io" "io"
"os" "os"
"os/exec" "os/exec"
"path/filepath"
"runtime" "runtime"
"strings" "strings"
"text/tabwriter" "text/tabwriter"
"time" "time"
"github.com/wailsapp/wails/v2/cmd/wails/internal"
"github.com/wailsapp/wails/v2/internal/gomod"
"github.com/wailsapp/wails/v2/internal/system" "github.com/wailsapp/wails/v2/internal/system"
"github.com/leaanthony/clir" "github.com/leaanthony/clir"
@ -205,6 +209,11 @@ func AddBuildSubcommand(app *clir.Cli, w io.Writer) {
fmt.Fprintf(w, "\n") fmt.Fprintf(w, "\n")
w.Flush() w.Flush()
err = checkGoModVersion(logger)
if err != nil {
return err
}
return doBuild(buildOptions) return doBuild(buildOptions)
}) })
} }
@ -228,3 +237,29 @@ func doBuild(buildOptions *build.Options) error {
return nil return nil
} }
func checkGoModVersion(logger *clilogger.CLILogger) error {
cwd, err := os.Getwd()
if err != nil {
return err
}
gomodFilename := filepath.Join(cwd, "go.mod")
gomodData, err := os.ReadFile(gomodFilename)
if err != nil {
return err
}
outOfSync, err := gomod.GoModOutOfSync(gomodData, internal.Version)
if err != nil {
return err
}
if !outOfSync {
return nil
}
gomodversion, err := gomod.GetWailsVersionFromModFile(gomodData)
if err != nil {
return err
}
logger.Println("Warning: go.mod is using Wails '%s' but the CLI is '%s'. Consider updating it.\n", gomodversion.String(), internal.Version)
return nil
}