From e0b712d428cda7c90ba0e6eaee3a289ed41fc95c Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Thu, 1 Nov 2018 15:45:38 -0700 Subject: [PATCH] kubectl: move custom columns printers and flags --- pkg/kubectl/BUILD | 9 ----- pkg/kubectl/cmd/get/BUILD | 15 +++++++- .../cmd/get}/customcolumn.go | 5 +-- .../cmd/get}/customcolumn_flags.go | 8 +++-- .../cmd/get}/customcolumn_flags_test.go | 6 ++-- .../cmd/get}/customcolumn_test.go | 35 ++++++++++--------- pkg/kubectl/cmd/get/get.go | 16 ++++----- pkg/kubectl/cmd/get/get_flags.go | 6 ++-- pkg/kubectl/{ => cmd/get}/sorter.go | 10 +++--- pkg/kubectl/{ => cmd/get}/sorter_test.go | 2 +- pkg/printers/BUILD | 16 +-------- 11 files changed, 62 insertions(+), 66 deletions(-) rename pkg/{printers => kubectl/cmd/get}/customcolumn.go (98%) rename pkg/{printers => kubectl/cmd/get}/customcolumn_flags.go (91%) rename pkg/{printers => kubectl/cmd/get}/customcolumn_flags_test.go (97%) rename pkg/{printers => kubectl/cmd/get}/customcolumn_test.go (88%) rename pkg/kubectl/{ => cmd/get}/sorter.go (98%) rename pkg/kubectl/{ => cmd/get}/sorter_test.go (99%) diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index 9a287ffa91..04f32883ca 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -14,7 +14,6 @@ go_test( "rolling_updater_test.go", "rollout_status_test.go", "scale_test.go", - "sorter_test.go", ], embed = [":go_default_library"], deps = [ @@ -25,7 +24,6 @@ go_test( "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality: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", "//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/testapigroup/v1:go_default_library", @@ -57,7 +55,6 @@ go_library( "rolling_updater.go", "rollout_status.go", "scale.go", - "sorter.go", ], importpath = "k8s.io/kubernetes/pkg/kubectl", deps = [ @@ -69,7 +66,6 @@ go_library( "//pkg/kubectl/util/deployment:go_default_library", "//pkg/kubectl/util/podutils:go_default_library", "//pkg/kubectl/util/slice:go_default_library", - "//pkg/printers:go_default_library", "//pkg/printers/internalversion:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library", @@ -79,8 +75,6 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_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", @@ -96,10 +90,7 @@ go_library( "//staging/src/k8s.io/client-go/rest:go_default_library", "//staging/src/k8s.io/client-go/scale:go_default_library", "//staging/src/k8s.io/client-go/util/integer:go_default_library", - "//staging/src/k8s.io/client-go/util/jsonpath:go_default_library", "//staging/src/k8s.io/client-go/util/retry:go_default_library", - "//vendor/k8s.io/klog:go_default_library", - "//vendor/vbom.ml/util/sortorder:go_default_library", ], ) diff --git a/pkg/kubectl/cmd/get/BUILD b/pkg/kubectl/cmd/get/BUILD index 4c62d681de..c63ccad3fd 100644 --- a/pkg/kubectl/cmd/get/BUILD +++ b/pkg/kubectl/cmd/get/BUILD @@ -17,19 +17,22 @@ filegroup( go_library( name = "go_default_library", srcs = [ + "customcolumn.go", + "customcolumn_flags.go", "get.go", "get_flags.go", "humanreadable_flags.go", + "sorter.go", ], importpath = "k8s.io/kubernetes/pkg/kubectl/cmd/get", visibility = ["//visibility:public"], deps = [ "//pkg/api/legacyscheme:go_default_library", - "//pkg/kubectl:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/cmd/util/openapi:go_default_library", "//pkg/kubectl/scheme:go_default_library", "//pkg/kubectl/util/i18n:go_default_library", + "//pkg/kubectl/util/printers:go_default_library", "//pkg/kubectl/util/templates:go_default_library", "//pkg/printers:go_default_library", "//pkg/printers/internalversion:go_default_library", @@ -46,19 +49,26 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library", "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library", + "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions/printers:go_default_library", "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions/resource:go_default_library", "//staging/src/k8s.io/client-go/rest:go_default_library", "//staging/src/k8s.io/client-go/tools/watch:go_default_library", + "//staging/src/k8s.io/client-go/util/integer:go_default_library", + "//staging/src/k8s.io/client-go/util/jsonpath:go_default_library", "//vendor/github.com/spf13/cobra:go_default_library", "//vendor/k8s.io/klog:go_default_library", + "//vendor/vbom.ml/util/sortorder:go_default_library", ], ) go_test( name = "go_default_test", srcs = [ + "customcolumn_flags_test.go", + "customcolumn_test.go", "get_test.go", "humanreadable_flags_test.go", + "sorter_test.go", ], data = [ "//api/openapi-spec:swagger-spec", @@ -72,13 +82,16 @@ go_test( "//pkg/kubectl/cmd/util/openapi:go_default_library", "//pkg/kubectl/cmd/util/openapi/testing:go_default_library", "//pkg/kubectl/scheme:go_default_library", + "//pkg/kubectl/util/printers:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/extensions/v1beta1:go_default_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/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", diff --git a/pkg/printers/customcolumn.go b/pkg/kubectl/cmd/get/customcolumn.go similarity index 98% rename from pkg/printers/customcolumn.go rename to pkg/kubectl/cmd/get/customcolumn.go index b0ab6bc239..576d4995af 100644 --- a/pkg/printers/customcolumn.go +++ b/pkg/kubectl/cmd/get/customcolumn.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package printers +package get import ( "bufio" @@ -30,6 +30,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/cli-runtime/pkg/genericclioptions/printers" "k8s.io/client-go/util/jsonpath" + utilprinters "k8s.io/kubernetes/pkg/kubectl/util/printers" ) var jsonRegexp = regexp.MustCompile("^\\{\\.?([^{}]+)\\}$|^\\.?([^{}]+)$") @@ -160,7 +161,7 @@ func (s *CustomColumnsPrinter) PrintObj(obj runtime.Object, out io.Writer) error } if w, found := out.(*tabwriter.Writer); !found { - w = GetNewTabWriter(out) + w = utilprinters.GetNewTabWriter(out) out = w defer w.Flush() } diff --git a/pkg/printers/customcolumn_flags.go b/pkg/kubectl/cmd/get/customcolumn_flags.go similarity index 91% rename from pkg/printers/customcolumn_flags.go rename to pkg/kubectl/cmd/get/customcolumn_flags.go index 599d91c272..b8f2f4002b 100644 --- a/pkg/printers/customcolumn_flags.go +++ b/pkg/kubectl/cmd/get/customcolumn_flags.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package printers +package get import ( "fmt" @@ -24,6 +24,7 @@ import ( "github.com/spf13/cobra" "k8s.io/cli-runtime/pkg/genericclioptions" + "k8s.io/cli-runtime/pkg/genericclioptions/printers" "k8s.io/kubernetes/pkg/kubectl/scheme" ) @@ -51,7 +52,7 @@ func (f *CustomColumnsPrintFlags) AllowedFormats() []string { // handling custom-column printing. // Returns false if the specified templateFormat does not match a supported format. // Supported format types can be found in pkg/printers/printers.go -func (f *CustomColumnsPrintFlags) ToPrinter(templateFormat string) (ResourcePrinter, error) { +func (f *CustomColumnsPrintFlags) ToPrinter(templateFormat string) (printers.ResourcePrinter, error) { if len(templateFormat) == 0 { return nil, genericclioptions.NoCompatiblePrinterError{} } @@ -79,7 +80,8 @@ func (f *CustomColumnsPrintFlags) ToPrinter(templateFormat string) (ResourcePrin return nil, fmt.Errorf("custom-columns format specified but no custom columns given") } - decoder := scheme.Codecs.UniversalDecoder() + // UniversalDecoder call must specify parameter versions; otherwise it will decode to internal versions. + decoder := scheme.Codecs.UniversalDecoder(scheme.Scheme.PrioritizedVersionsAllGroups()...) if templateFormat == "custom-columns-file" { file, err := os.Open(templateValue) diff --git a/pkg/printers/customcolumn_flags_test.go b/pkg/kubectl/cmd/get/customcolumn_flags_test.go similarity index 97% rename from pkg/printers/customcolumn_flags_test.go rename to pkg/kubectl/cmd/get/customcolumn_flags_test.go index 2b96f8f48a..6704bdf238 100644 --- a/pkg/printers/customcolumn_flags_test.go +++ b/pkg/kubectl/cmd/get/customcolumn_flags_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package printers +package get import ( "bytes" @@ -24,13 +24,13 @@ import ( "strings" "testing" - "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/cli-runtime/pkg/genericclioptions" ) func TestPrinterSupportsExpectedCustomColumnFormats(t *testing.T) { - testObject := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}} + testObject := &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}} customColumnsFile, err := ioutil.TempFile("", "printers_jsonpath_flags") if err != nil { diff --git a/pkg/printers/customcolumn_test.go b/pkg/kubectl/cmd/get/customcolumn_test.go similarity index 88% rename from pkg/printers/customcolumn_test.go rename to pkg/kubectl/cmd/get/customcolumn_test.go index f59cfdf519..263ecdde92 100644 --- a/pkg/printers/customcolumn_test.go +++ b/pkg/kubectl/cmd/get/customcolumn_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package printers +package get import ( "bytes" @@ -22,13 +22,16 @@ import ( "strings" "testing" - "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/legacyscheme" - api "k8s.io/kubernetes/pkg/apis/core" + "k8s.io/kubernetes/pkg/kubectl/scheme" + "k8s.io/kubernetes/pkg/kubectl/util/printers" ) +// UniversalDecoder call must specify parameter versions; otherwise it will decode to internal versions. +var decoder = scheme.Codecs.UniversalDecoder(scheme.Scheme.PrioritizedVersionsAllGroups()...) + func TestMassageJSONPath(t *testing.T) { tests := []struct { input string @@ -115,7 +118,7 @@ func TestNewColumnPrinterFromSpec(t *testing.T) { } for _, test := range tests { t.Run(test.name, func(t *testing.T) { - printer, err := NewCustomColumnsPrinterFromSpec(test.spec, legacyscheme.Codecs.UniversalDecoder(), test.noHeaders) + printer, err := NewCustomColumnsPrinterFromSpec(test.spec, decoder, test.noHeaders) if test.expectErr { if err == nil { t.Errorf("[%s] unexpected non-error", test.name) @@ -129,7 +132,7 @@ func TestNewColumnPrinterFromSpec(t *testing.T) { if test.noHeaders { buffer := &bytes.Buffer{} - printer.PrintObj(&api.Pod{}, buffer) + printer.PrintObj(&corev1.Pod{}, buffer) if err != nil { t.Fatalf("An error occurred printing Pod: %#v", err) } @@ -219,7 +222,7 @@ func TestNewColumnPrinterFromTemplate(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { reader := bytes.NewBufferString(test.spec) - printer, err := NewCustomColumnsPrinterFromTemplate(reader, legacyscheme.Codecs.UniversalDecoder()) + printer, err := NewCustomColumnsPrinterFromTemplate(reader, decoder) if test.expectErr { if err == nil { t.Errorf("[%s] unexpected non-error", test.name) @@ -251,7 +254,7 @@ func TestColumnPrint(t *testing.T) { FieldSpec: "{.metadata.name}", }, }, - obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}}, + obj: &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}}, expectedOutput: `NAME foo `, @@ -263,8 +266,8 @@ foo FieldSpec: "{.metadata.name}", }, }, - obj: &v1.PodList{ - Items: []v1.Pod{ + obj: &corev1.PodList{ + Items: []corev1.Pod{ {ObjectMeta: metav1.ObjectMeta{Name: "foo"}}, {ObjectMeta: metav1.ObjectMeta{Name: "bar"}}, }, @@ -285,7 +288,7 @@ bar FieldSpec: "{.apiVersion}", }, }, - obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}}, + obj: &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}}, expectedOutput: `NAME API_VERSION foo baz `, @@ -305,7 +308,7 @@ foo baz FieldSpec: "{.notFound}", }, }, - obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}}, + obj: &corev1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}}, expectedOutput: `NAME API_VERSION NOT_FOUND foo baz `, @@ -316,7 +319,7 @@ foo baz t.Run(test.expectedOutput, func(t *testing.T) { printer := &CustomColumnsPrinter{ Columns: test.columns, - Decoder: legacyscheme.Codecs.UniversalDecoder(), + Decoder: decoder, } buffer := &bytes.Buffer{} if err := printer.PrintObj(test.obj, buffer); err != nil { @@ -345,7 +348,7 @@ func TestIndividualPrintObjOnExistingTabWriter(t *testing.T) { FieldSpec: "{.metadata.labels.label2}", }, } - objects := []*v1.Pod{ + objects := []*corev1.Pod{ {ObjectMeta: metav1.ObjectMeta{Name: "foo", Labels: map[string]string{"label1": "foo", "label2": "foo"}}}, {ObjectMeta: metav1.ObjectMeta{Name: "bar", Labels: map[string]string{"label1": "bar", "label2": "bar"}}}, } @@ -355,10 +358,10 @@ bar bar bar ` buffer := &bytes.Buffer{} - tabWriter := GetNewTabWriter(buffer) + tabWriter := printers.GetNewTabWriter(buffer) printer := &CustomColumnsPrinter{ Columns: columns, - Decoder: legacyscheme.Codecs.UniversalDecoder(), + Decoder: decoder, } for _, obj := range objects { if err := printer.PrintObj(obj, tabWriter); err != nil { diff --git a/pkg/kubectl/cmd/get/get.go b/pkg/kubectl/cmd/get/get.go index 20ca3fb329..8011485e41 100644 --- a/pkg/kubectl/cmd/get/get.go +++ b/pkg/kubectl/cmd/get/get.go @@ -38,15 +38,15 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/watch" "k8s.io/cli-runtime/pkg/genericclioptions" + "k8s.io/cli-runtime/pkg/genericclioptions/printers" "k8s.io/cli-runtime/pkg/genericclioptions/resource" "k8s.io/client-go/rest" watchtools "k8s.io/client-go/tools/watch" "k8s.io/kubernetes/pkg/api/legacyscheme" - "k8s.io/kubernetes/pkg/kubectl" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/kubectl/util/i18n" + utilprinters "k8s.io/kubernetes/pkg/kubectl/util/printers" "k8s.io/kubernetes/pkg/kubectl/util/templates" - "k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/util/interrupt" ) @@ -331,7 +331,7 @@ func (r *RuntimeSorter) Sort() error { case *metav1beta1.Table: includesTable = true - if err := kubectl.NewTableSorter(t, r.field).Sort(); err != nil { + if err := NewTableSorter(t, r.field).Sort(); err != nil { continue } default: @@ -354,7 +354,7 @@ func (r *RuntimeSorter) Sort() error { // if not dealing with a Table response from the server, assume // all objects are runtime.Object as usual, and sort using old method. var err error - if r.positioner, err = kubectl.SortObjects(r.decoder, r.objects, r.field); err != nil { + if r.positioner, err = SortObjects(r.decoder, r.objects, r.field); err != nil { return err } return nil @@ -374,7 +374,7 @@ func (r *RuntimeSorter) WithDecoder(decoder runtime.Decoder) *RuntimeSorter { } func NewRuntimeSorter(objects []runtime.Object, sortBy string) *RuntimeSorter { - parsedField, err := printers.RelaxedJSONPathExpression(sortBy) + parsedField, err := RelaxedJSONPathExpression(sortBy) if err != nil { parsedField = sortBy } @@ -495,7 +495,7 @@ func (o *GetOptions) Run(f cmdutil.Factory, cmd *cobra.Command, args []string) e var printer printers.ResourcePrinter var lastMapping *meta.RESTMapping nonEmptyObjCount := 0 - w := printers.GetNewTabWriter(o.Out) + w := utilprinters.GetNewTabWriter(o.Out) for ix := range objs { var mapping *meta.RESTMapping var info *resource.Info @@ -645,7 +645,7 @@ func (o *GetOptions) watch(f cmdutil.Factory, cmd *cobra.Command, args []string) // print the current object if !o.WatchOnly { var objsToPrint []runtime.Object - writer := printers.GetNewTabWriter(o.Out) + writer := utilprinters.GetNewTabWriter(o.Out) if isList { objsToPrint, _ = meta.ExtractList(obj) @@ -852,7 +852,7 @@ func cmdSpecifiesOutputFmt(cmd *cobra.Command) bool { func maybeWrapSortingPrinter(printer printers.ResourcePrinter, sortBy string) printers.ResourcePrinter { if len(sortBy) != 0 { - return &kubectl.SortingPrinter{ + return &SortingPrinter{ Delegate: printer, SortField: fmt.Sprintf("%s", sortBy), } diff --git a/pkg/kubectl/cmd/get/get_flags.go b/pkg/kubectl/cmd/get/get_flags.go index 4bfeafd5b2..93700a8552 100644 --- a/pkg/kubectl/cmd/get/get_flags.go +++ b/pkg/kubectl/cmd/get/get_flags.go @@ -24,8 +24,8 @@ import ( "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/cli-runtime/pkg/genericclioptions" + "k8s.io/cli-runtime/pkg/genericclioptions/printers" "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi" - "k8s.io/kubernetes/pkg/printers" ) // PrintFlags composes common printer flag structs @@ -33,7 +33,7 @@ import ( type PrintFlags struct { JSONYamlPrintFlags *genericclioptions.JSONYamlPrintFlags NamePrintFlags *genericclioptions.NamePrintFlags - CustomColumnsFlags *printers.CustomColumnsPrintFlags + CustomColumnsFlags *CustomColumnsPrintFlags HumanReadableFlags *HumanPrintFlags TemplateFlags *genericclioptions.KubeTemplatePrintFlags @@ -185,6 +185,6 @@ func NewGetPrintFlags() *PrintFlags { TemplateFlags: genericclioptions.NewKubeTemplatePrintFlags(), HumanReadableFlags: NewHumanPrintFlags(), - CustomColumnsFlags: printers.NewCustomColumnsPrintFlags(), + CustomColumnsFlags: NewCustomColumnsPrintFlags(), } } diff --git a/pkg/kubectl/sorter.go b/pkg/kubectl/cmd/get/sorter.go similarity index 98% rename from pkg/kubectl/sorter.go rename to pkg/kubectl/cmd/get/sorter.go index 2e58f8c536..cd8bb28b8d 100644 --- a/pkg/kubectl/sorter.go +++ b/pkg/kubectl/cmd/get/sorter.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package kubectl +package get import ( "fmt" @@ -24,15 +24,15 @@ import ( "k8s.io/klog" - "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/cli-runtime/pkg/genericclioptions/printers" "k8s.io/client-go/util/integer" "k8s.io/client-go/util/jsonpath" - "k8s.io/kubernetes/pkg/printers" "vbom.ml/util/sortorder" ) @@ -71,7 +71,7 @@ func (s *SortingPrinter) sortObj(obj runtime.Object) error { } switch list := obj.(type) { - case *v1.List: + case *corev1.List: outputList := make([]runtime.RawExtension, len(objs)) for ix := range objs { outputList[ix] = list.Items[sorter.OriginalPosition(ix)] @@ -96,7 +96,7 @@ func SortObjects(decoder runtime.Decoder, objs []runtime.Object, fieldInput stri } } - field, err := printers.RelaxedJSONPathExpression(fieldInput) + field, err := RelaxedJSONPathExpression(fieldInput) if err != nil { return nil, err } diff --git a/pkg/kubectl/sorter_test.go b/pkg/kubectl/cmd/get/sorter_test.go similarity index 99% rename from pkg/kubectl/sorter_test.go rename to pkg/kubectl/cmd/get/sorter_test.go index 1fcd35d14b..c85d5d1bf5 100644 --- a/pkg/kubectl/sorter_test.go +++ b/pkg/kubectl/cmd/get/sorter_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package kubectl +package get import ( "reflect" diff --git a/pkg/printers/BUILD b/pkg/printers/BUILD index 4d4ab061e8..4c9f9e647a 100644 --- a/pkg/printers/BUILD +++ b/pkg/printers/BUILD @@ -9,15 +9,12 @@ load( go_library( name = "go_default_library", srcs = [ - "customcolumn.go", - "customcolumn_flags.go", "humanreadable.go", "interface.go", "tabwriter.go", ], importpath = "k8s.io/kubernetes/pkg/printers", deps = [ - "//pkg/kubectl/scheme:go_default_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", @@ -26,10 +23,6 @@ go_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/runtime:go_default_library", - "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library", - "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions/printers:go_default_library", - "//staging/src/k8s.io/client-go/util/jsonpath:go_default_library", - "//vendor/github.com/spf13/cobra:go_default_library", ], ) @@ -52,19 +45,12 @@ filegroup( go_test( name = "go_default_test", - srcs = [ - "customcolumn_flags_test.go", - "customcolumn_test.go", - "humanreadable_test.go", - ], + srcs = ["humanreadable_test.go"], embed = [":go_default_library"], deps = [ - "//pkg/api/legacyscheme:go_default_library", "//pkg/apis/core:go_default_library", - "//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/v1beta1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", - "//staging/src/k8s.io/cli-runtime/pkg/genericclioptions:go_default_library", ], )