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:
parent
953e67e7ed
commit
f5549db85d
@ -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...")
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user