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

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

go_library(
    name = "go_default_library",
    srcs = [
        "container.go",
        "device_plugin.go",
        "doc.go",
        "docker_util.go",
        "framework.go",
        "gpu_device_plugin.go",
        "image_list.go",
        "util.go",
    ] + select({
        "@io_bazel_rules_go//go/platform:linux": [
            "benchmark_util.go",
            "node_problem_detector_linux.go",
            "resource_collector.go",
        ],
        "//conditions:default": [],
    }),
    importpath = "k8s.io/kubernetes/test/e2e_node",
    visibility = ["//visibility:public"],
    deps = [
        "//pkg/api/v1/pod:go_default_library",
        "//pkg/features:go_default_library",
        "//pkg/kubelet/apis/cri:go_default_library",
        "//pkg/kubelet/apis/cri/runtime/v1alpha2:go_default_library",
        "//pkg/kubelet/apis/deviceplugin/v1beta1:go_default_library",
        "//pkg/kubelet/apis/kubeletconfig:go_default_library",
        "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
        "//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
        "//pkg/kubelet/cm:go_default_library",
        "//pkg/kubelet/cm/devicemanager:go_default_library",
        "//pkg/kubelet/kubeletconfig/util/codec:go_default_library",
        "//pkg/kubelet/metrics:go_default_library",
        "//pkg/kubelet/remote:go_default_library",
        "//test/e2e/common:go_default_library",
        "//test/e2e/framework:go_default_library",
        "//test/e2e/framework/metrics:go_default_library",
        "//test/utils/image:go_default_library",
        "//vendor/github.com/blang/semver:go_default_library",
        "//vendor/github.com/coreos/go-systemd/util:go_default_library",
        "//vendor/github.com/docker/docker/api/types:go_default_library",
        "//vendor/github.com/docker/docker/client:go_default_library",
        "//vendor/github.com/golang/glog:go_default_library",
        "//vendor/github.com/onsi/ginkgo:go_default_library",
        "//vendor/github.com/onsi/gomega:go_default_library",
        "//vendor/github.com/prometheus/common/model:go_default_library",
        "//vendor/k8s.io/api/core/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
        "//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
    ] + select({
        "@io_bazel_rules_go//go/platform:linux": [
            "//pkg/api/v1/node:go_default_library",
            "//pkg/util/procfs:go_default_library",
            "//test/e2e/perftype:go_default_library",
            "//test/e2e_node/perftype:go_default_library",
            "//vendor/github.com/google/cadvisor/client/v2:go_default_library",
            "//vendor/github.com/google/cadvisor/info/v2:go_default_library",
            "//vendor/github.com/opencontainers/runc/libcontainer/cgroups:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
            "//vendor/k8s.io/client-go/kubernetes:go_default_library",
            "//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
        ],
        "//conditions:default": [],
    }),
)

go_test(
    name = "go_default_test",
    srcs = [
        "apparmor_test.go",
        "container_log_rotation_test.go",
        "cpu_manager_test.go",
        "critical_pod_test.go",
        "docker_test.go",
        "dockershim_checkpoint_test.go",
        "dynamic_kubelet_config_test.go",
        "eviction_test.go",
        "garbage_collector_test.go",
        "gke_environment_test.go",
        "hugepages_test.go",
        "image_id_test.go",
        "kubelet_test.go",
        "lifecycle_hook_test.go",
        "log_path_test.go",
        "mirror_pod_test.go",
        "pods_container_manager_test.go",
        "runtime_conformance_test.go",
        "security_context_test.go",
        "summary_test.go",
        "volume_manager_test.go",
    ] + select({
        "@io_bazel_rules_go//go/platform:linux": [
            "container_manager_test.go",
            "density_test.go",
            "e2e_node_suite_test.go",
            "node_container_manager_test.go",
            "resource_usage_test.go",
            "restart_test.go",
        ],
        "//conditions:default": [],
    }),
    embed = [":go_default_library"],
    tags = ["e2e"],
    deps = [
        "//pkg/api/v1/node:go_default_library",
        "//pkg/apis/core:go_default_library",
        "//pkg/features:go_default_library",
        "//pkg/kubelet:go_default_library",
        "//pkg/kubelet/apis/cri:go_default_library",
        "//pkg/kubelet/apis/cri/runtime/v1alpha2:go_default_library",
        "//pkg/kubelet/apis/kubeletconfig:go_default_library",
        "//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
        "//pkg/kubelet/cm:go_default_library",
        "//pkg/kubelet/cm/cpumanager:go_default_library",
        "//pkg/kubelet/cm/cpuset:go_default_library",
        "//pkg/kubelet/container:go_default_library",
        "//pkg/kubelet/eviction:go_default_library",
        "//pkg/kubelet/images:go_default_library",
        "//pkg/kubelet/kubeletconfig:go_default_library",
        "//pkg/kubelet/kubeletconfig/status:go_default_library",
        "//pkg/kubelet/logs:go_default_library",
        "//pkg/kubelet/metrics:go_default_library",
        "//pkg/kubelet/types:go_default_library",
        "//pkg/security/apparmor:go_default_library",
        "//test/e2e/framework:go_default_library",
        "//test/e2e/framework/metrics:go_default_library",
        "//test/e2e_node/services:go_default_library",
        "//test/utils/image:go_default_library",
        "//vendor/github.com/blang/semver:go_default_library",
        "//vendor/github.com/coreos/go-systemd/util:go_default_library",
        "//vendor/github.com/davecgh/go-spew/spew:go_default_library",
        "//vendor/github.com/golang/glog:go_default_library",
        "//vendor/github.com/onsi/ginkgo:go_default_library",
        "//vendor/github.com/onsi/gomega:go_default_library",
        "//vendor/github.com/onsi/gomega/gstruct:go_default_library",
        "//vendor/github.com/onsi/gomega/types:go_default_library",
        "//vendor/github.com/prometheus/common/model:go_default_library",
        "//vendor/k8s.io/api/core/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
        "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library",
        "//vendor/k8s.io/apiserver/pkg/util/feature:go_default_library",
        "//vendor/k8s.io/client-go/kubernetes:go_default_library",
    ] + select({
        "@io_bazel_rules_go//go/platform:linux": [
            "//test/e2e/common:go_default_library",
            "//test/e2e_node/system:go_default_library",
            "//test/utils:go_default_library",
            "//vendor/github.com/kardianos/osext:go_default_library",
            "//vendor/github.com/onsi/ginkgo/config:go_default_library",
            "//vendor/github.com/onsi/ginkgo/reporters:go_default_library",
            "//vendor/github.com/spf13/pflag:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
            "//vendor/k8s.io/apimachinery/pkg/util/yaml:go_default_library",
            "//vendor/k8s.io/client-go/tools/cache:go_default_library",
        ],
        "//conditions:default": [],
    }),
)

genrule(
    name = "gen_e2e_node.test",
    testonly = 1,
    srcs = [":go_default_test"],
    outs = ["e2e_node.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_node/builder:all-srcs",
        "//test/e2e_node/environment:all-srcs",
        "//test/e2e_node/perftype:all-srcs",
        "//test/e2e_node/remote:all-srcs",
        "//test/e2e_node/runner/local:all-srcs",
        "//test/e2e_node/runner/remote:all-srcs",
        "//test/e2e_node/services:all-srcs",
        "//test/e2e_node/system:all-srcs",
    ],
    tags = ["automanaged"],
    visibility = ["//visibility:public"],
)
