Skip to content

Commit

Permalink
Merge pull request #190 from pwittrock/simplify
Browse files Browse the repository at this point in the history
Rebase libraries on top of Kubernetes 1.8
  • Loading branch information
Phillip Wittrock authored Oct 26, 2017
2 parents 923c760 + bc56f09 commit 3a66238
Show file tree
Hide file tree
Showing 33,599 changed files with 5,212,957 additions and 1,823,834 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
28 changes: 11 additions & 17 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar", "pkg_deb")
# gazelle:proto disable
load("@io_bazel_rules_go//go:def.bzl", "gazelle")

pkg_tar(
name = "apiserver-builder",
extension = "tar.gz",
package_dir = "apiserver-builder",
srcs = [
"//cmd/apiregister-gen",
"//cmd/apiserver-boot",
"//cmd/vendor/github.com/kubernetes-incubator/reference-docs/gen-apidocs",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/conversion-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/deepcopy-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/defaulter-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/informer-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/lister-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/openapi-gen",
gazelle(
name = "gazelle",
command = "fix",
prefix = "github.com/kubernetes-incubator/apiserver-builder",
external = "vendored",
args = [
"-build_file_name",
"BUILD,BUILD.bazel",
],
mode = "0755",
)

11 changes: 11 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@
# from cmd/
# bash -c "find vendor/github.com/kubernetes-incubator/apiserver-builder -name BUILD.bazel| xargs sed -i='' s'|//pkg|//vendor/github.com/kubernetes-incubator/apiserver-builder/pkg|g'"

# from /

gazelle:
find vendor -name BUILD | xargs rm
find vendor -name BUILD.bazel | xargs rm
gazelle update -go_prefix github.com/pwittrock/testing -external vendored .
bash -c "find vendor/ -name BUILD.bazel | xargs sed -i '' s'|//k8s.io/|//vendor/k8s.io/|g'"
bash -c "find vendor/ -name BUILD | xargs sed -i '' s'|//k8s.io/|//vendor/k8s.io/|g'"
bash -c "find vendor/ -name BUILD.bazel | xargs sed -i '' s'|cgo = True,|cgo = False,|g'"
bash -c "find vendor/ -name BUILD | xargs sed -i '' s'|cgo = True,|cgo = False,|g'"

NAME=apiserver-builder
VENDOR=kubernetes-incubator
VERSION=$(shell cat VERSION)
Expand Down
12 changes: 8 additions & 4 deletions WORKSPACE
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
http_archive(
name = "io_bazel_rules_go",
url = "https://github.com/bazelbuild/rules_go/releases/download/0.5.5/rules_go-0.5.5.tar.gz",
sha256 = "ca58b0b856dc95473b93f2228ab117913b82a6617fc0deabd107346e3981522a",
url = "https://github.com/bazelbuild/rules_go/releases/download/0.6.0/rules_go-0.6.0.tar.gz",
sha256 = "ba6feabc94a5d205013e70792accb6cce989169476668fbaf98ea9b342e13b59",
)
load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
go_rules_dependencies()
go_register_toolchains()

load("@io_bazel_rules_go//proto:def.bzl", "proto_register_toolchains")
proto_register_toolchains()

go_repositories()
34 changes: 23 additions & 11 deletions cmd/apiregister-gen/generators/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,9 @@ type Struct struct {
// Name is the name of the type
Name string
// GenClient
GenClient bool
GenDeepCopy bool
GenClient bool
GenDeepCopy bool
NonNamespaced bool

GenUnversioned bool
// Fields is the list of fields appearing in the struct
Expand Down Expand Up @@ -566,16 +567,21 @@ func (b *APIsBuilder) ParseDomain() {
}
}

type GenUnversionedType struct {
Type *types.Type
Resource *APIResource
}

func (b *APIsBuilder) ParseStructs(apigroup *APIGroup) {
remaining := []*types.Type{}
remaining := []GenUnversionedType{}
for _, version := range apigroup.Versions {
for _, resource := range version.Resources {
remaining = append(remaining, resource.Type)
remaining = append(remaining, GenUnversionedType{resource.Type, resource})
}
}
for _, version := range b.SubByGroupVersionKind[apigroup.Group] {
for _, kind := range version {
remaining = append(remaining, kind)
remaining = append(remaining, GenUnversionedType{kind, nil})
}
}

Expand All @@ -587,27 +593,33 @@ func (b *APIsBuilder) ParseStructs(apigroup *APIGroup) {
remaining = remaining[:len(remaining)-1]

// Already processed this type. Skip it
if done.Has(next.Name.Name) {
if done.Has(next.Type.Name.Name) {
continue
}
done.Insert(next.Name.Name)
done.Insert(next.Type.Name.Name)

// Generate the struct and append to the list
result, additionalTypes := apigroup.DoType(next)
result, additionalTypes := apigroup.DoType(next.Type)

// This is a resource, so generate the client
if b.GenClient(next) {
if b.GenClient(next.Type) {
result.GenClient = true
result.GenDeepCopy = true
}

if b.GenDeepCopy(next) {
if next.Resource != nil {
result.NonNamespaced = IsNonNamespaced(next.Type)
}

if b.GenDeepCopy(next.Type) {
result.GenDeepCopy = true
}
apigroup.Structs = append(apigroup.Structs, result)

// Add the newly discovered subtypes
remaining = append(remaining, additionalTypes...)
for _, at := range additionalTypes {
remaining = append(remaining, GenUnversionedType{at, nil})
}
}
}

Expand Down
3 changes: 2 additions & 1 deletion cmd/apiregister-gen/generators/unversioned_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@ func Resource(resource string) schema.GroupResource {
{{ range $s := .Structs -}}
{{ if $s.GenUnversioned -}}
{{ if $s.GenClient }}// +genclient=true{{end}}
{{ if $s.GenClient }}// +genclient{{end}}
{{ if $s.GenClient }}// +genclient{{ if $s.NonNamespaced }}:nonNamespaced{{end}}{{end}}
{{ if $s.GenDeepCopy }}// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object{{end}}
type {{ $s.Name }} struct {
Expand Down
19 changes: 12 additions & 7 deletions cmd/apiregister-gen/generators/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,19 @@ func IsNonNamespaced(t *types.Type) bool {
return false
}

// here we check only SecondClosestCommentLines in order to reuse
// the lister-gen's +nonNamespaced tag
v, err := types.ExtractSingleBoolCommentTag("+", "nonNamespaced",
false, t.SecondClosestCommentLines)
if err != nil {
panic(errors.Errorf("Cannot get value for nonNamespaced tag: %v", err))
for _, c := range t.CommentLines {
if strings.Contains(c, "+genclient:nonNamespaced") {
return true
}
}
return v

for _, c := range t.SecondClosestCommentLines {
if strings.Contains(c, "+genclient:nonNamespaced") {
return true
}
}

return false
}

func IsController(t *types.Type) bool {
Expand Down
4 changes: 1 addition & 3 deletions cmd/apiserver-boot/boot/build/build_executables.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import (
"path/filepath"
"strings"

"github.com/kubernetes-incubator/apiserver-builder/cmd/apiserver-boot/boot/util"
"github.com/spf13/cobra"
)

Expand Down Expand Up @@ -86,8 +85,7 @@ func BazelBuild(cmd *cobra.Command, args []string) {
}

if Gazelle {
c := exec.Command("gazelle", "update",
"-go_prefix", util.Repo, "-external", "vendored", "pkg", "cmd")
c := exec.Command("bazel", "run", "//:gazelle")
fmt.Printf("%s\n", strings.Join(c.Args, " "))
c.Stderr = os.Stderr
c.Stdout = os.Stdout
Expand Down
5 changes: 3 additions & 2 deletions cmd/apiserver-boot/boot/create/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,11 @@ import (
"{{ .Repo }}/pkg/apis/{{.Group}}"
)
// +genclient=true
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
{{- if .NonNamespacedKind }}
// +nonNamespaced=true{{ end }}
// +genclient:nonNamespaced
{{ end }}
// {{.Kind}}
// +k8s:openapi-gen=true
Expand Down
2 changes: 1 addition & 1 deletion cmd/apiserver-boot/boot/create/subresource.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ import (
"{{ .Repo }}/pkg/apis/{{ .Group }}"
)
// +genclient=true
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +subresource-request
Expand Down
35 changes: 31 additions & 4 deletions cmd/apiserver-boot/boot/init_repo/repo.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ func createBazelWorkspace() {
}
path := filepath.Join(dir, "WORKSPACE")
util.WriteIfNotFound(path, "bazel-workspace-template", workspaceTemplate, nil)
path = filepath.Join(dir, "BUILD.bazel")
util.WriteIfNotFound(path, "bazel-build-template",
buildTemplate, buildTemplateArguments{util.Repo})
}

type controllerManagerTemplateArguments struct {
Expand Down Expand Up @@ -235,10 +238,34 @@ package apis
var workspaceTemplate = `
http_archive(
name = "io_bazel_rules_go",
url = "https://github.com/bazelbuild/rules_go/releases/download/0.5.5/rules_go-0.5.5.tar.gz",
sha256 = "ca58b0b856dc95473b93f2228ab117913b82a6617fc0deabd107346e3981522a",
url = "https://github.com/bazelbuild/rules_go/releases/download/0.6.0/rules_go-0.6.0.tar.gz",
sha256 = "ba6feabc94a5d205013e70792accb6cce989169476668fbaf98ea9b342e13b59",
)
load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
go_rules_dependencies()
go_register_toolchains()
go_repositories()
load("@io_bazel_rules_go//proto:def.bzl", "proto_register_toolchains")
proto_register_toolchains()
`

type buildTemplateArguments struct {
Repo string
}

var buildTemplate = `
# gazelle:proto disable
# gazelle:exclude vendor
load("@io_bazel_rules_go//go:def.bzl", "gazelle")
gazelle(
name = "gazelle",
command = "fix",
prefix = "{{.Repo}}",
external = "vendored",
args = [
"-build_file_name",
"BUILD,BUILD.bazel",
],
)
`
35 changes: 19 additions & 16 deletions cmd/apiserver-builder-release/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func main() {

vendorCmd.Flags().StringVar(&commit, "commit", "", "apiserver-builder commit")
vendorCmd.Flags().StringVar(&version, "version", "", "version name")
vendorCmd.Flags().StringVar(&kubernetesVersion, "kubernetesVersion", "1.7.5", "version of kubernetes libs")
vendorCmd.Flags().StringVar(&kubernetesVersion, "kubernetesVersion", "1.8.1", "version of kubernetes libs")
vendorCmd.Flags().StringVar(&cachevendordir, "vendordir", "",
"if specified, use this directory for setting up vendor instead of creating a tmp directory.")
vendorCmd.Flags().BoolVar(&userLocalVendor, "use-local-vendor", true, "if true, run use the local vendored code")
Expand Down Expand Up @@ -175,13 +175,13 @@ func RunBuild(cmd *cobra.Command, args []string) {
"//cmd/apiregister-gen",
"//cmd/apiserver-boot",
"//cmd/vendor/github.com/kubernetes-incubator/reference-docs/gen-apidocs",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/client-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/conversion-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/deepcopy-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/defaulter-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/informer-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/lister-gen",
"//cmd/vendor/k8s.io/kubernetes/cmd/libs/go2idl/openapi-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/client-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/conversion-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/deepcopy-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/defaulter-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/informer-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/lister-gen",
"//cmd/vendor/k8s.io/code-generator/cmd/openapi-gen",
}...)
PackageTar("", "", dir, vendor)
}
Expand Down Expand Up @@ -282,13 +282,16 @@ func Build(input, output, goos, goarch string) {

var VendoredBuildPackages = []string{
"github.com/kubernetes-incubator/reference-docs/gen-apidocs",
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/conversion-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/deepcopy-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/defaulter-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/informer-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/lister-gen",
"k8s.io/kubernetes/cmd/libs/go2idl/openapi-gen",
"k8s.io/code-generator/cmd/client-gen",
"k8s.io/code-generator/cmd/conversion-gen",
"k8s.io/code-generator/cmd/deepcopy-gen",
"k8s.io/code-generator/cmd/defaulter-gen",
//"k8s.io/code-generator/cmd/go-to-protobuf",
//"k8s.io/code-generator/cmd/import-boss",
"k8s.io/code-generator/cmd/informer-gen",
"k8s.io/code-generator/cmd/lister-gen",
"k8s.io/code-generator/cmd/openapi-gen",
//"k8s.io/code-generator/cmd/set-gen",
}

var OwnedBuildPackages = []string{
Expand Down Expand Up @@ -316,7 +319,7 @@ func BuildVendorTar(dir string) {
srcdir := filepath.Join(dir)
filepath.Walk(srcdir, TarFile{
tw,
0555,
0644,
filepath.Join(srcdir, "src"),
"",
}.Do)
Expand Down
Loading

0 comments on commit 3a66238

Please sign in to comment.