Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
e0b712d4
Commit
e0b712d4
authored
Nov 01, 2018
by
Sean Sullivan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kubectl: move custom columns printers and flags
parent
3bcbc5da
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
62 additions
and
66 deletions
+62
-66
BUILD
pkg/kubectl/BUILD
+0
-9
BUILD
pkg/kubectl/cmd/get/BUILD
+14
-1
customcolumn.go
pkg/kubectl/cmd/get/customcolumn.go
+3
-2
customcolumn_flags.go
pkg/kubectl/cmd/get/customcolumn_flags.go
+5
-3
customcolumn_flags_test.go
pkg/kubectl/cmd/get/customcolumn_flags_test.go
+3
-3
customcolumn_test.go
pkg/kubectl/cmd/get/customcolumn_test.go
+19
-16
get.go
pkg/kubectl/cmd/get/get.go
+8
-8
get_flags.go
pkg/kubectl/cmd/get/get_flags.go
+3
-3
sorter.go
pkg/kubectl/cmd/get/sorter.go
+5
-5
sorter_test.go
pkg/kubectl/cmd/get/sorter_test.go
+1
-1
BUILD
pkg/printers/BUILD
+1
-15
No files found.
pkg/kubectl/BUILD
View file @
e0b712d4
...
...
@@ -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",
],
)
...
...
pkg/kubectl/cmd/get/BUILD
View file @
e0b712d4
...
...
@@ -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",
...
...
pkg/
printers
/customcolumn.go
→
pkg/
kubectl/cmd/get
/customcolumn.go
View file @
e0b712d4
...
...
@@ -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
()
}
...
...
pkg/
printers
/customcolumn_flags.go
→
pkg/
kubectl/cmd/get
/customcolumn_flags.go
View file @
e0b712d4
...
...
@@ -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
)
...
...
pkg/
printers
/customcolumn_flags_test.go
→
pkg/
kubectl/cmd/get
/customcolumn_flags_test.go
View file @
e0b712d4
...
...
@@ -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
:=
&
core
v1
.
Pod
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
}}
customColumnsFile
,
err
:=
ioutil
.
TempFile
(
""
,
"printers_jsonpath_flags"
)
if
err
!=
nil
{
...
...
pkg/
printers
/customcolumn_test.go
→
pkg/
kubectl/cmd/get
/customcolumn_test.go
View file @
e0b712d4
...
...
@@ -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/legacy
scheme"
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
:
&
core
v1
.
Pod
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
}},
expectedOutput
:
`NAME
foo
`
,
...
...
@@ -263,8 +266,8 @@ foo
FieldSpec
:
"{.metadata.name}"
,
},
},
obj
:
&
v1
.
PodList
{
Items
:
[]
v1
.
Pod
{
obj
:
&
core
v1
.
PodList
{
Items
:
[]
core
v1
.
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
:
&
core
v1
.
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
:
&
core
v1
.
Pod
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
"foo"
},
TypeMeta
:
metav1
.
TypeMeta
{
APIVersion
:
"baz"
}},
expectedOutput
:
`NAME API_VERSION NOT_FOUND
foo baz <none>
`
,
...
...
@@ -316,7 +319,7 @@ foo baz <none>
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
:=
[]
*
core
v1
.
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
{
...
...
pkg/kubectl/cmd/get/get.go
View file @
e0b712d4
...
...
@@ -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
:=
util
printers
.
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
:=
util
printers
.
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
),
}
...
...
pkg/kubectl/cmd/get/get_flags.go
View file @
e0b712d4
...
...
@@ -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
(),
}
}
pkg/kubectl/sorter.go
→
pkg/kubectl/
cmd/get/
sorter.go
View file @
e0b712d4
...
...
@@ -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
*
core
v1
.
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
}
...
...
pkg/kubectl/sorter_test.go
→
pkg/kubectl/
cmd/get/
sorter_test.go
View file @
e0b712d4
...
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package
kubectl
package
get
import
(
"reflect"
...
...
pkg/printers/BUILD
View file @
e0b712d4
...
...
@@ -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",
],
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment