refactor cmd/config to internal

This commit is contained in:
Phillip Wittrock
2019-12-12 10:37:52 -08:00
parent 634c780d1b
commit 98d2be5550
31 changed files with 82 additions and 81 deletions

View File

@@ -11,7 +11,7 @@ import (
"github.com/posener/complete/v2/predict"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/errors"
)

View File

@@ -1,17 +1,17 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package cmds provides a target for embedding the config command group in another
// Package configcobra provides a target for embedding the config command group in another
// cobra command.
package cmds
package configcobra
import (
"strings"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/api"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/tutorials"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/api"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/tutorials"
"sigs.k8s.io/kustomize/kyaml/commandutil"
)
@@ -64,18 +64,18 @@ func NewConfigCommand(name string) *cobra.Command {
return root
}
root.PersistentFlags().BoolVar(&cmd.StackOnError, "stack-trace", false,
root.PersistentFlags().BoolVar(&commands.StackOnError, "stack-trace", false,
"print a stack-trace on failure")
name = strings.TrimSpace(name + " config")
cmd.ExitOnError = true
root.AddCommand(cmd.GrepCommand(name))
root.AddCommand(cmd.TreeCommand(name))
root.AddCommand(cmd.CatCommand(name))
root.AddCommand(cmd.FmtCommand(name))
root.AddCommand(cmd.MergeCommand(name))
root.AddCommand(cmd.CountCommand(name))
root.AddCommand(cmd.RunFnCommand(name))
commands.ExitOnError = true
root.AddCommand(commands.GrepCommand(name))
root.AddCommand(commands.TreeCommand(name))
root.AddCommand(commands.CatCommand(name))
root.AddCommand(commands.FmtCommand(name))
root.AddCommand(commands.MergeCommand(name))
root.AddCommand(commands.CountCommand(name))
root.AddCommand(commands.RunFnCommand(name))
root.AddCommand(&cobra.Command{
Use: "docs-merge",

View File

@@ -1,13 +1,13 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmds_test
package configcobra_test
import (
"os"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmds"
"sigs.k8s.io/kustomize/cmd/config/configcobra"
"sigs.k8s.io/kustomize/kyaml/commandutil"
)
@@ -21,5 +21,5 @@ func ExampleNewConfigCommand() {
Short: "My command.",
Long: `My command.`,
}
root.AddCommand(cmds.NewConfigCommand("my-cmd"))
root.AddCommand(configcobra.NewConfigCommand("my-cmd"))
}

View File

@@ -1,14 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"fmt"
"os"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/errors"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/kio/filters"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
@@ -11,7 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
)
// TODO(pwittrock): write tests for reading / writing ResourceLists
@@ -76,7 +76,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCatRunner("")
r := commands.GetCatRunner("")
r.Command.SetArgs([]string{d})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -182,7 +182,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCatRunner("")
r := commands.GetCatRunner("")
r.Command.SetArgs([]string{d, "--include-local"})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -301,7 +301,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCatRunner("")
r := commands.GetCatRunner("")
r.Command.SetArgs([]string{d, "--include-local", "--exclude-non-local"})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -392,7 +392,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCatRunner("")
r := commands.GetCatRunner("")
r.Command.SetArgs([]string{d, "--dest", f.Name()})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -514,7 +514,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCatRunner("")
r := commands.GetCatRunner("")
r.Command.SetArgs([]string{d, "--dest", f})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"bytes"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"bytes"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"fmt"

View File

@@ -1,14 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
)
const (
@@ -74,7 +74,7 @@ items:
)
func TestXArgs_flags(t *testing.T) {
c := cmd.GetXArgsRunner()
c := commands.GetXArgsRunner()
c.Command.SetIn(bytes.NewBufferString(flagsInput))
out := &bytes.Buffer{}
c.Command.SetOut(out)
@@ -89,7 +89,7 @@ func TestXArgs_flags(t *testing.T) {
}
func TestXArgs_input(t *testing.T) {
c := cmd.GetXArgsRunner()
c := commands.GetXArgsRunner()
c.Command.SetIn(bytes.NewBufferString(resourceInput))
out := &bytes.Buffer{}
c.Command.SetOut(out)
@@ -103,7 +103,7 @@ func TestXArgs_input(t *testing.T) {
}
func TestCmd_env(t *testing.T) {
c := cmd.GetXArgsRunner()
c := commands.GetXArgsRunner()
c.Command.SetIn(bytes.NewBufferString(flagsInput))
out := &bytes.Buffer{}
c.Command.SetOut(out)

View File

@@ -1,14 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
//
package cmd
package commands
import (
"fmt"
"sort"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/sets"
"sigs.k8s.io/kustomize/kyaml/yaml"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
@@ -11,7 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
)
func TestCountCommand_files(t *testing.T) {
@@ -60,7 +60,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetCountRunner("")
r := commands.GetCountRunner("")
r.Command.SetArgs([]string{d})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {

View File

@@ -1,11 +1,11 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/kio/filters"
)

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
@@ -11,7 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
"sigs.k8s.io/kustomize/kyaml/kio/filters/testyaml"
)
@@ -38,7 +38,7 @@ func TestFmtCommand_files(t *testing.T) {
}
// fmt the files
r := cmd.GetFmtRunner("")
r := commands.GetFmtRunner("")
r.Command.SetArgs([]string{f1.Name(), f2.Name()})
err = r.Command.Execute()
if !assert.NoError(t, err) {
@@ -65,7 +65,7 @@ func TestFmtCommand_files(t *testing.T) {
func TestFmtCommand_stdin(t *testing.T) {
out := &bytes.Buffer{}
r := cmd.GetFmtRunner("")
r := commands.GetFmtRunner("")
r.Command.SetOut(out)
r.Command.SetIn(bytes.NewReader(testyaml.UnformattedYaml1))
@@ -100,12 +100,12 @@ func TestFmtCmd_filesAndStdin(t *testing.T) {
out := &bytes.Buffer{}
in := &bytes.Buffer{}
r := cmd.GetFmtRunner("")
r := commands.GetFmtRunner("")
r.Command.SetOut(out)
r.Command.SetIn(in)
// fmt the files
r = cmd.GetFmtRunner("")
r = commands.GetFmtRunner("")
r.Command.SetArgs([]string{f1.Name(), f2.Name()})
err = r.Command.Execute()
if !assert.NoError(t, err) {
@@ -141,7 +141,7 @@ func TestFmtCmd_filesAndStdin(t *testing.T) {
// TestCmd_files verifies the fmt command formats the files
func TestCmd_failFiles(t *testing.T) {
// fmt the files
r := cmd.GetFmtRunner("")
r := commands.GetFmtRunner("")
r.Command.SetArgs([]string{"notrealfile"})
err := r.Command.Execute()
assert.EqualError(t, err, "lstat notrealfile: no such file or directory")
@@ -150,7 +150,7 @@ func TestCmd_failFiles(t *testing.T) {
// TestCmd_files verifies the fmt command formats the files
func TestCmd_failFileContents(t *testing.T) {
out := &bytes.Buffer{}
r := cmd.GetFmtRunner("")
r := commands.GetFmtRunner("")
r.Command.SetOut(out)
r.Command.SetIn(strings.NewReader(`{`))

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
//
package cmd
package commands
import (
"fmt"
@@ -9,7 +9,7 @@ import (
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/api/resource"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/kio/filters"
)

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
@@ -11,7 +11,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
)
// TestGrepCommand_files verifies grep reads the files and filters them
@@ -61,7 +61,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetGrepRunner("")
r := commands.GetGrepRunner("")
r.Command.SetArgs([]string{"metadata.name=foo", d})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -101,7 +101,7 @@ spec:
func TestGrepCmd_stdin(t *testing.T) {
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetGrepRunner("")
r := commands.GetGrepRunner("")
r.Command.SetArgs([]string{"metadata.name=foo"})
r.Command.SetOut(b)
r.Command.SetIn(bytes.NewBufferString(`
@@ -166,7 +166,7 @@ spec:
// TestGrepCmd_errInputs verifies the grep command errors on invalid matches
func TestGrepCmd_errInputs(t *testing.T) {
b := &bytes.Buffer{}
r := cmd.GetGrepRunner("")
r := commands.GetGrepRunner("")
r.Command.SetArgs([]string{"metadata.name=foo=bar"})
r.Command.SetOut(b)
r.Command.SetIn(bytes.NewBufferString(`
@@ -188,7 +188,7 @@ spec:
// fmt the files
b = &bytes.Buffer{}
r = cmd.GetGrepRunner("")
r = commands.GetGrepRunner("")
r.Command.SetArgs([]string{"spec.template.spec.containers[a[b=c].image=foo"})
r.Command.SetOut(b)
r.Command.SetIn(bytes.NewBufferString(`
@@ -213,7 +213,7 @@ spec:
func TestGrepCommand_escapeDots(t *testing.T) {
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetGrepRunner("")
r := commands.GetGrepRunner("")
r.Command.SetArgs([]string{"spec.template.spec.containers[name=nginx].image=nginx:1\\.7\\.9",
"--annotate=false"})
r.Command.SetOut(b)

View File

@@ -1,11 +1,11 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/kio"
"sigs.k8s.io/kustomize/kyaml/kio/filters"
)

View File

@@ -1,11 +1,11 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/runfn"
)

View File

@@ -1,13 +1,13 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd
package commands
import (
"path/filepath"
"strings"
"sigs.k8s.io/kustomize/cmd/config/cmddocs/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/commands"
"sigs.k8s.io/kustomize/kyaml/kio/filters"
"github.com/spf13/cobra"

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package cmd_test
package commands_test
import (
"bytes"
@@ -12,7 +12,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"sigs.k8s.io/kustomize/cmd/config/cmd"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
)
// TestCmd_files verifies fmt reads the files and filters them
@@ -74,7 +74,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetTreeRunner("")
r := commands.GetTreeRunner("")
r.Command.SetArgs([]string{d})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -93,7 +93,7 @@ spec:
func TestTreeCommand_stdin(t *testing.T) {
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetTreeRunner("")
r := commands.GetTreeRunner("")
r.Command.SetArgs([]string{})
r.Command.SetIn(bytes.NewBufferString(`apiVersion: extensions/v1
kind: Deployment
@@ -263,7 +263,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetTreeRunner("")
r := commands.GetTreeRunner("")
r.Command.SetArgs([]string{d, "--include-local"})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {
@@ -340,7 +340,7 @@ spec:
// fmt the files
b := &bytes.Buffer{}
r := cmd.GetTreeRunner("")
r := commands.GetTreeRunner("")
r.Command.SetArgs([]string{d, "--include-local", "--exclude-non-local"})
r.Command.SetOut(b)
if !assert.NoError(t, r.Command.Execute()) {

View File

@@ -1,7 +1,7 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
//
package cmd
package commands
import (
"fmt"

View File

@@ -1,22 +1,22 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
//go:generate $GOBIN/mdtogo docs/api-conventions cmddocs/api --full=true --license=none
//go:generate $GOBIN/mdtogo docs/tutorials cmddocs/tutorials --full=true --license=none
//go:generate $GOBIN/mdtogo docs/commands cmddocs/commands --license=none
//go:generate $GOBIN/mdtogo docs/api-conventions internal/generateddocs/api --full=true --license=none
//go:generate $GOBIN/mdtogo docs/tutorials internal/generateddocs/tutorials --full=true --license=none
//go:generate $GOBIN/mdtogo docs/commands internal/generateddocs/commands --license=none
package main
import (
"os"
"sigs.k8s.io/kustomize/cmd/config/cmds"
"sigs.k8s.io/kustomize/cmd/config/configcobra"
"sigs.k8s.io/kustomize/kyaml/commandutil"
)
func main() {
// enable the config commands
os.Setenv(commandutil.EnableAlphaCommmandsEnvName, "true")
if err := cmds.NewConfigCommand("").Execute(); err != nil {
if err := configcobra.NewConfigCommand("").Execute(); err != nil {
os.Exit(1)
}
}

View File

@@ -523,6 +523,7 @@ mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jC
mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw=
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
sigs.k8s.io/kustomize/cmd/config v0.0.0-20191212175637-f5805c64b237 h1:SADHRaxTkwmHvZ+FZJx5m30aQoNZvLc5MRRJfj6tveo=
sigs.k8s.io/kustomize/pluginator/v2 v2.0.0/go.mod h1:zrXhTv8BAKt0egmZX/8AtMOSFUSWM9YuoHvvqz8/eHE=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=

View File

@@ -13,7 +13,7 @@ import (
"sigs.k8s.io/kustomize/api/k8sdeps/kunstruct"
"sigs.k8s.io/kustomize/api/k8sdeps/validator"
"sigs.k8s.io/kustomize/api/konfig"
shell_complete "sigs.k8s.io/kustomize/cmd/config/cmd/complete"
shell_complete "sigs.k8s.io/kustomize/cmd/config/complete"
"sigs.k8s.io/kustomize/cmd/kubectl/kubectlcobra"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/build"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/config"

View File

@@ -10,13 +10,13 @@ import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
"sigs.k8s.io/kustomize/cmd/config/cmds"
"sigs.k8s.io/kustomize/cmd/config/configcobra"
"sigs.k8s.io/kustomize/kyaml/commandutil"
)
// NewCmdConfig returns an instance of 'config' subcommand.
func NewCmdConfig(fSys filesys.FileSystem) *cobra.Command {
c := cmds.NewConfigCommand("kustomize")
c := configcobra.NewConfigCommand("kustomize")
c.AddCommand(
newCmdSave(fSys),

View File

@@ -9,7 +9,7 @@ import (
"path/filepath"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/cmd/complete"
"sigs.k8s.io/kustomize/cmd/config/complete"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands"
)