mirror of
https://github.com/kubernetes-sigs/kind.git
synced 2025-11-30 23:16:04 +07:00
refactor kind cli package layout
This commit is contained in:
37
BUILD.bazel
Normal file
37
BUILD.bazel
Normal file
@@ -0,0 +1,37 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["main.go"],
|
||||
importpath = "k8s.io/test-infra/kind",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = ["//kind/cmd/kind:go_default_library"],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
name = "kind",
|
||||
embed = [":go_default_library"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [
|
||||
":package-srcs",
|
||||
"//kind/cmd/kind:all-srcs",
|
||||
"//kind/hack:all-srcs",
|
||||
"//kind/images:all-srcs",
|
||||
"//kind/pkg/build:all-srcs",
|
||||
"//kind/pkg/cluster:all-srcs",
|
||||
"//kind/pkg/exec:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
@@ -18,7 +18,7 @@ For more details see [the design documentation](./docs/design.md).
|
||||
|
||||
## Building
|
||||
|
||||
You can build `kind` with `go install k8s.io/test-infra/kind/cmd/kind` or `bazel build //kind/cmd/kind`.
|
||||
You can install `kind` with `go install k8s.io/test-infra/kind`.
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["main.go"],
|
||||
srcs = ["kind.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind",
|
||||
visibility = ["//visibility:private"],
|
||||
deps = ["//kind/cmd/kind/cmd:go_default_library"],
|
||||
)
|
||||
|
||||
go_binary(
|
||||
name = "kind",
|
||||
embed = [":go_default_library"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/cmd/kind/build:go_default_library",
|
||||
"//kind/cmd/kind/create:go_default_library",
|
||||
"//kind/cmd/kind/delete:go_default_library",
|
||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
@@ -25,7 +24,9 @@ filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [
|
||||
":package-srcs",
|
||||
"//kind/cmd/kind/cmd:all-srcs",
|
||||
"//kind/cmd/kind/build:all-srcs",
|
||||
"//kind/cmd/kind/create:all-srcs",
|
||||
"//kind/cmd/kind/delete:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
||||
@@ -3,11 +3,11 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["build.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd/build",
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/build",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/cmd/kind/cmd/build/base:go_default_library",
|
||||
"//kind/cmd/kind/cmd/build/node:go_default_library",
|
||||
"//kind/cmd/kind/build/base:go_default_library",
|
||||
"//kind/cmd/kind/build/node:go_default_library",
|
||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||
],
|
||||
)
|
||||
@@ -23,8 +23,8 @@ filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [
|
||||
":package-srcs",
|
||||
"//kind/cmd/kind/cmd/build/base:all-srcs",
|
||||
"//kind/cmd/kind/cmd/build/node:all-srcs",
|
||||
"//kind/cmd/kind/build/base:all-srcs",
|
||||
"//kind/cmd/kind/build/node:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
@@ -3,7 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["base.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd/build/base",
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/build/base",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/pkg/build:go_default_library",
|
||||
@@ -20,8 +20,8 @@ package build
|
||||
import (
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd/build/base"
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd/build/node"
|
||||
"k8s.io/test-infra/kind/cmd/kind/build/base"
|
||||
"k8s.io/test-infra/kind/cmd/kind/build/node"
|
||||
)
|
||||
|
||||
// NewCommand returns a new cobra.Command for building
|
||||
@@ -3,7 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["node.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd/build/node",
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/build/node",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/pkg/build:go_default_library",
|
||||
@@ -1,33 +0,0 @@
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["root.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/cmd/kind/cmd/build:go_default_library",
|
||||
"//kind/cmd/kind/cmd/create:go_default_library",
|
||||
"//kind/cmd/kind/cmd/delete:go_default_library",
|
||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [
|
||||
":package-srcs",
|
||||
"//kind/cmd/kind/cmd/build:all-srcs",
|
||||
"//kind/cmd/kind/cmd/create:all-srcs",
|
||||
"//kind/cmd/kind/cmd/delete:all-srcs",
|
||||
],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
@@ -3,7 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["create.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd/create",
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/create",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/pkg/cluster:go_default_library",
|
||||
@@ -3,7 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["delete.go"],
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/cmd/delete",
|
||||
importpath = "k8s.io/test-infra/kind/cmd/kind/delete",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//kind/pkg/cluster:go_default_library",
|
||||
@@ -14,17 +14,19 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Package cmd implements the kidna cobra command CLI
|
||||
package cmd
|
||||
// Package kind implements the root kind cobra command, and the cli Main()
|
||||
package kind
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd/build"
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd/create"
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd/delete"
|
||||
"k8s.io/test-infra/kind/cmd/kind/build"
|
||||
"k8s.io/test-infra/kind/cmd/kind/create"
|
||||
"k8s.io/test-infra/kind/cmd/kind/delete"
|
||||
)
|
||||
|
||||
// NewCommand returns a new cobra.Command implementing the root command for kind
|
||||
@@ -55,3 +57,11 @@ func Run() error {
|
||||
// actually execute the cobra commands now...
|
||||
return cmd.Execute()
|
||||
}
|
||||
|
||||
// Main wraps Run, adding an Exit(1) on error
|
||||
func Main() {
|
||||
if err := Run(); err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
@@ -14,19 +14,13 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// This package is a stub main wrapping cmd.Run()
|
||||
// This package is a stub main wrapping kind.Main()
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"k8s.io/test-infra/kind/cmd/kind/cmd"
|
||||
"k8s.io/test-infra/kind/cmd/kind"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if err := cmd.Run(); err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
kind.Main()
|
||||
}
|
||||
Reference in New Issue
Block a user