Fix compose config --profiles

Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
This commit is contained in:
Ulysses Souza 2021-04-12 00:53:50 -03:00
parent c11a458666
commit 6dbfc71a0d
2 changed files with 14 additions and 16 deletions

View File

@ -77,13 +77,11 @@ func (o *projectOptions) toProject(services []string, po ...cli.ProjectOptionsFn
return nil, err
}
if len(services) != 0 {
s, err := project.GetServices(services...)
if err != nil {
return nil, err
}
o.Profiles = append(o.Profiles, s.GetProfiles()...)
}
if profiles, ok := options.Environment["COMPOSE_PROFILES"]; ok {
o.Profiles = append(o.Profiles, strings.Split(profiles, ",")...)

View File

@ -78,7 +78,7 @@ func convertCommand(p *projectOptions) *cobra.Command {
return runHash(opts)
}
if opts.profiles {
return runProfiles(opts)
return runProfiles(opts, args)
}
return runConvert(cmd.Context(), opts, args)
@ -195,19 +195,19 @@ func runHash(opts convertOptions) error {
return nil
}
func runProfiles(opts convertOptions) error {
profiles := map[string]struct{}{}
project, err := opts.toProject(nil)
func runProfiles(opts convertOptions, services []string) error {
profiles := map[string]interface{}{}
_, err := opts.toProject(services)
if err != nil {
return err
}
for _, s := range project.Services {
for _, p := range s.Profiles {
profiles[p] = struct{}{}
if opts.projectOptions != nil {
for _, p := range opts.projectOptions.Profiles {
profiles[p] = nil
}
}
for _, p := range profiles {
for p := range profiles {
fmt.Println(p)
}
}
return nil
}