You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ts...@apache.org on 2022/06/17 03:54:59 UTC
[camel-k] 01/02: Fixes `kamel local run` panic on Windows
This is an automated email from the ASF dual-hosted git repository.
tsato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit df35c60f20f4860af5bb662abd5e6cbaa699e934
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 794f49e33..7f0252a3f 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))
+}