mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 01:14:22 +00:00
Merge pull request #3055 from phanimarupaka/CleanupCfgCommandOutput
Cleanup Cfg/Grep Command Output
This commit is contained in:
@@ -501,7 +501,10 @@ func TestAnnotateSubPackages(t *testing.T) {
|
|||||||
name: "annotate-recurse-subpackages",
|
name: "annotate-recurse-subpackages",
|
||||||
dataset: "dataset-without-setters",
|
dataset: "dataset-without-setters",
|
||||||
args: []string{"--kv", "foo=bar", "-R"},
|
args: []string{"--kv", "foo=bar", "-R"},
|
||||||
expected: `${baseDir}/mysql/
|
expected: `${baseDir}/
|
||||||
|
added annotations in the package
|
||||||
|
|
||||||
|
${baseDir}/mysql/
|
||||||
added annotations in the package
|
added annotations in the package
|
||||||
|
|
||||||
${baseDir}/mysql/storage/
|
${baseDir}/mysql/storage/
|
||||||
|
|||||||
@@ -4,9 +4,11 @@
|
|||||||
package commands
|
package commands
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"sigs.k8s.io/kustomize/cmd/config/ext"
|
"sigs.k8s.io/kustomize/cmd/config/ext"
|
||||||
@@ -96,8 +98,10 @@ func (r *CatRunner) runE(c *cobra.Command, args []string) error {
|
|||||||
return handleError(c, kio.Pipeline{Inputs: []kio.Reader{input}, Filters: r.catFilters(), Outputs: outputs}.Execute())
|
return handleError(c, kio.Pipeline{Inputs: []kio.Reader{input}, Filters: r.catFilters(), Outputs: outputs}.Execute())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out := &bytes.Buffer{}
|
||||||
|
|
||||||
e := executeCmdOnPkgs{
|
e := executeCmdOnPkgs{
|
||||||
writer: writer,
|
writer: out,
|
||||||
needOpenAPI: false,
|
needOpenAPI: false,
|
||||||
recurseSubPackages: r.RecurseSubPackages,
|
recurseSubPackages: r.RecurseSubPackages,
|
||||||
cmdRunner: r,
|
cmdRunner: r,
|
||||||
@@ -105,12 +109,21 @@ func (r *CatRunner) runE(c *cobra.Command, args []string) error {
|
|||||||
skipPkgPathPrint: true,
|
skipPkgPathPrint: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.execute()
|
err := e.execute()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
res := strings.TrimSuffix(out.String(), "---")
|
||||||
|
fmt.Fprintf(writer, "%s", res)
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *CatRunner) executeCmd(w io.Writer, pkgPath string) error {
|
func (r *CatRunner) executeCmd(w io.Writer, pkgPath string) error {
|
||||||
input := kio.LocalPackageReader{PackagePath: pkgPath, PackageFileName: ext.KRMFileName()}
|
input := kio.LocalPackageReader{PackagePath: pkgPath, PackageFileName: ext.KRMFileName()}
|
||||||
outputs, err := r.out(w)
|
out := &bytes.Buffer{}
|
||||||
|
outputs, err := r.out(out)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -129,7 +142,10 @@ func (r *CatRunner) executeCmd(w io.Writer, pkgPath string) error {
|
|||||||
fmt.Fprintf(w, "%s in package %q\n", err.Error(), pkgPath)
|
fmt.Fprintf(w, "%s in package %q\n", err.Error(), pkgPath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, "---")
|
fmt.Fprint(w, out.String())
|
||||||
|
if out.String() != "" {
|
||||||
|
fmt.Fprint(w, "---")
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ metadata:
|
|||||||
app: nginx
|
app: nginx
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
---`, b.String()) {
|
`, b.String()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -225,7 +225,7 @@ metadata:
|
|||||||
app: nginx
|
app: nginx
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
---`, b.String()) {
|
`, b.String()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -307,7 +307,7 @@ metadata:
|
|||||||
image: gcr.io/example/reconciler:v1
|
image: gcr.io/example/reconciler:v1
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
---`, b.String()) {
|
`, b.String()) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -421,7 +421,7 @@ metadata:
|
|||||||
app: nginx
|
app: nginx
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
---`, string(actual)) {
|
`, string(actual)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -536,7 +536,7 @@ metadata:
|
|||||||
app: nginx
|
app: nginx
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
---`, string(actual)) {
|
`, string(actual)) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -552,7 +552,8 @@ func TestCatSubPackages(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "cat-recurse-subpackages",
|
name: "cat-recurse-subpackages",
|
||||||
dataset: "dataset-without-setters",
|
dataset: "dataset-without-setters",
|
||||||
expected: `# Copyright 2019 The Kubernetes Authors.
|
expected: `
|
||||||
|
# Copyright 2019 The Kubernetes Authors.
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
@@ -583,7 +584,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: storage
|
- name: storage
|
||||||
image: storage:1.7.7
|
image: storage:1.7.7
|
||||||
---`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "cat-top-level-pkg-no-recurse-subpackages",
|
name: "cat-top-level-pkg-no-recurse-subpackages",
|
||||||
@@ -605,7 +606,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: mysql
|
- name: mysql
|
||||||
image: mysql:1.7.9
|
image: mysql:1.7.9
|
||||||
---`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "cat-nested-pkg-no-recurse-subpackages",
|
name: "cat-nested-pkg-no-recurse-subpackages",
|
||||||
@@ -627,7 +628,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: storage
|
- name: storage
|
||||||
image: storage:1.7.7
|
image: storage:1.7.7
|
||||||
---`,
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for i := range tests {
|
for i := range tests {
|
||||||
|
|||||||
@@ -86,7 +86,9 @@ func TestCountSubPackages(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "count-recurse-subpackages",
|
name: "count-recurse-subpackages",
|
||||||
dataset: "dataset-without-setters",
|
dataset: "dataset-without-setters",
|
||||||
expected: `${baseDir}/mysql/
|
expected: `${baseDir}/
|
||||||
|
|
||||||
|
${baseDir}/mysql/
|
||||||
Deployment: 1
|
Deployment: 1
|
||||||
|
|
||||||
${baseDir}/mysql/storage/
|
${baseDir}/mysql/storage/
|
||||||
|
|||||||
@@ -179,7 +179,10 @@ func TestFmtSubPackages(t *testing.T) {
|
|||||||
name: "fmt-recurse-subpackages",
|
name: "fmt-recurse-subpackages",
|
||||||
dataset: "dataset-with-setters",
|
dataset: "dataset-with-setters",
|
||||||
args: []string{"-R"},
|
args: []string{"-R"},
|
||||||
expected: `${baseDir}/mysql/
|
expected: `${baseDir}/
|
||||||
|
formatted resource files in the package
|
||||||
|
|
||||||
|
${baseDir}/mysql/
|
||||||
formatted resource files in the package
|
formatted resource files in the package
|
||||||
|
|
||||||
${baseDir}/mysql/nosetters/
|
${baseDir}/mysql/nosetters/
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
package commands
|
package commands
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -114,8 +115,10 @@ func (r *GrepRunner) runE(c *cobra.Command, args []string) error {
|
|||||||
}.Execute())
|
}.Execute())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out := bytes.Buffer{}
|
||||||
|
|
||||||
e := executeCmdOnPkgs{
|
e := executeCmdOnPkgs{
|
||||||
writer: c.OutOrStdout(),
|
writer: &out,
|
||||||
needOpenAPI: false,
|
needOpenAPI: false,
|
||||||
recurseSubPackages: r.RecurseSubPackages,
|
recurseSubPackages: r.RecurseSubPackages,
|
||||||
cmdRunner: r,
|
cmdRunner: r,
|
||||||
@@ -123,18 +126,26 @@ func (r *GrepRunner) runE(c *cobra.Command, args []string) error {
|
|||||||
skipPkgPathPrint: true,
|
skipPkgPathPrint: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.execute()
|
err := e.execute()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
res := strings.TrimSuffix(out.String(), "---")
|
||||||
|
fmt.Fprintf(c.OutOrStdout(), "%s", res)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *GrepRunner) executeCmd(w io.Writer, pkgPath string) error {
|
func (r *GrepRunner) executeCmd(w io.Writer, pkgPath string) error {
|
||||||
input := kio.LocalPackageReader{PackagePath: pkgPath, PackageFileName: ext.KRMFileName()}
|
input := kio.LocalPackageReader{PackagePath: pkgPath, PackageFileName: ext.KRMFileName()}
|
||||||
|
out := &bytes.Buffer{}
|
||||||
err := kio.Pipeline{
|
err := kio.Pipeline{
|
||||||
Inputs: []kio.Reader{input},
|
Inputs: []kio.Reader{input},
|
||||||
Filters: []kio.Filter{r.GrepFilter},
|
Filters: []kio.Filter{r.GrepFilter},
|
||||||
Outputs: []kio.Writer{kio.ByteWriter{
|
Outputs: []kio.Writer{kio.ByteWriter{
|
||||||
Writer: w,
|
Writer: out,
|
||||||
KeepReaderAnnotations: r.KeepAnnotations,
|
KeepReaderAnnotations: r.KeepAnnotations,
|
||||||
}},
|
}},
|
||||||
}.Execute()
|
}.Execute()
|
||||||
@@ -148,6 +159,9 @@ func (r *GrepRunner) executeCmd(w io.Writer, pkgPath string) error {
|
|||||||
fmt.Fprintf(w, "%s\n", err.Error())
|
fmt.Fprintf(w, "%s\n", err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fmt.Fprintf(w, "---")
|
fmt.Fprint(w, out.String())
|
||||||
|
if out.String() != "" {
|
||||||
|
fmt.Fprint(w, "---")
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -283,7 +283,8 @@ func TestGrepSubPackages(t *testing.T) {
|
|||||||
name: "grep-recurse-subpackages",
|
name: "grep-recurse-subpackages",
|
||||||
dataset: "dataset-without-setters",
|
dataset: "dataset-without-setters",
|
||||||
args: []string{"kind=Deployment"},
|
args: []string{"kind=Deployment"},
|
||||||
expected: `# Copyright 2019 The Kubernetes Authors.
|
expected: `
|
||||||
|
# Copyright 2019 The Kubernetes Authors.
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
@@ -320,7 +321,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: storage
|
- name: storage
|
||||||
image: storage:1.7.7
|
image: storage:1.7.7
|
||||||
---`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "grep-top-level-pkg-no-recurse-subpackages",
|
name: "grep-top-level-pkg-no-recurse-subpackages",
|
||||||
@@ -345,7 +346,7 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: mysql
|
- name: mysql
|
||||||
image: mysql:1.7.9
|
image: mysql:1.7.9
|
||||||
---`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "grep-nested-pkg-no-recurse-subpackages",
|
name: "grep-nested-pkg-no-recurse-subpackages",
|
||||||
@@ -370,7 +371,15 @@ spec:
|
|||||||
containers:
|
containers:
|
||||||
- name: storage
|
- name: storage
|
||||||
image: storage:1.7.7
|
image: storage:1.7.7
|
||||||
---`,
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "grep-recurse-subpackages-no-result",
|
||||||
|
dataset: "dataset-without-setters",
|
||||||
|
args: []string{"kind=ConfigMap"},
|
||||||
|
expected: `
|
||||||
|
|
||||||
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for i := range tests {
|
for i := range tests {
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ func (e executeCmdOnPkgs) execute() error {
|
|||||||
pkgsPaths = []string{e.rootPkgPath}
|
pkgsPaths = []string{e.rootPkgPath}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// for commands which doesn't need openAPI file, make sure that the root package is
|
||||||
|
// included all the times
|
||||||
|
if !e.needOpenAPI && !containsString(pkgsPaths, e.rootPkgPath) {
|
||||||
|
pkgsPaths = append([]string{e.rootPkgPath}, pkgsPaths...)
|
||||||
|
}
|
||||||
|
|
||||||
for i := range pkgsPaths {
|
for i := range pkgsPaths {
|
||||||
pkgPath := pkgsPaths[i]
|
pkgPath := pkgsPaths[i]
|
||||||
// Add schema present in openAPI file for current package
|
// Add schema present in openAPI file for current package
|
||||||
@@ -145,3 +151,13 @@ func fixDocs(new string, c *cobra.Command) {
|
|||||||
c.Long = strings.ReplaceAll(c.Long, cmdName, new)
|
c.Long = strings.ReplaceAll(c.Long, cmdName, new)
|
||||||
c.Example = strings.ReplaceAll(c.Example, cmdName, new)
|
c.Example = strings.ReplaceAll(c.Example, cmdName, new)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// containsString returns true if slice contains s
|
||||||
|
func containsString(slice []string, s string) bool {
|
||||||
|
for _, item := range slice {
|
||||||
|
if item == s {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user