mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-12-24 00:37:45 +00:00
Merge pull request #31470 from caesarxuchao/regenerate-release-1-4
Automatic merge from submit-queue Fix missing expansion files in clientset release 1.4 <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md 2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md 3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes --> **What this PR does / why we need it**: Fix missing expansion files in clientset release 1.4; Update the client-gen tool to automatically update generated_expansion.go; Update the readme to document the best practice of using client-gen. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # https://github.com/kubernetes/kubernetes/issues/29698#issuecomment-241315798 **Special notes for your reviewer**: **Release note**: <!-- Steps to write your release note: 1. Use the release-note-* labels to set the release note state (if you have access) 2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. --> ```release-note ``` cc @lavalamp @krousey @mbohlool
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user