Bläddra i källkod

Print services in dependency order

Currently, `compose config --services` outputs the services in
a random/non-deterministic order.

In Compose v1, this was implicitly topologically sorted because
the project services were pre-sorted. With `compose-go`, the
services are unordered, and the `WithServices()` helper can be
used to iterate in dependency order.

Signed-off-by: Milas Bowman <[email protected]>
Milas Bowman 4 år sedan
förälder
incheckning
1e35245390
1 ändrade filer med 4 tillägg och 3 borttagningar
  1. 4 3
      cmd/compose/convert.go

+ 4 - 3
cmd/compose/convert.go

@@ -27,6 +27,7 @@ import (
 
 	"github.com/cnabio/cnab-to-oci/remotes"
 	"github.com/compose-spec/compose-go/cli"
+	"github.com/compose-spec/compose-go/types"
 	"github.com/distribution/distribution/v3/reference"
 	cliconfig "github.com/docker/cli/cli/config"
 	"github.com/opencontainers/go-digest"
@@ -153,10 +154,10 @@ func runServices(opts convertOptions) error {
 	if err != nil {
 		return err
 	}
-	for _, s := range project.Services {
+	return project.WithServices(project.ServiceNames(), func(s types.ServiceConfig) error {
 		fmt.Println(s.Name)
-	}
-	return nil
+		return nil
+	})
 }
 
 func runVolumes(opts convertOptions) error {