mirror of https://github.com/k3s-io/k3s
some improvement to client-gen
parent
d836b248b2
commit
bb6b087a06
|
@ -19,7 +19,6 @@ package generators
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
|
@ -107,15 +106,13 @@ func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
|||
})
|
||||
|
||||
expansionFileName := "generated_expansion"
|
||||
// To avoid overriding user's manual modification, only generate the expansion file if it doesn't exist.
|
||||
if _, err := os.Stat(filepath.Join(srcTreePath, outputPackagePath, expansionFileName+".go")); os.IsNotExist(err) {
|
||||
generators = append(generators, &genExpansion{
|
||||
DefaultGen: generator.DefaultGen{
|
||||
OptionalName: expansionFileName,
|
||||
},
|
||||
types: typeList,
|
||||
})
|
||||
}
|
||||
generators = append(generators, &genExpansion{
|
||||
groupPath: filepath.Join(srcTreePath, outputPackagePath),
|
||||
DefaultGen: generator.DefaultGen{
|
||||
OptionalName: expansionFileName,
|
||||
},
|
||||
types: typeList,
|
||||
})
|
||||
|
||||
return generators
|
||||
},
|
||||
|
|
|
@ -18,6 +18,9 @@ package generators
|
|||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/generator"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/types"
|
||||
|
@ -26,6 +29,7 @@ import (
|
|||
// genExpansion produces a file for a group client, e.g. ExtensionsClient for the extension group.
|
||||
type genExpansion struct {
|
||||
generator.DefaultGen
|
||||
groupPath string
|
||||
// types in a group
|
||||
types []*types.Type
|
||||
}
|
||||
|
@ -38,7 +42,9 @@ func (g *genExpansion) Filter(c *generator.Context, t *types.Type) bool {
|
|||
func (g *genExpansion) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
|
||||
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
||||
for _, t := range g.types {
|
||||
sw.Do(expansionInterfaceTemplate, t)
|
||||
if _, err := os.Stat(filepath.Join(g.groupPath, strings.ToLower(t.Name.Name+"_expansion.go"))); os.IsNotExist(err) {
|
||||
sw.Do(expansionInterfaceTemplate, t)
|
||||
}
|
||||
}
|
||||
return sw.Error()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue