...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package main
15
16 import (
17 "bytes"
18 "text/template"
19 )
20
21 const initTemplate = `
22 SchemeBuilder.Register(&{{.Type}}{}, &{{.Type}}List{})
23 all.register(Kind{{.Type}}, &ChaosKind{
24 Chaos: &{{.Type}}{},
25 ChaosList: &{{.Type}}List{},
26 })
27 `
28
29 func generateInit(name string) string {
30 tmpl, err := template.New("ini").Parse(initTemplate)
31 if err != nil {
32 log.Error(err, "fail to build template")
33 panic(err)
34 }
35
36 buf := new(bytes.Buffer)
37 err = tmpl.Execute(buf, &metadata{
38 Type: name,
39 })
40 if err != nil {
41 log.Error(err, "fail to execute template")
42 panic(err)
43 }
44
45 return buf.String()
46 }
47