From 8b2130343e71458cf312f99a2a2e09f65b7549d4 Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Thu, 17 Oct 2019 13:22:46 -0700 Subject: [PATCH] Moves tableprinter.go and tabwriter.go to cli-runtime/pkg/printers. Copies PrintOptions to cli-runtime/pkg/printers. --- pkg/kubectl/cmd/get/BUILD | 1 - pkg/kubectl/cmd/get/get.go | 5 ++-- pkg/kubectl/cmd/get/humanreadable_flags.go | 2 +- pkg/printers/BUILD | 26 +------------------ pkg/printers/interface.go | 17 ------------ .../src/k8s.io/cli-runtime/pkg/printers/BUILD | 10 +++++++ .../cli-runtime/pkg/printers/interface.go | 17 ++++++++++++ .../cli-runtime/pkg}/printers/tableprinter.go | 0 .../pkg}/printers/tableprinter_test.go | 0 .../cli-runtime/pkg}/printers/tabwriter.go | 0 10 files changed, 31 insertions(+), 47 deletions(-) rename {pkg => staging/src/k8s.io/cli-runtime/pkg}/printers/tableprinter.go (100%) rename {pkg => staging/src/k8s.io/cli-runtime/pkg}/printers/tableprinter_test.go (100%) rename {pkg => staging/src/k8s.io/cli-runtime/pkg}/printers/tabwriter.go (100%) diff --git a/pkg/kubectl/cmd/get/BUILD b/pkg/kubectl/cmd/get/BUILD index 80f39d71715..43d27778bb0 100644 --- a/pkg/kubectl/cmd/get/BUILD +++ b/pkg/kubectl/cmd/get/BUILD @@ -29,7 +29,6 @@ go_library( importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/get", visibility = ["//visibility:public"], deps = [ - "//pkg/printers:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", diff --git a/pkg/kubectl/cmd/get/get.go b/pkg/kubectl/cmd/get/get.go index 40cfacb8827..73bf54404f9 100644 --- a/pkg/kubectl/cmd/get/get.go +++ b/pkg/kubectl/cmd/get/get.go @@ -45,7 +45,6 @@ import ( "k8s.io/kubectl/pkg/rawhttp" "k8s.io/kubectl/pkg/util/i18n" "k8s.io/kubectl/pkg/util/interrupt" - utilprinters "k8s.io/kubectl/pkg/util/printers" "k8s.io/kubectl/pkg/util/templates" utilpointer "k8s.io/utils/pointer" ) @@ -523,7 +522,7 @@ func (o *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e // output an empty line separating output separatorWriter := &separatorWriterWrapper{Delegate: trackingWriter} - w := utilprinters.GetNewTabWriter(separatorWriter) + w := printers.GetNewTabWriter(separatorWriter) for ix := range objs { var mapping *meta.RESTMapping var info *resource.Info @@ -670,7 +669,7 @@ func (o *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []string) } } - writer := utilprinters.GetNewTabWriter(o.Out) + writer := printers.GetNewTabWriter(o.Out) // print the current object var objsToPrint []runtime.Object diff --git a/pkg/kubectl/cmd/get/humanreadable_flags.go b/pkg/kubectl/cmd/get/humanreadable_flags.go index 7eb73530862..5fcf34d8cc0 100644 --- a/pkg/kubectl/cmd/get/humanreadable_flags.go +++ b/pkg/kubectl/cmd/get/humanreadable_flags.go @@ -21,7 +21,7 @@ import ( "k8s.io/cli-runtime/pkg/genericclioptions" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/kubernetes/pkg/printers" + "k8s.io/cli-runtime/pkg/printers" ) // HumanPrintFlags provides default flags necessary for printing. diff --git a/pkg/printers/BUILD b/pkg/printers/BUILD index e4ec44e80ba..16cf2e36f85 100644 --- a/pkg/printers/BUILD +++ b/pkg/printers/BUILD @@ -1,31 +1,20 @@ package(default_visibility = ["//visibility:public"]) -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", srcs = [ "interface.go", "tablegenerator.go", - "tableprinter.go", - "tabwriter.go", ], importpath = "k8s.io/kubernetes/pkg/printers", deps = [ "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/duration:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", - "//vendor/github.com/liggitt/tabwriter:go_default_library", ], ) @@ -45,16 +34,3 @@ filegroup( ], tags = ["automanaged"], ) - -go_test( - name = "go_default_test", - srcs = ["tableprinter_test.go"], - embed = [":go_default_library"], - deps = [ - "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - ], -) diff --git a/pkg/printers/interface.go b/pkg/printers/interface.go index aa1e10c3cc7..1da68dee219 100644 --- a/pkg/printers/interface.go +++ b/pkg/printers/interface.go @@ -20,7 +20,6 @@ import ( "io" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" ) // ResourcePrinter is an interface that knows how to print runtime objects. @@ -36,19 +35,3 @@ type ResourcePrinterFunc func(runtime.Object, io.Writer) error func (fn ResourcePrinterFunc) PrintObj(obj runtime.Object, w io.Writer) error { return fn(obj, w) } - -// PrintOptions struct defines a struct for various print options -type PrintOptions struct { - NoHeaders bool - WithNamespace bool - WithKind bool - Wide bool - ShowLabels bool - Kind schema.GroupKind - ColumnLabels []string - - SortBy string - - // indicates if it is OK to ignore missing keys for rendering an output template. - AllowMissingKeys bool -} diff --git a/staging/src/k8s.io/cli-runtime/pkg/printers/BUILD b/staging/src/k8s.io/cli-runtime/pkg/printers/BUILD index f7515915dd7..dc67c1732c6 100644 --- a/staging/src/k8s.io/cli-runtime/pkg/printers/BUILD +++ b/staging/src/k8s.io/cli-runtime/pkg/printers/BUILD @@ -10,6 +10,8 @@ go_library( "jsonpath.go", "name.go", "sourcechecker.go", + "tableprinter.go", + "tabwriter.go", "template.go", "typesetter.go", ], @@ -20,10 +22,15 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/api/meta:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/duration:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/json:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/client-go/util/jsonpath:go_default_library", + "//vendor/github.com/liggitt/tabwriter:go_default_library", "//vendor/sigs.k8s.io/yaml:go_default_library", ], ) @@ -32,13 +39,16 @@ go_test( name = "go_default_test", srcs = [ "sourcechecker_test.go", + "tableprinter_test.go", "template_test.go", ], embed = [":go_default_library"], deps = [ "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", ], ) diff --git a/staging/src/k8s.io/cli-runtime/pkg/printers/interface.go b/staging/src/k8s.io/cli-runtime/pkg/printers/interface.go index b59a935fcab..e06757f6df1 100644 --- a/staging/src/k8s.io/cli-runtime/pkg/printers/interface.go +++ b/staging/src/k8s.io/cli-runtime/pkg/printers/interface.go @@ -20,6 +20,7 @@ import ( "io" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ) // ResourcePrinterFunc is a function that can print objects @@ -35,3 +36,19 @@ type ResourcePrinter interface { // Print receives a runtime object, formats it and prints it to a writer. PrintObj(runtime.Object, io.Writer) error } + +// PrintOptions struct defines a struct for various print options +type PrintOptions struct { + NoHeaders bool + WithNamespace bool + WithKind bool + Wide bool + ShowLabels bool + Kind schema.GroupKind + ColumnLabels []string + + SortBy string + + // indicates if it is OK to ignore missing keys for rendering an output template. + AllowMissingKeys bool +} diff --git a/pkg/printers/tableprinter.go b/staging/src/k8s.io/cli-runtime/pkg/printers/tableprinter.go similarity index 100% rename from pkg/printers/tableprinter.go rename to staging/src/k8s.io/cli-runtime/pkg/printers/tableprinter.go diff --git a/pkg/printers/tableprinter_test.go b/staging/src/k8s.io/cli-runtime/pkg/printers/tableprinter_test.go similarity index 100% rename from pkg/printers/tableprinter_test.go rename to staging/src/k8s.io/cli-runtime/pkg/printers/tableprinter_test.go diff --git a/pkg/printers/tabwriter.go b/staging/src/k8s.io/cli-runtime/pkg/printers/tabwriter.go similarity index 100% rename from pkg/printers/tabwriter.go rename to staging/src/k8s.io/cli-runtime/pkg/printers/tabwriter.go