Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetTemplatesForLanguage ¶
GetTemplatesForLanguage returns a list of template files for the given language
Types ¶
type Coordinator ¶
func NewCoordinator ¶
func NewCoordinator(gens []Generator) *Coordinator
Now take a slice of Generator (which matches registry.All())
func (*Coordinator) RunBoilerplateGeneration ¶
func (c *Coordinator) RunBoilerplateGeneration(cfg *config.Config, projectRoot string) error
type EmbeddedTemplateSource ¶
type EmbeddedTemplateSource struct {
// contains filtered or unexported fields
}
EmbeddedTemplateSource uses embedded templates
func NewEmbeddedTemplateSource ¶
func NewEmbeddedTemplateSource(fs embed.FS) *EmbeddedTemplateSource
func (*EmbeddedTemplateSource) ListLanguages ¶
func (e *EmbeddedTemplateSource) ListLanguages() ([]string, error)
func (*EmbeddedTemplateSource) ListTemplates ¶
func (e *EmbeddedTemplateSource) ListTemplates(language string) ([]string, error)
func (*EmbeddedTemplateSource) ParseTemplates ¶
func (e *EmbeddedTemplateSource) ParseTemplates(language string) (*template.Template, error)
type FileSystemTemplateSource ¶
type FileSystemTemplateSource struct {
// contains filtered or unexported fields
}
FileSystemTemplateSource uses filesystem templates
func NewFileSystemTemplateSource ¶
func NewFileSystemTemplateSource(baseDir string) *FileSystemTemplateSource
func (*FileSystemTemplateSource) ListLanguages ¶
func (f *FileSystemTemplateSource) ListLanguages() ([]string, error)
func (*FileSystemTemplateSource) ListTemplates ¶
func (f *FileSystemTemplateSource) ListTemplates(language string) ([]string, error)
func (*FileSystemTemplateSource) ParseTemplates ¶
func (f *FileSystemTemplateSource) ParseTemplates(language string) (*template.Template, error)
type GeneratorFactory ¶
type GeneratorFactory struct {
// contains filtered or unexported fields
}
GeneratorFactory creates generators for available languages
func NewGeneratorFactory ¶
func NewGeneratorFactory(fs builder.FileSystem, templateSource TemplateSource) *GeneratorFactory
func (*GeneratorFactory) CreateAvailableGenerators ¶
func (f *GeneratorFactory) CreateAvailableGenerators() ([]Generator, error)
CreateAvailableGenerators scans available templates and creates generators
func (*GeneratorFactory) GetTemplatesForLanguage ¶
func (f *GeneratorFactory) GetTemplatesForLanguage(language string) ([]string, error)
GetTemplatesForLanguage returns templates for a specific language
type GenericGenerator ¶
type GenericGenerator struct {
// contains filtered or unexported fields
}
GenericGenerator uses embedded templates for boilerplate generation.
func NewGenericGenerator ¶
func NewGenericGenerator(lang string, fs builder.FileSystem) (*GenericGenerator, error)
NewGenericGenerator initializes a GenericGenerator for the given language.
func (*GenericGenerator) Generate ¶
func (g *GenericGenerator) Generate(cfg *config.Config, root string) error
Generate renders templates into existing files under root. Only iterate the files listed in your config.Structure
func (*GenericGenerator) GetLanguage ¶
func (g *GenericGenerator) GetLanguage() string
GetLanguage returns the generator's language.
type TemplateSource ¶
type TemplateSource interface {
// ParseTemplates parses templates for a given language
ParseTemplates(language string) (*template.Template, error)
// ListLanguages returns available languages
ListLanguages() ([]string, error)
// ListTemplates returns template files for a language
ListTemplates(language string) ([]string, error)
}
TemplateSource abstracts where templates come from
func CreateTemplateSource ¶
func CreateTemplateSource(customTemplatesDir string) (TemplateSource, error)
CreateTemplateSource creates the appropriate template source based on templatesDir