INNER CODE UNIT · Go
generatePluginSourceCode
alibaba/loongcollector · tools/builder/main.go:166
func generatePluginSourceCode(ctx *buildContext) error {
// generate plugins/all/*.go
for _, tmpl := range []*template.Template{
allPluginsTemplate,
windowsPluginsTemplate,
linuxPluginsTemplate,
debugPluginsTemplate,
} {
path := filepath.Clean(filepath.Join(ctx.ProjectRoot, "plugins/all", tmpl.Name()))
err := os.MkdirAll(filepath.Dir(path), os.ModePerm)
if err != nil {
return err
}
outFile, err := os.Create(path)
if err != nil {
return fmt.Errorf("failed to create file: %s, err: %s", path, err)
}
err = tmpl.Execute(outFile, ctx)