Skip to content

Commit

Permalink
Introduce bazel / gazelle (#25)
Browse files Browse the repository at this point in the history
* Add WORKSPACE & BUILD.bazel

* Add bazel symlinks to gitignore

* makefile: regenerate bazel as part of depend target

We also delete and regenerate any vendored BUILD BUILD.bazel files,
many go libraries ship BUILD / BUILD.bazel files that aren't valid
under vendoring.

* gazelle: generate BUILD.bazel files
  • Loading branch information
justinsb authored and k8s-ci-robot committed Jul 26, 2018
1 parent 1e6d834 commit b61c8a0
Show file tree
Hide file tree
Showing 525 changed files with 10,014 additions and 254 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Expand Up @@ -12,3 +12,11 @@
*.out

.idea

# bazel files
bazel-bin
bazel-cluster-api-provider-gcp
bazel-genfiles
bazel-out
bazel-testlogs

7 changes: 7 additions & 0 deletions BUILD.bazel
@@ -0,0 +1,7 @@
load("@bazel_gazelle//:def.bzl", "gazelle")

gazelle(
name = "gazelle",
external = "vendored",
prefix = "sigs.k8s.io/cluster-api-provider-gcp",
)
10 changes: 9 additions & 1 deletion Makefile
Expand Up @@ -16,9 +16,17 @@

all: generate build images

.PHONY: depend
depend:
dep version || go get -u github.com/golang/dep/cmd/dep
dep ensure
dep ensure -v

# go libraries often ship BUILD and BUILD.bazel files, but they often don't work.
# We delete them and regenerate them
find vendor -name "BUILD" -delete
find vendor -name "BUILD.bazel" -delete

bazel run //:gazelle

depend-update: work
dep ensure -update
Expand Down
43 changes: 43 additions & 0 deletions WORKSPACE
@@ -0,0 +1,43 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "io_bazel_rules_go",
urls = ["https://github.com/bazelbuild/rules_go/releases/download/0.13.0/rules_go-0.13.0.tar.gz"],
sha256 = "ba79c532ac400cefd1859cbc8a9829346aa69e3b99482cd5a54432092cbc3933",
)
http_archive(
name = "bazel_gazelle",
urls = ["https://github.com/bazelbuild/bazel-gazelle/releases/download/0.13.0/bazel-gazelle-0.13.0.tar.gz"],
sha256 = "bc653d3e058964a5a26dcad02b6c72d7d63e6bb88d94704990b908a1445b8758",
)
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")
go_rules_dependencies()
go_register_toolchains()
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
gazelle_dependencies()



load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "io_bazel_rules_docker",
sha256 = "6dede2c65ce86289969b907f343a1382d33c14fbce5e30dd17bb59bb55bb6593",
strip_prefix = "rules_docker-0.4.0",
urls = ["https://github.com/bazelbuild/rules_docker/archive/v0.4.0.tar.gz"],
)


load(
"@io_bazel_rules_docker//container:container.bzl",
"container_pull",
container_repositories = "repositories",
)

container_repositories()

container_pull(
name = "go_base",
registry = "gcr.io",
repository = "distroless/base",
digest = "sha256:628939ac8bf3f49571d05c6c76b8688cb4a851af6c7088e599388259875bde20",
)

