Files
summercms/internal/build/stubs/plugin.tmpl
Jakub Zych 5e50b166ef refactor(10.2-01): nest framework packages under modules
- Move remaining beach packages and embedded admin assets\n- Rewrite framework, example, build, and gate paths
2026-09-28 02:21:02 +02:00

110 lines
3.1 KiB
Cheetah

{{define "plugin.go"}}package {{.Package}}
import (
"embed"
"io/fs"
"git.golem15.com/golem15/summercms/modules/backpack"
"git.golem15.com/golem15/summercms/modules/bonfire"
"git.golem15.com/golem15/summercms/modules/pact"
"git.golem15.com/golem15/summercms/modules/party"
"github.com/go-gormigrate/gormigrate/v2"
)
var (
_ pact.HasConfig = (*Plugin)(nil)
_ pact.HasLang = (*Plugin)(nil)
_ pact.HasMailTemplates = (*Plugin)(nil)
_ pact.HasModels = (*Plugin)(nil)
_ pact.HasMigrations = (*Plugin)(nil)
_ pact.HasCommands = (*Plugin)(nil)
_ pact.HasJobs = (*Plugin)(nil)
_ pact.HasAdminControllers = (*Plugin)(nil)
)
//go:embed config
var configFS embed.FS
//go:embed lang
var langFS embed.FS
//go:embed views/mail
var mailFS embed.FS
// Plugin is the {{.ID}} plugin.
type Plugin struct{}
func (p *Plugin) ID() string { return {{printf "%q" .ID}} }
func (p *Plugin) Requires() []string { return nil }
func (p *Plugin) Register(*backpack.App) error { return nil }
func (p *Plugin) Boot(*backpack.App) error { return nil }
func (p *Plugin) ConfigFS() fs.FS { return configFS }
func (p *Plugin) LangFS() fs.FS { return langFS }
func (p *Plugin) MailTemplatesFS() fs.FS { return mailFS }
func (p *Plugin) MailTemplates() []string { return nil }
func (p *Plugin) MailLayouts() map[string]string { return nil }
func (p *Plugin) Models() []any { return generatedModels() }
func (p *Plugin) Migrations() []*gormigrate.Migration { return generatedMigrations() }
func (p *Plugin) Commands() []bonfire.Command { return generatedCommands() }
func (p *Plugin) Jobs() []pact.Job { return generatedJobs() }
func (p *Plugin) AdminControllers() []pact.AdminController {
return generatedAdminControllers()
}
func init() {
party.Register(&Plugin{})
}
{{end}}
{{define "routes.go"}}package {{.Package}}
import "git.golem15.com/golem15/summercms/modules/pact"
var _ pact.HasRoutes = (*Plugin)(nil)
func (p *Plugin) Routes(pact.Router) error { return nil }
{{end}}
{{define "go.mod"}}module {{.Module}}
{{.GoVersion}}
{{.Toolchain}}
require {{.Framework}} v0.0.0
{{if .Replace}}
replace {{.Framework}} => {{.Replace}}
{{end}}{{end}}
{{define "models/doc.go"}}// Package models holds GORM models for the {{.ID}} plugin.
package models
{{end}}
{{define "classes/doc.go"}}// Package classes holds services and hooks for the {{.ID}} plugin.
package classes
{{end}}
{{define "controllers/doc.go"}}// Package controllers holds HTTP handlers and admin controllers for the {{.ID}} plugin.
package controllers
{{end}}
{{define "console/doc.go"}}// Package console holds bonfire commands for the {{.ID}} plugin.
package console
{{end}}
{{define "jobs/doc.go"}}// Package jobs holds background jobs for the {{.ID}} plugin.
package jobs
{{end}}
{{define "middleware/doc.go"}}// Package middleware holds named HTTP middleware for the {{.ID}} plugin.
package middleware
{{end}}
{{define "updates/doc.go"}}// Package updates holds the gormigrate set for the {{.ID}} plugin.
package updates
{{end}}