5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 06:01:52 +08:00

[dev] Do not generate bindings in the dev app itself (#1899)

* [dev] Pass skip bindings to the building process

* [dev] Do not generate bindings in the dev app itself

This is done outside during `wails dev` bootstrapping and
fast regeneration seems to sometime cause locking problems
on Windows.
This commit is contained in:
stffabi 2022-09-25 13:21:41 +02:00 committed by GitHub
parent 953e67e7ed
commit f5549db85d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 37 deletions

View File

@ -160,6 +160,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
}
buildOptions := generateBuildOptions(flags)
buildOptions.SkipBindings = flags.skipBindings
buildOptions.Logger = logger
userTags, err := buildtags.Parse(flags.tags)
@ -169,7 +170,7 @@ func AddSubcommand(app *clir.Cli, w io.Writer) error {
buildOptions.UserTags = userTags
if !flags.skipBindings {
if !buildOptions.SkipBindings {
if flags.verbosity == build.VERBOSE {
LogGreen("Generating Bindings...")
}

View File

@ -22,7 +22,6 @@ import (
"github.com/wailsapp/wails/v2/internal/fs"
"github.com/wailsapp/wails/v2/internal/logger"
"github.com/wailsapp/wails/v2/internal/menumanager"
"github.com/wailsapp/wails/v2/internal/project"
pkglogger "github.com/wailsapp/wails/v2/pkg/logger"
"github.com/wailsapp/wails/v2/pkg/options"
)
@ -193,10 +192,6 @@ func CreateApp(appoptions *options.App) (*App, error) {
}
appBindings := binding.NewBindings(myLogger, appoptions.Bind, bindingExemptions, false)
err = generateBindings(appBindings)
if err != nil {
return nil, err
}
eventHandler := runtime.NewEvents(myLogger)
ctx = context.WithValue(ctx, "events", eventHandler)
messageDispatcher := dispatcher.NewDispatcher(ctx, myLogger, appBindings, eventHandler)
@ -223,37 +218,6 @@ func CreateApp(appoptions *options.App) (*App, error) {
}
func generateBindings(bindings *binding.Bindings) error {
cwd, err := os.Getwd()
if err != nil {
return err
}
projectConfig, err := project.Load(cwd)
if err != nil {
return err
}
if projectConfig.WailsJSDir == "" {
projectConfig.WailsJSDir = filepath.Join(cwd, "frontend")
}
targetDir := filepath.Join(projectConfig.WailsJSDir, "wailsjs", "go")
err = os.RemoveAll(targetDir)
if err != nil {
return err
}
_ = fs.MkDirs(targetDir)
err = bindings.GenerateGoBindings(targetDir)
if err != nil {
return err
}
return nil
}
func tryInferAssetDirFromFS(assets iofs.FS) (string, error) {
if _, isEmbedFs := assets.(embed.FS); !isEmbedFs {
// We only infer the assetdir for embed.FS assets