package(default_visibility = ["//visibility:public"])

licenses(["notice"])

load(
    "@io_bazel_rules_go//go:def.bzl",
    "go_library",
    "go_test",
)

go_library(
    name = "go_default_library",
    srcs = [
        "addon_update.go",
        "apparmor.go",
        "cadvisor.go",
        "cluster_logging_es.go",
        "cluster_logging_es_utils.go",
        "cluster_logging_gcl.go",
        "cluster_logging_gcl_load.go",
        "cluster_logging_gcl_utils.go",
        "cluster_logging_utils.go",
        "cluster_size_autoscaling.go",
        "cluster_upgrade.go",
        "cronjob.go",
        "daemon_restart.go",
        "daemon_set.go",
        "dashboard.go",
        "density.go",
        "deployment.go",
        "disruption.go",
        "dns.go",
        "dns_autoscaling.go",
        "dns_common.go",
        "dns_configmap.go",
        "e2e.go",
        "empty.go",
        "empty_dir_wrapper.go",
        "etcd_failure.go",
        "events.go",
        "example_cluster_dns.go",
        "example_k8petstore.go",
        "examples.go",
        "firewall.go",
        "garbage_collector.go",
        "generated_clientset.go",
        "gke_local_ssd.go",
        "gke_node_pools.go",
        "ha_master.go",
        "horizontal_pod_autoscaling.go",
        "ingress.go",
        "initial_resources.go",
        "job.go",
        "kibana_logging.go",
        "kube_proxy.go",
        "kubectl.go",
        "kubelet.go",
        "kubelet_perf.go",
        "limit_range.go",
        "load.go",
        "logging_soak.go",
        "mesos.go",
        "monitoring.go",
        "namespace.go",
        "network_partition.go",
        "networking.go",
        "networking_perf.go",
        "nodeoutofdisk.go",
        "pd.go",
        "persistent_volumes.go",
        "persistent_volumes-disruptive.go",
        "persistent_volumes-vsphere.go",
        "pod_gc.go",
        "podpreset.go",
        "pods.go",
        "portforward.go",
        "pre_stop.go",
        "proxy.go",
        "pv_reclaimpolicy.go",
        "pvc_label_selector.go",
        "rc.go",
        "reboot.go",
        "replica_set.go",
        "resize_nodes.go",
        "resource_quota.go",
        "restart.go",
        "security_context.go",
        "service.go",
        "service_accounts.go",
        "service_latency.go",
        "serviceloadbalancers.go",
        "ssh.go",
        "statefulset.go",
        "third-party.go",
        "ubernetes_lite.go",
        "util_iperf.go",
        "volume_provisioning.go",
        "volumes.go",
        "vsphere_utils.go",
        "vsphere_volume_diskformat.go",
        "vsphere_volume_placement.go",
    ],
    tags = ["automanaged"],
    deps = [
        "//federation/apis/federation/v1beta1:go_default_library",
        "//pkg/api:go_default_library",
        "//pkg/api/annotations:go_default_library",
        "//pkg/api/v1:go_default_library",
        "//pkg/api/v1/pod:go_default_library",
        "//pkg/api/v1/service:go_default_library",
        "//pkg/apis/apps/v1beta1:go_default_library",
        "//pkg/apis/batch:go_default_library",
        "//pkg/apis/batch/v1:go_default_library",
        "//pkg/apis/batch/v2alpha1:go_default_library",
        "//pkg/apis/extensions:go_default_library",
        "//pkg/apis/extensions/v1beta1:go_default_library",
        "//pkg/apis/rbac/v1beta1:go_default_library",
        "//pkg/apis/settings/v1alpha1:go_default_library",
        "//pkg/apis/storage/v1:go_default_library",
        "//pkg/apis/storage/v1/util:go_default_library",
        "//pkg/apis/storage/v1beta1:go_default_library",
        "//pkg/client/clientset_generated/clientset:go_default_library",
        "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library",
        "//pkg/client/clientset_generated/clientset/typed/extensions/v1beta1:go_default_library",
        "//pkg/client/clientset_generated/internalclientset:go_default_library",
        "//pkg/cloudprovider:go_default_library",
        "//pkg/cloudprovider/providers/aws:go_default_library",
        "//pkg/cloudprovider/providers/gce:go_default_library",
        "//pkg/cloudprovider/providers/vsphere:go_default_library",
        "//pkg/controller:go_default_library",
        "//pkg/controller/daemon:go_default_library",
        "//pkg/controller/deployment/util:go_default_library",
        "//pkg/controller/endpoint:go_default_library",
        "//pkg/controller/job:go_default_library",
        "//pkg/controller/node:go_default_library",
        "//pkg/controller/replicaset:go_default_library",
        "//pkg/controller/replication:go_default_library",
        "//pkg/kubectl:go_default_library",
        "//pkg/kubectl/cmd/util:go_default_library",
        "//pkg/kubelet/api/v1alpha1/stats:go_default_library",
        "//pkg/kubelet/pod:go_default_library",
        "//pkg/master/ports:go_default_library",
        "//pkg/metrics:go_default_library",
        "//pkg/quota/evaluator/core:go_default_library",
        "//pkg/util:go_default_library",
        "//pkg/util/exec:go_default_library",
        "//pkg/util/logs:go_default_library",
        "//pkg/util/version:go_default_library",
        "//pkg/volume/util/volumehelper:go_default_library",
        "//plugin/pkg/admission/serviceaccount:go_default_library",
        "//plugin/pkg/scheduler/schedulercache:go_default_library",
        "//test/e2e/chaosmonkey:go_default_library",
        "//test/e2e/common:go_default_library",
        "//test/e2e/framework:go_default_library",
        "//test/e2e/generated:go_default_library",
        "//test/e2e/scheduling:go_default_library",
        "//test/e2e/upgrades:go_default_library",
        "//test/e2e_federation:go_default_library",
        "//test/images/net/nat:go_default_library",
        "//test/utils:go_default_library",
        "//vendor:github.com/aws/aws-sdk-go/aws",
        "//vendor:github.com/aws/aws-sdk-go/aws/session",
        "//vendor:github.com/aws/aws-sdk-go/service/autoscaling",
        "//vendor:github.com/aws/aws-sdk-go/service/ec2",
        "//vendor:github.com/elazarl/goproxy",
        "//vendor:github.com/ghodss/yaml",
        "//vendor:github.com/golang/glog",
        "//vendor:github.com/google/cadvisor/info/v1",
        "//vendor:github.com/influxdata/influxdb/client/v2",
        "//vendor:github.com/onsi/ginkgo",
        "//vendor:github.com/onsi/ginkgo/config",
        "//vendor:github.com/onsi/ginkgo/reporters",
        "//vendor:github.com/onsi/gomega",
        "//vendor:github.com/vmware/govmomi/find",
        "//vendor:github.com/vmware/govmomi/vim25/types",
        "//vendor:golang.org/x/crypto/ssh",
        "//vendor:golang.org/x/net/context",
        "//vendor:golang.org/x/net/websocket",
        "//vendor:golang.org/x/oauth2/google",
        "//vendor:google.golang.org/api/googleapi",
        "//vendor:google.golang.org/api/logging/v2beta1",
        "//vendor:k8s.io/apimachinery/pkg/api/errors",
        "//vendor:k8s.io/apimachinery/pkg/api/resource",
        "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
        "//vendor:k8s.io/apimachinery/pkg/fields",
        "//vendor:k8s.io/apimachinery/pkg/labels",
        "//vendor:k8s.io/apimachinery/pkg/runtime",
        "//vendor:k8s.io/apimachinery/pkg/runtime/schema",
        "//vendor:k8s.io/apimachinery/pkg/types",
        "//vendor:k8s.io/apimachinery/pkg/util/intstr",
        "//vendor:k8s.io/apimachinery/pkg/util/net",
        "//vendor:k8s.io/apimachinery/pkg/util/runtime",
        "//vendor:k8s.io/apimachinery/pkg/util/sets",
        "//vendor:k8s.io/apimachinery/pkg/util/uuid",
        "//vendor:k8s.io/apimachinery/pkg/util/wait",
        "//vendor:k8s.io/apimachinery/pkg/util/yaml",
        "//vendor:k8s.io/apimachinery/pkg/watch",
        "//vendor:k8s.io/apiserver/pkg/authentication/serviceaccount",
        "//vendor:k8s.io/apiserver/pkg/registry/generic/registry",
        "//vendor:k8s.io/client-go/discovery",
        "//vendor:k8s.io/client-go/kubernetes",
        "//vendor:k8s.io/client-go/pkg/api/v1",
        "//vendor:k8s.io/client-go/pkg/apis/extensions/v1beta1",
        "//vendor:k8s.io/client-go/pkg/apis/policy/v1beta1",
        "//vendor:k8s.io/client-go/rest",
        "//vendor:k8s.io/client-go/tools/cache",
        "//vendor:k8s.io/client-go/transport",
        "//vendor:k8s.io/client-go/util/flowcontrol",
        "//vendor:k8s.io/client-go/util/integer",
        "//vendor:k8s.io/client-go/util/workqueue",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "e2e_test.go",
        "metrics_grabber_test.go",
        "taints_test.go",
    ],
    library = ":go_default_library",
    tags = [
        "automanaged",
        "integration",
    ],
    deps = [
        "//pkg/api/v1:go_default_library",
        "//pkg/client/clientset_generated/clientset:go_default_library",
        "//pkg/metrics:go_default_library",
        "//test/e2e/framework:go_default_library",
        "//test/e2e/scheduling:go_default_library",
        "//test/utils:go_default_library",
        "//vendor:github.com/onsi/ginkgo",
        "//vendor:github.com/onsi/gomega",
        "//vendor:github.com/stretchr/testify/assert",
        "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
        "//vendor:k8s.io/apimachinery/pkg/fields",
        "//vendor:k8s.io/apimachinery/pkg/runtime",
        "//vendor:k8s.io/apimachinery/pkg/watch",
        "//vendor:k8s.io/client-go/tools/cache",
    ],
)

genrule(
    name = "gen_e2e.test",
    testonly = 1,
    srcs = [":go_default_test"],
    outs = ["e2e.test"],
    cmd = "srcs=($(SRCS)); cp $$(dirname $${srcs[0]})/go_default_test $@;",
    output_to_bindir = 1,
)

filegroup(
    name = "package-srcs",
    srcs = glob(["**"]),
    tags = ["automanaged"],
    visibility = ["//visibility:private"],
)

filegroup(
    name = "all-srcs",
    srcs = [
        ":package-srcs",
        "//test/e2e/chaosmonkey:all-srcs",
        "//test/e2e/common:all-srcs",
        "//test/e2e/framework:all-srcs",
        "//test/e2e/generated:all-srcs",
        "//test/e2e/perftype:all-srcs",
        "//test/e2e/scheduling:all-srcs",
        "//test/e2e/testing-manifests:all-srcs",
        "//test/e2e/upgrades:all-srcs",
    ],
    tags = ["automanaged"],
)
