This commit is contained in:
Cameron
2023-09-01 17:36:15 -07:00
committed by GitHub
2 changed files with 73 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"os"
"strings"
"github.com/containerd/console"
"github.com/containerd/containerd/platforms"
@@ -142,11 +143,19 @@ func runBake(dockerCli command.Cli, targets []string, in bakeOptions, cFlags com
}
}
}()
localFilesArg, remoteFilesArg := getFilesArgs(in.files)
if url != "" {
files, inp, err = bake.ReadRemoteFiles(ctx, nodes, url, in.files, printer)
files, inp, err = bake.ReadRemoteFiles(ctx, nodes, url, remoteFilesArg, printer)
if len(localFilesArg) > 0 {
var localFiles []bake.File
localFiles, err = bake.ReadLocalFiles(localFilesArg, dockerCli.In())
files = append(files, localFiles...)
}
} else {
files, err = bake.ReadLocalFiles(in.files, dockerCli.In())
var filesArg []string
filesArg = append(filesArg, localFilesArg...)
filesArg = append(filesArg, remoteFilesArg...)
files, err = bake.ReadLocalFiles(filesArg, dockerCli.In())
}
if err != nil {
return err
@@ -257,3 +266,16 @@ func bakeCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command {
return cmd
}
func getFilesArgs(s []string) ([]string, []string) {
var localFiles []string
var remoteFiles []string
for _, v := range s {
if strings.HasPrefix(v, "cwd://") {
localFiles = append(localFiles, strings.TrimPrefix(v, "cwd://"))
} else {
remoteFiles = append(remoteFiles, v)
}
}
return localFiles, remoteFiles
}