Allow several compose file in -c arg

This commit is contained in:
2022-06-03 16:17:53 +02:00
parent 1350a26162
commit 4cf470f222
2 changed files with 24 additions and 14 deletions

View File

@@ -26,32 +26,34 @@ var (
)
// NewParser create a Parser and parse the file given in filename. If filename is empty, we try to parse the content[0] argument that should be a valid YAML content.
func NewParser(filename string, content ...string) *Parser {
func NewParser(filename []string, content ...string) *Parser {
p := &Parser{}
if len(content) > 0 { // mainly for the tests...
dir := filepath.Dir(filename)
dir := filepath.Dir(filename[0])
err := os.MkdirAll(dir, 0755)
if err != nil {
log.Fatal(err)
}
p.temporary = &dir
ioutil.WriteFile(filename, []byte(content[0]), 0644)
cli.DefaultFileNames = []string{filename}
ioutil.WriteFile(filename[0], []byte(content[0]), 0644)
cli.DefaultFileNames = filename
}
// if filename is not in cli Default files, add it
if len(filename) > 0 {
found := false
for _, f := range cli.DefaultFileNames {
if f == filename {
found = true
break
for _, defaultFileName := range cli.DefaultFileNames {
for _, givenFileName := range filename {
if defaultFileName == givenFileName {
found = true
break
}
}
}
// add the file at first position
if !found {
cli.DefaultFileNames = append([]string{filename}, cli.DefaultFileNames...)
cli.DefaultFileNames = append(filename, cli.DefaultFileNames...)
}
}