This is an automated email from the ASF dual-hosted git repository. tsato pushed a commit to branch release-1.8.x in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit d10ee663abeb1e3eeb1222572ef1a0879973c331 Author: Adriano Machado <unknown> AuthorDate: Wed Jun 15 19:39:46 2022 -0400 Fixes `kamel local run` panic on Windows --- pkg/cmd/util_commands.go | 3 ++- pkg/resources/resources_support.go | 16 +++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/cmd/util_commands.go b/pkg/cmd/util_commands.go index c7c3605b6..2493c237a 100644 --- a/pkg/cmd/util_commands.go +++ b/pkg/cmd/util_commands.go @@ -21,6 +21,7 @@ import ( "context" "fmt" "io" + "os" "os/exec" "strings" @@ -49,7 +50,7 @@ func assembleClasspathArgValue(properties []string, dependencies []string, route classpathContents = append(classpathContents, properties...) classpathContents = append(classpathContents, routes...) classpathContents = append(classpathContents, dependencies...) - return strings.Join(classpathContents, ":") + return strings.Join(classpathContents, string(os.PathListSeparator)) } func assembleIntegrationRunCommand(ctx context.Context, properties []string, dependencies []string, routes []string, propertiesDir string, stdout, stderr io.Writer, local bool) (*exec.Cmd, error) { diff --git a/pkg/resources/resources_support.go b/pkg/resources/resources_support.go index 46a8c36b4..684fab2f9 100644 --- a/pkg/resources/resources_support.go +++ b/pkg/resources/resources_support.go @@ -20,6 +20,7 @@ package resources import ( "bytes" "io/ioutil" + "net/http" "os" "path/filepath" "strings" @@ -46,7 +47,7 @@ func Resource(name string) ([]byte, error) { name = "/" + name } - file, err := assets.Open(name) + file, err := openAsset(name) if err != nil { return nil, errors.Wrapf(err, "cannot access resource file %s", name) } @@ -85,7 +86,7 @@ func TemplateResource(name string, params interface{}) (string, error) { // DirExists tells if a directory exists and can be listed for files. func DirExists(dirName string) bool { - if _, err := assets.Open(dirName); err != nil { + if _, err := openAsset(dirName); err != nil { return false } return true @@ -103,8 +104,9 @@ func WithPrefix(pathPrefix string) ([]string, error) { var res []string for i := range paths { - if result, _ := filepath.Match(pathPrefix+"*", paths[i]); result { - res = append(res, paths[i]) + path := filepath.FromSlash(paths[i]) + if result, _ := filepath.Match(pathPrefix+"*", path); result { + res = append(res, path) } } @@ -113,7 +115,7 @@ func WithPrefix(pathPrefix string) ([]string, error) { // Resources lists all file names in the given path (starts with '/'). func Resources(dirName string) ([]string, error) { - dir, err := assets.Open(dirName) + dir, err := openAsset(dirName) if err != nil { if os.IsNotExist(err) { return nil, nil @@ -146,3 +148,7 @@ func Resources(dirName string) ([]string, error) { return res, dir.Close() } + +func openAsset(path string) (http.File, error) { + return assets.Open(filepath.FromSlash(path)) +}