Skip to content

Commit 6c5f0ad

Browse files
committed
fix cycle tracker to manage homonym services
Signed-off-by: Nicolas De Loof <[email protected]>
1 parent 5a8e677 commit 6c5f0ad

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

cmd/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ Usage: compose-spec [OPTIONS] COMPOSE_FILE [COMPOSE_OVERRIDE_FILE]`)
6060
}
6161

6262
func exitError(message string, err error) {
63-
_ = fmt.Errorf("%s: %w", message, err)
63+
fmt.Fprintf(os.Stderr, "%s: %v", message, err)
6464
os.Exit(1)
6565
}

loader/extends.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,8 @@ func applyServiceExtends(ctx context.Context, name string, services map[string]a
6060
return s, nil
6161
}
6262
filename := ctx.Value(consts.ComposeFileKey{}).(string)
63-
tracker, err := tracker.Add(filename, name)
64-
if err != nil {
65-
return nil, err
66-
}
6763
var (
64+
err error
6865
ref string
6966
file any
7067
)
@@ -78,8 +75,8 @@ func applyServiceExtends(ctx context.Context, name string, services map[string]a
7875

7976
var base any
8077
if file != nil {
81-
path := file.(string)
82-
services, err = getExtendsBaseFromFile(ctx, ref, path, opts, tracker)
78+
filename = file.(string)
79+
services, err = getExtendsBaseFromFile(ctx, ref, filename, opts, tracker)
8380
if err != nil {
8481
return nil, err
8582
}
@@ -89,6 +86,12 @@ func applyServiceExtends(ctx context.Context, name string, services map[string]a
8986
return nil, fmt.Errorf("cannot extend service %q in %s: service not found", name, filename)
9087
}
9188
}
89+
90+
tracker, err = tracker.Add(filename, name)
91+
if err != nil {
92+
return nil, err
93+
}
94+
9295
// recursively apply `extends`
9396
base, err = applyServiceExtends(ctx, ref, services, opts, tracker, post...)
9497
if err != nil {

0 commit comments

Comments
 (0)