70 changes: 70 additions & 0 deletions cloud/google/BUILD.bazel
@@ -0,0 +1,70 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
srcs = [
"clientcomputeservice.go",
"clusteractuator.go",
"instancestatus.go",
"machineactuator.go",
"metadata.go",
"pods.go",
"serviceaccount.go",
"ssh.go",
],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google",
visibility = ["//visibility:public"],
deps = [
"//cloud/google/clients:go_default_library",
"//cloud/google/clients/errors:go_default_library",
"//cloud/google/config:go_default_library",
"//cloud/google/gceproviderconfig/v1alpha1:go_default_library",
"//cloud/google/machinesetup:go_default_library",
"//vendor/github.com/golang/glog:go_default_library",
"//vendor/golang.org/x/net/context:go_default_library",
"//vendor/golang.org/x/oauth2/google:go_default_library",
"//vendor/google.golang.org/api/compute/v1:go_default_library",
"//vendor/google.golang.org/api/googleapi:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/tools/record:go_default_library",
"//vendor/k8s.io/client-go/util/cert:go_default_library",
"//vendor/k8s.io/client-go/util/cert/triple:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/common:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/cert:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/client/clientset_generated/clientset/typed/cluster/v1alpha1:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/errors:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/kubeadm:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/util:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = [
"clientcomputeservice_test.go",
"clusteractuator_test.go",
"machineactuator_test.go",
],
data = glob(["testdata/**"]),
embed = [":go_default_library"],
deps = [
"//cloud/google/gceproviderconfig/v1alpha1:go_default_library",
"//cloud/google/machinesetup:go_default_library",
"//vendor/google.golang.org/api/compute/v1:go_default_library",
"//vendor/google.golang.org/api/googleapi:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/client-go/tools/record:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/cert:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/cluster:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/kubeadm:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/test-cmd-runner:go_default_library",
],
)
42 changes: 42 additions & 0 deletions cloud/google/clients/BUILD.bazel
@@ -0,0 +1,42 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
srcs = [
"clients.go",
"cloudbilling.go",
"cloudresourcemanagerservice.go",
"computeservice.go",
"servicemanagement.go",
],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/clients",
visibility = ["//visibility:public"],
deps = [
"//vendor/github.com/golang/glog:go_default_library",
"//vendor/golang.org/x/net/context:go_default_library",
"//vendor/golang.org/x/oauth2/google:go_default_library",
"//vendor/google.golang.org/api/cloudbilling/v1:go_default_library",
"//vendor/google.golang.org/api/cloudresourcemanager/v1:go_default_library",
"//vendor/google.golang.org/api/compute/v1:go_default_library",
"//vendor/google.golang.org/api/servicemanagement/v1:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = [
"clients_test.go",
"cloudbilling_test.go",
"cloudresourcemanagerservice_test.go",
"computeservice_test.go",
"servicemanagement_test.go",
],
embed = [":go_default_library"],
deps = [
"//vendor/google.golang.org/api/cloudbilling/v1:go_default_library",
"//vendor/google.golang.org/api/cloudresourcemanager/v1:go_default_library",
"//vendor/google.golang.org/api/compute/v1:go_default_library",
"//vendor/google.golang.org/api/googleapi:go_default_library",
"//vendor/google.golang.org/api/servicemanagement/v1:go_default_library",
],
)
9 changes: 9 additions & 0 deletions cloud/google/clients/errors/BUILD.bazel
@@ -0,0 +1,9 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["errors.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/clients/errors",
visibility = ["//visibility:public"],
deps = ["//vendor/google.golang.org/api/googleapi:go_default_library"],
)
8 changes: 8 additions & 0 deletions cloud/google/config/BUILD.bazel
@@ -0,0 +1,8 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["configtemplate.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/config",
visibility = ["//visibility:public"],
)
18 changes: 18 additions & 0 deletions cloud/google/gceproviderconfig/BUILD.bazel
@@ -0,0 +1,18 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
"types.go",
"zz_generated.deepcopy.go",
],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/gceproviderconfig",
visibility = ["//visibility:public"],
deps = [
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
],
)
21 changes: 21 additions & 0 deletions cloud/google/gceproviderconfig/v1alpha1/BUILD.bazel
@@ -0,0 +1,21 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = [
"doc.go",
"register.go",
"types.go",
"zz_generated.deepcopy.go",
],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/gceproviderconfig/v1alpha1",
visibility = ["//visibility:public"],
deps = [
"//cloud/google/gceproviderconfig:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1:go_default_library",
],
)
23 changes: 23 additions & 0 deletions cloud/google/machinesetup/BUILD.bazel
@@ -0,0 +1,23 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
srcs = ["config_types.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cloud/google/machinesetup",
visibility = ["//visibility:public"],
deps = [
"//cloud/google/gceproviderconfig/v1alpha1:go_default_library",
"//vendor/github.com/ghodss/yaml:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = ["config_types_test.go"],
embed = [":go_default_library"],
deps = [
"//cloud/google/gceproviderconfig/v1alpha1:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1:go_default_library",
],
)
18 changes: 18 additions & 0 deletions clusterctl/BUILD.bazel
@@ -0,0 +1,18 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")

go_library(
name = "go_default_library",
srcs = ["main.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/clusterctl",
visibility = ["//visibility:private"],
deps = [
"//cloud/google:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/clusterctl/cmd:go_default_library",
],
)

go_binary(
name = "clusterctl",
embed = [":go_default_library"],
visibility = ["//visibility:public"],
)
23 changes: 23 additions & 0 deletions cmd/gce-controller/BUILD.bazel
@@ -0,0 +1,23 @@
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")

go_library(
name = "go_default_library",
srcs = ["main.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cmd/gce-controller",
visibility = ["//visibility:private"],
deps = [
"//cmd/gce-controller/cluster-controller-app:go_default_library",
"//cmd/gce-controller/cluster-controller-app/options:go_default_library",
"//cmd/gce-controller/machine-controller-app:go_default_library",
"//cmd/gce-controller/machine-controller-app/options:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/logs:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/config:go_default_library",
],
)

go_binary(
name = "gce-controller",
embed = [":go_default_library"],
visibility = ["//visibility:public"],
)
29 changes: 29 additions & 0 deletions cmd/gce-controller/cluster-controller-app/BUILD.bazel
@@ -0,0 +1,29 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["controller.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cmd/gce-controller/cluster-controller-app",
visibility = ["//visibility:public"],
deps = [
"//cloud/google:go_default_library",
"//cmd/gce-controller/cluster-controller-app/options:go_default_library",
"//vendor/github.com/golang/glog:go_default_library",
"//vendor/github.com/kubernetes-incubator/apiserver-builder/pkg/controller:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/tools/leaderelection:go_default_library",
"//vendor/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
"//vendor/k8s.io/client-go/tools/record:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/client/clientset_generated/clientset:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/cluster:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/config:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/sharedinformers:go_default_library",
],
)
9 changes: 9 additions & 0 deletions cmd/gce-controller/cluster-controller-app/options/BUILD.bazel
@@ -0,0 +1,9 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["options.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cmd/gce-controller/cluster-controller-app/options",
visibility = ["//visibility:public"],
deps = ["//vendor/sigs.k8s.io/cluster-api/pkg/controller/config:go_default_library"],
)
30 changes: 30 additions & 0 deletions cmd/gce-controller/machine-controller-app/BUILD.bazel
@@ -0,0 +1,30 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["controller.go"],
importpath = "sigs.k8s.io/cluster-api-provider-gcp/cmd/gce-controller/machine-controller-app",
visibility = ["//visibility:public"],
deps = [
"//cloud/google:go_default_library",
"//cloud/google/machinesetup:go_default_library",
"//cmd/gce-controller/machine-controller-app/options:go_default_library",
"//vendor/github.com/golang/glog:go_default_library",
"//vendor/github.com/kubernetes-incubator/apiserver-builder/pkg/controller:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
"//vendor/k8s.io/client-go/rest:go_default_library",
"//vendor/k8s.io/client-go/tools/leaderelection:go_default_library",
"//vendor/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
"//vendor/k8s.io/client-go/tools/record:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/client/clientset_generated/clientset:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/client/clientset_generated/clientset/scheme:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/config:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/machine:go_default_library",
"//vendor/sigs.k8s.io/cluster-api/pkg/controller/sharedinformers:go_default_library",
],
)

0 comments on commit b61c8a0

Please sign in to comment.