Skip to content

Commit

Permalink
add working dir to LoadConfigFiles function to create ConfigDetails
Browse files Browse the repository at this point in the history
Signed-off-by: Guillaume Lours <[email protected]>
  • Loading branch information
glours committed Oct 22, 2024
1 parent 6359f15 commit 95281eb
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
6 changes: 3 additions & 3 deletions cli/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -404,8 +404,8 @@ func (o *ProjectOptions) GetWorkingDir() (string, error) {
}

// ReadConfigFiles reads ConfigFiles and populates the content field
func (o ProjectOptions) ReadConfigFiles(ctx context.Context, options *ProjectOptions) (*types.ConfigDetails, error) {
config, err := loader.LoadConfigFiles(ctx, options.ConfigPaths, options.loadOptions...)
func (o *ProjectOptions) ReadConfigFiles(ctx context.Context, workingDir string, options *ProjectOptions) (*types.ConfigDetails, error) {
config, err := loader.LoadConfigFiles(ctx, options.ConfigPaths, workingDir, options.loadOptions...)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -477,7 +477,7 @@ func (o *ProjectOptions) prepare(ctx context.Context) (*types.ConfigDetails, err
return &types.ConfigDetails{}, err
}

configDetails, err := o.ReadConfigFiles(ctx, o)
configDetails, err := o.ReadConfigFiles(ctx, defaultDir, o)
if err != nil {
return configDetails, err
}
Expand Down
8 changes: 5 additions & 3 deletions loader/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import (
"strings"

"github.com/compose-spec/compose-go/v2/consts"
"github.com/compose-spec/compose-go/v2/errdefs"
interp "github.com/compose-spec/compose-go/v2/interpolation"
"github.com/compose-spec/compose-go/v2/override"
"github.com/compose-spec/compose-go/v2/paths"
Expand Down Expand Up @@ -301,14 +302,15 @@ func parseYAML(decoder *yaml.Decoder) (map[string]interface{}, PostProcessor, er
}

// LoadConfigFiles ingests config files with ResourceLoader and returns config details with paths to local copies
func LoadConfigFiles(ctx context.Context, configFiles []string, options ...func(*Options)) (*types.ConfigDetails, error) {
func LoadConfigFiles(ctx context.Context, configFiles []string, workingDir string, options ...func(*Options)) (*types.ConfigDetails, error) {
if len(configFiles) < 1 {
return &types.ConfigDetails{}, errors.New("no files specified")
return &types.ConfigDetails{}, fmt.Errorf("no configuration file provided: %w", errdefs.ErrNotFound)
}

opts := &Options{}
config := &types.ConfigDetails{
ConfigFiles: make([]types.ConfigFile, len(configFiles)),
WorkingDir: workingDir,
}

for _, op := range options {
Expand All @@ -328,7 +330,7 @@ func LoadConfigFiles(ctx context.Context, configFiles []string, options ...func(
continue
}
if config.WorkingDir == "" {
config.WorkingDir = filepath.Dir(local)
config.WorkingDir = workingDir

}
abs, err := filepath.Abs(local)
Expand Down

0 comments on commit 95281eb

Please sign in to comment.