Skip to content

Commit

Permalink
Merge pull request #424 from yue9944882/feat/go-generate-pt1
Browse files Browse the repository at this point in the history
Feat: (pt1) Generate {deepcopy,defaulter,conversion} codes by `go generate ./pkg/..`
  • Loading branch information
k8s-ci-robot committed Oct 8, 2019
2 parents 40f4649 + e650515 commit e84f60a
Show file tree
Hide file tree
Showing 1,208 changed files with 272,214 additions and 1,973 deletions.
50 changes: 36 additions & 14 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 32 additions & 1 deletion Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ required = [
"google.golang.org/grpc",
"github.com/imdario/mergo",
"k8s.io/kube-openapi/cmd/openapi-gen",
"k8s.io/code-generator/cmd/client-gen",
"k8s.io/code-generator/cmd/informer-gen",
"k8s.io/code-generator/cmd/lister-gen",
"github.com/modern-go/reflect2",
"sigs.k8s.io/controller-runtime/pkg/envtest",
"sigs.k8s.io/controller-runtime/pkg/client",
Expand Down Expand Up @@ -102,13 +105,17 @@ required = [
version = "kubernetes-1.15.3"
name = "k8s.io/apiserver"

[[override]]
version = "kubernetes-1.15.3"
name = "k8s.io/code-generator"

[[override]]
version = "v12.0.0"
name = "k8s.io/client-go"

[[constraint]]
name = "k8s.io/gengo"
revision = "fdcf9f9480fdd5bf2b3c3df9bf4ecd22b25b87e2"
revision = "ebc107f98eab922ef99d645781b87caca01f4f48"

[[override]]
name = "k8s.io/kube-openapi"
Expand Down Expand Up @@ -143,6 +150,30 @@ required = [
name = "github.com/gogo/protobuf"
unused-packages = false
non-go = false
[[prune.project]]
name = "k8s.io/code-generator"
non-go = false
unused-packages = false
[[prune.project]]
name = "k8s.io/api"
non-go = false
unused-packages = false
[[prune.project]]
name = "k8s.io/gengo"
non-go = false
unused-packages = false
[[prune.project]]
name = "k8s.io/kube-openapi"
non-go = false
unused-packages = false
[[prune.project]]
name = "sigs.k8s.io/apiserver-builder-alpha"
non-go = false
unused-packages = false
[[prune.project]]
name = "sigs.k8s.io/apiserver-builder-alpha"
non-go = false
unused-packages = false

[[constraint]]
name = "sigs.k8s.io/controller-runtime"
Expand Down
3 changes: 3 additions & 0 deletions cmd/apiserver-boot/boot/create/group.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ var groupTemplate = `
{{.BoilerPlate}}
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../boilerplate.go.txt
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../boilerplate.go.txt
// +k8s:deepcopy-gen=package,register
// +groupName={{.Name}}.{{.Domain}}
Expand Down
4 changes: 4 additions & 0 deletions cmd/apiserver-boot/boot/create/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ var versionTemplate = `
// backward compatibility by support multiple concurrent versions
// of the same resource
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -O zz_generated.conversion -i . -h ../../../../boilerplate.go.txt
// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen={{.Repo}}/pkg/apis/{{.Group}}
Expand Down
24 changes: 17 additions & 7 deletions cmd/apiserver-boot/boot/init_repo/repo.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,15 @@ func RunInitRepo(cmd *cobra.Command, args []string) {
createControllerManager(cr)
createAPIs(cr)

createPackage(cr, filepath.Join("pkg"))
createPackage(cr, filepath.Join("pkg", "controller"))
createPackage(cr, filepath.Join("pkg", "openapi"))
createPackage(cr, filepath.Join("pkg"), "")
createPackage(cr, filepath.Join("pkg", "controller"), "")
createPackage(cr, filepath.Join("pkg", "openapi"), "//go:generate " +
"go run ../../vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go " +
"-o . " +
"--output-package ../../pkg/openapi " +
"--report-filename violations.report " +
"-i ../../pkg/apis/...,../../vendor/k8s.io/api/core/v1,../../vendor/k8s.io/apimachinery/pkg/apis/meta/v1 " +
"-h ../../boilerplate.go.txt")

os.MkdirAll("bin", 0700)

Expand Down Expand Up @@ -181,7 +187,7 @@ func createApiserver(boilerplate string) {

}

func createPackage(boilerplate, path string) {
func createPackage(boilerplate, path, goGenerateCommand string) {
pkg := filepath.Base(path)
dir, err := os.Getwd()
if err != nil {
Expand All @@ -192,18 +198,20 @@ func createPackage(boilerplate, path string) {
packageDocTemplateArguments{
boilerplate,
pkg,
goGenerateCommand,
})
}

type packageDocTemplateArguments struct {
BoilerPlate string
Package string
BoilerPlate string
Package string
GoGenerateCommand string
}

var packageDocTemplate = `
{{.BoilerPlate}}
{{.GoGenerateCommand}}
package {{.Package}}
`
Expand All @@ -230,6 +238,8 @@ var apisDocTemplate = `
{{.BoilerPlate}}
//go:generate go run ../../vendor/sigs.k8s.io/apiserver-builder-alpha/cmd/apiregister-gen/main.go --input-dirs ./... -h ../../boilerplate.go.txt
//
// +domain={{.Domain}}
Expand Down
5 changes: 5 additions & 0 deletions cmd/apiserver-builder-release/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,11 @@ func BuildLocalVendor(tooldir string) {
filepath.Join("pkg"),
filepath.Join(tooldir, "src", "vendor", "sigs.k8s.io", "apiserver-builder-alpha", "pkg"))
RunCmd(c, "")
os.MkdirAll(filepath.Join(tooldir, "src", "vendor", "sigs.k8s.io", "apiserver-builder-alpha", "cmd"), 0700)
c = exec.Command("cp", "-R", "-H",
filepath.Join("cmd", "apiregister-gen"),
filepath.Join(tooldir, "src", "vendor", "sigs.k8s.io", "apiserver-builder-alpha", "cmd", "apiregister-gen"))
RunCmd(c, "")

c = exec.Command("bash", "-c",
fmt.Sprintf("find %s -name BUILD.bazel| xargs sed -i='' s'|//pkg|//vendor/sigs.k8s.io/apiserver-builder-alpha/pkg|g'",
Expand Down
2 changes: 2 additions & 0 deletions example/basic/pkg/apis/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../vendor/sigs.k8s.io/apiserver-builder-alpha/cmd/apiregister-gen/main.go --input-dirs ./... -h ../../boilerplate.go.txt

// +domain=k8s.io

package apis
3 changes: 3 additions & 0 deletions example/basic/pkg/apis/innsmouth/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../boilerplate.go.txt
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../boilerplate.go.txt

// +k8s:deepcopy-gen=package,register
// +groupName=innsmouth.k8s.io

Expand Down
4 changes: 4 additions & 0 deletions example/basic/pkg/apis/innsmouth/v1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ limitations under the License.
// backward compatibility by support multiple concurrent versions
// of the same resource

//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -O zz_generated.conversion -i . -h ../../../../boilerplate.go.txt

// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=sigs.k8s.io/apiserver-builder-alpha/example/basic/pkg/apis/innsmouth
Expand Down
3 changes: 3 additions & 0 deletions example/basic/pkg/apis/kingsport/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../boilerplate.go.txt
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../boilerplate.go.txt

// +k8s:deepcopy-gen=package,register
// +groupName=kingsport.k8s.io

Expand Down
4 changes: 4 additions & 0 deletions example/basic/pkg/apis/kingsport/v1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ limitations under the License.
// backward compatibility by support multiple concurrent versions
// of the same resource

//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -O zz_generated.conversion -i . -h ../../../../boilerplate.go.txt

// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=sigs.k8s.io/apiserver-builder-alpha/example/basic/pkg/apis/kingsport
Expand Down
3 changes: 3 additions & 0 deletions example/basic/pkg/apis/miskatonic/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../boilerplate.go.txt
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../boilerplate.go.txt

// +k8s:deepcopy-gen=package,register
// +groupName=miskatonic.k8s.io

Expand Down
4 changes: 4 additions & 0 deletions example/basic/pkg/apis/miskatonic/v1beta1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ limitations under the License.
// backward compatibility by support multiple concurrent versions
// of the same resource

//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -O zz_generated.conversion -i . -h ../../../../boilerplate.go.txt

// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=sigs.k8s.io/apiserver-builder-alpha/example/basic/pkg/apis/miskatonic
Expand Down
3 changes: 3 additions & 0 deletions example/basic/pkg/apis/olympus/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../boilerplate.go.txt
//go:generate go run ../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../boilerplate.go.txt

// +k8s:deepcopy-gen=package,register
// +groupName=olympus.k8s.io

Expand Down
4 changes: 4 additions & 0 deletions example/basic/pkg/apis/olympus/v1beta1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ limitations under the License.
// backward compatibility by support multiple concurrent versions
// of the same resource

//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go -O zz_generated.defaults -i . -h ../../../../boilerplate.go.txt
//go:generate go run ../../../../vendor/k8s.io/code-generator/cmd/conversion-gen/main.go -O zz_generated.conversion -i . -h ../../../../boilerplate.go.txt

// +k8s:openapi-gen=true
// +k8s:deepcopy-gen=package,register
// +k8s:conversion-gen=sigs.k8s.io/apiserver-builder-alpha/example/basic/pkg/apis/olympus
Expand Down
2 changes: 2 additions & 0 deletions example/basic/pkg/openapi/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

//go:generate go run ../../vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go -o . --output-package ../../pkg/openapi --report-filename violations.report -i ../../pkg/apis/...,../../vendor/k8s.io/api/core/v1,../../vendor/k8s.io/apimachinery/pkg/apis/meta/v1 -h ../../boilerplate.go.txt

// Package openapi exists to hold generated openapi code
package openapi
Loading

0 comments on commit e84f60a

Please sign in to comment.