Skip to content

Commit

Permalink
update projectOptions to be public by renaming it to ProjectOptions
Browse files Browse the repository at this point in the history
Signed-off-by: Tiger Wang <tigerwang@outlook.com>
  • Loading branch information
tigerinus authored and ndeloof committed Dec 20, 2022
1 parent b8bbdcd commit 89ef819
Show file tree
Hide file tree
Showing 25 changed files with 89 additions and 91 deletions.
8 changes: 4 additions & 4 deletions cmd/compose/build.go
Expand Up @@ -34,7 +34,7 @@ import (
)

type buildOptions struct {
*projectOptions
*ProjectOptions
composeOptions
quiet bool
pull bool
Expand Down Expand Up @@ -73,9 +73,9 @@ var printerModes = []string{
buildx.PrinterModeQuiet,
}

func buildCommand(p *projectOptions, backend api.Service) *cobra.Command {
func buildCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := buildOptions{
projectOptions: p,
ProjectOptions: p,
}
cmd := &cobra.Command{
Use: "build [OPTIONS] [SERVICE...]",
Expand Down Expand Up @@ -129,7 +129,7 @@ func buildCommand(p *projectOptions, backend api.Service) *cobra.Command {
}

func runBuild(ctx context.Context, backend api.Service, opts buildOptions, services []string) error {
project, err := opts.toProject(services, cli.WithResolvedPaths(true))
project, err := opts.ToProject(services, cli.WithResolvedPaths(true))
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/compose/completion.go
Expand Up @@ -32,9 +32,9 @@ func noCompletion() validArgsFn {
}
}

func completeServiceNames(p *projectOptions) validArgsFn {
func completeServiceNames(p *ProjectOptions) validArgsFn {
return func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
project, err := p.toProject(nil)
project, err := p.ToProject(nil)
if err != nil {
return nil, cobra.ShellCompDirectiveNoFileComp
}
Expand Down
26 changes: 13 additions & 13 deletions cmd/compose/compose.go
Expand Up @@ -91,7 +91,7 @@ func Adapt(fn Command) func(cmd *cobra.Command, args []string) error {
})
}

type projectOptions struct {
type ProjectOptions struct {
ProjectName string
Profiles []string
ConfigPaths []string
Expand All @@ -108,16 +108,16 @@ type ProjectFunc func(ctx context.Context, project *types.Project) error
type ProjectServicesFunc func(ctx context.Context, project *types.Project, services []string) error

// WithProject creates a cobra run command from a ProjectFunc based on configured project options and selected services
func (o *projectOptions) WithProject(fn ProjectFunc) func(cmd *cobra.Command, args []string) error {
func (o *ProjectOptions) WithProject(fn ProjectFunc) func(cmd *cobra.Command, args []string) error {
return o.WithServices(func(ctx context.Context, project *types.Project, services []string) error {
return fn(ctx, project)
})
}

// WithServices creates a cobra run command from a ProjectFunc based on configured project options and selected services
func (o *projectOptions) WithServices(fn ProjectServicesFunc) func(cmd *cobra.Command, args []string) error {
func (o *ProjectOptions) WithServices(fn ProjectServicesFunc) func(cmd *cobra.Command, args []string) error {
return Adapt(func(ctx context.Context, args []string) error {
project, err := o.toProject(args, cli.WithResolvedPaths(true))
project, err := o.ToProject(args, cli.WithResolvedPaths(true))
if err != nil {
return err
}
Expand All @@ -126,7 +126,7 @@ func (o *projectOptions) WithServices(fn ProjectServicesFunc) func(cmd *cobra.Co
})
}

func (o *projectOptions) addProjectFlags(f *pflag.FlagSet) {
func (o *ProjectOptions) addProjectFlags(f *pflag.FlagSet) {
f.StringArrayVar(&o.Profiles, "profile", []string{}, "Specify a profile to enable")
f.StringVarP(&o.ProjectName, "project-name", "p", "", "Project name")
f.StringArrayVarP(&o.ConfigPaths, "file", "f", []string{}, "Compose configuration files")
Expand All @@ -137,11 +137,11 @@ func (o *projectOptions) addProjectFlags(f *pflag.FlagSet) {
_ = f.MarkHidden("workdir")
}

func (o *projectOptions) projectOrName(services ...string) (*types.Project, string, error) {
func (o *ProjectOptions) projectOrName(services ...string) (*types.Project, string, error) {
name := o.ProjectName
var project *types.Project
if len(o.ConfigPaths) > 0 || o.ProjectName == "" {
p, err := o.toProject(services)
p, err := o.ToProject(services)
if err != nil {
envProjectName := os.Getenv("COMPOSE_PROJECT_NAME")
if envProjectName != "" {
Expand All @@ -155,7 +155,7 @@ func (o *projectOptions) projectOrName(services ...string) (*types.Project, stri
return project, name, nil
}

func (o *projectOptions) toProjectName() (string, error) {
func (o *ProjectOptions) toProjectName() (string, error) {
if o.ProjectName != "" {
return o.ProjectName, nil
}
Expand All @@ -165,14 +165,14 @@ func (o *projectOptions) toProjectName() (string, error) {
return envProjectName, nil
}

project, err := o.toProject(nil)
project, err := o.ToProject(nil)
if err != nil {
return "", err
}
return project.Name, nil
}

func (o *projectOptions) toProject(services []string, po ...cli.ProjectOptionsFn) (*types.Project, error) {
func (o *ProjectOptions) ToProject(services []string, po ...cli.ProjectOptionsFn) (*types.Project, error) {
options, err := o.toProjectOptions(po...)
if err != nil {
return nil, compose.WrapComposeError(err)
Expand Down Expand Up @@ -222,7 +222,7 @@ func (o *projectOptions) toProject(services []string, po ...cli.ProjectOptionsFn
return project, err
}

func (o *projectOptions) toProjectOptions(po ...cli.ProjectOptionsFn) (*cli.ProjectOptions, error) {
func (o *ProjectOptions) toProjectOptions(po ...cli.ProjectOptionsFn) (*cli.ProjectOptions, error) {
return cli.NewProjectOptions(o.ConfigPaths,
append(po,
cli.WithWorkingDirectory(o.ProjectDir),
Expand Down Expand Up @@ -254,7 +254,7 @@ func RootCommand(dockerCli command.Cli, backend api.Service) *cobra.Command { //
"commandConn.CloseRead:",
))

opts := projectOptions{}
opts := ProjectOptions{}
var (
ansi string
noAnsi bool
Expand Down Expand Up @@ -383,7 +383,7 @@ func RootCommand(dockerCli command.Cli, backend api.Service) *cobra.Command { //
return c
}

func setEnvWithDotEnv(prjOpts *projectOptions) error {
func setEnvWithDotEnv(prjOpts *ProjectOptions) error {
options, err := prjOpts.toProjectOptions()
if err != nil {
return compose.WrapComposeError(err)
Expand Down
19 changes: 9 additions & 10 deletions cmd/compose/convert.go
Expand Up @@ -35,7 +35,7 @@ import (
)

type convertOptions struct {
*projectOptions
*ProjectOptions
Format string
Output string
quiet bool
Expand All @@ -50,9 +50,9 @@ type convertOptions struct {
noConsistency bool
}

func convertCommand(p *projectOptions, backend api.Service) *cobra.Command {
func convertCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := convertOptions{
projectOptions: p,
ProjectOptions: p,
}
cmd := &cobra.Command{
Aliases: []string{"config"},
Expand Down Expand Up @@ -112,13 +112,12 @@ func convertCommand(p *projectOptions, backend api.Service) *cobra.Command {

func runConvert(ctx context.Context, backend api.Service, opts convertOptions, services []string) error {
var content []byte
project, err := opts.toProject(services,
project, err := opts.ToProject(services,
cli.WithInterpolation(!opts.noInterpolate),
cli.WithResolvedPaths(true),
cli.WithNormalization(!opts.noNormalize),
cli.WithConsistency(!opts.noConsistency),
cli.WithDiscardEnvFile)

if err != nil {
return err
}
Expand Down Expand Up @@ -153,7 +152,7 @@ func runConvert(ctx context.Context, backend api.Service, opts convertOptions, s
}

func runServices(opts convertOptions) error {
project, err := opts.toProject(nil)
project, err := opts.ToProject(nil)
if err != nil {
return err
}
Expand All @@ -164,7 +163,7 @@ func runServices(opts convertOptions) error {
}

func runVolumes(opts convertOptions) error {
project, err := opts.toProject(nil)
project, err := opts.ToProject(nil)
if err != nil {
return err
}
Expand All @@ -179,7 +178,7 @@ func runHash(opts convertOptions) error {
if opts.hash != "*" {
services = append(services, strings.Split(opts.hash, ",")...)
}
project, err := opts.toProject(services)
project, err := opts.ToProject(services)
if err != nil {
return err
}
Expand All @@ -195,7 +194,7 @@ func runHash(opts convertOptions) error {

func runProfiles(opts convertOptions, services []string) error {
set := map[string]struct{}{}
project, err := opts.toProject(services)
project, err := opts.ToProject(services)
if err != nil {
return err
}
Expand All @@ -216,7 +215,7 @@ func runProfiles(opts convertOptions, services []string) error {
}

func runConfigImages(opts convertOptions, services []string) error {
project, err := opts.toProject(services)
project, err := opts.ToProject(services)
if err != nil {
return err
}
Expand Down
6 changes: 3 additions & 3 deletions cmd/compose/cp.go
Expand Up @@ -27,7 +27,7 @@ import (
)

type copyOptions struct {
*projectOptions
*ProjectOptions

source string
destination string
Expand All @@ -37,9 +37,9 @@ type copyOptions struct {
copyUIDGID bool
}

func copyCommand(p *projectOptions, backend api.Service) *cobra.Command {
func copyCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := copyOptions{
projectOptions: p,
ProjectOptions: p,
}
copyCmd := &cobra.Command{
Use: `cp [OPTIONS] SERVICE:SRC_PATH DEST_PATH|-
Expand Down
2 changes: 1 addition & 1 deletion cmd/compose/create.go
Expand Up @@ -43,7 +43,7 @@ type createOptions struct {
quietPull bool
}

func createCommand(p *projectOptions, backend api.Service) *cobra.Command {
func createCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := createOptions{}
cmd := &cobra.Command{
Use: "create [OPTIONS] [SERVICE...]",
Expand Down
6 changes: 3 additions & 3 deletions cmd/compose/down.go
Expand Up @@ -31,17 +31,17 @@ import (
)

type downOptions struct {
*projectOptions
*ProjectOptions
removeOrphans bool
timeChanged bool
timeout int
volumes bool
images string
}

func downCommand(p *projectOptions, backend api.Service) *cobra.Command {
func downCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := downOptions{
projectOptions: p,
ProjectOptions: p,
}
downCmd := &cobra.Command{
Use: "down [OPTIONS]",
Expand Down
4 changes: 2 additions & 2 deletions cmd/compose/events.go
Expand Up @@ -31,10 +31,10 @@ type eventsOpts struct {
json bool
}

func eventsCommand(p *projectOptions, backend api.Service) *cobra.Command {
func eventsCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := eventsOpts{
composeOptions: &composeOptions{
projectOptions: p,
ProjectOptions: p,
},
}
cmd := &cobra.Command{
Expand Down
4 changes: 2 additions & 2 deletions cmd/compose/exec.go
Expand Up @@ -43,10 +43,10 @@ type execOpts struct {
interactive bool
}

func execCommand(p *projectOptions, dockerCli command.Cli, backend api.Service) *cobra.Command {
func execCommand(p *ProjectOptions, dockerCli command.Cli, backend api.Service) *cobra.Command {
opts := execOpts{
composeOptions: &composeOptions{
projectOptions: p,
ProjectOptions: p,
},
}
runCmd := &cobra.Command{
Expand Down
6 changes: 3 additions & 3 deletions cmd/compose/images.go
Expand Up @@ -34,14 +34,14 @@ import (
)

type imageOptions struct {
*projectOptions
*ProjectOptions
Quiet bool
Format string
}

func imagesCommand(p *projectOptions, backend api.Service) *cobra.Command {
func imagesCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := imageOptions{
projectOptions: p,
ProjectOptions: p,
}
imgCmd := &cobra.Command{
Use: "images [OPTIONS] [SERVICE...]",
Expand Down
7 changes: 3 additions & 4 deletions cmd/compose/kill.go
Expand Up @@ -27,14 +27,14 @@ import (
)

type killOptions struct {
*projectOptions
*ProjectOptions
removeOrphans bool
signal string
}

func killCommand(p *projectOptions, backend api.Service) *cobra.Command {
func killCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := killOptions{
projectOptions: p,
ProjectOptions: p,
}
cmd := &cobra.Command{
Use: "kill [OPTIONS] [SERVICE...]",
Expand Down Expand Up @@ -65,5 +65,4 @@ func runKill(ctx context.Context, backend api.Service, opts killOptions, service
Services: services,
Signal: opts.signal,
})

}
6 changes: 3 additions & 3 deletions cmd/compose/logs.go
Expand Up @@ -27,7 +27,7 @@ import (
)

type logsOptions struct {
*projectOptions
*ProjectOptions
composeOptions
follow bool
tail string
Expand All @@ -38,9 +38,9 @@ type logsOptions struct {
timestamps bool
}

func logsCommand(p *projectOptions, backend api.Service) *cobra.Command {
func logsCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := logsOptions{
projectOptions: p,
ProjectOptions: p,
}
logsCmd := &cobra.Command{
Use: "logs [OPTIONS] [SERVICE...]",
Expand Down
12 changes: 6 additions & 6 deletions cmd/compose/pause.go
Expand Up @@ -25,12 +25,12 @@ import (
)

type pauseOptions struct {
*projectOptions
*ProjectOptions
}

func pauseCommand(p *projectOptions, backend api.Service) *cobra.Command {
func pauseCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := pauseOptions{
projectOptions: p,
ProjectOptions: p,
}
cmd := &cobra.Command{
Use: "pause [SERVICE...]",
Expand All @@ -56,12 +56,12 @@ func runPause(ctx context.Context, backend api.Service, opts pauseOptions, servi
}

type unpauseOptions struct {
*projectOptions
*ProjectOptions
}

func unpauseCommand(p *projectOptions, backend api.Service) *cobra.Command {
func unpauseCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
opts := unpauseOptions{
projectOptions: p,
ProjectOptions: p,
}
cmd := &cobra.Command{
Use: "unpause [SERVICE...]",
Expand Down

0 comments on commit 89ef819

Please sign in to comment.