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

* plugin handler and lifecycle * rebase * remove reflect s * remove Config and NewPlugin from plugin template * Remove plugin manager, generation of plugin interface * implement http handlers for services remove log trim path prefix wails/services * update plugine example * Misc updates * Ported plugins to services, rewritten example * Added fileserver * Update OnStartup and use a context for the application * Rename PathPrefix to Route. Create docs. * Use service config copy. Add Name to Service Options. Improve service generation. * Use service config copy. Add Name to Service Options. Improve service generation. Update README * Remove rogue db * Update changelog.md --------- Co-authored-by: Lea O'Anthony <lea.anthony@gmail.com>
37 lines
695 B
Go
37 lines
695 B
Go
package service
|
|
|
|
import (
|
|
"embed"
|
|
"fmt"
|
|
"io/fs"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/wailsapp/wails/v3/internal/flags"
|
|
|
|
"github.com/leaanthony/gosod"
|
|
|
|
"github.com/samber/lo"
|
|
)
|
|
|
|
//go:embed template
|
|
var serviceTemplate embed.FS
|
|
|
|
type TemplateOptions struct {
|
|
*flags.ServiceInit
|
|
}
|
|
|
|
func Install(options *flags.ServiceInit) error {
|
|
|
|
if options.OutputDir == "." || options.OutputDir == "" {
|
|
options.OutputDir = filepath.Join(lo.Must(os.Getwd()), options.Name)
|
|
}
|
|
fmt.Printf("Generating service '%s' into '%s'\n", options.Name, options.OutputDir)
|
|
tfs, err := fs.Sub(serviceTemplate, "template")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return gosod.New(tfs).Extract(options.OutputDir, options)
|
|
}
|