This is an automated email from the ASF dual-hosted git repository.

astefanutti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit ba4a25fc7ffdab51c14b99ffc10e7539ce84e609
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu Jun 3 11:07:57 2021 +0200

    refactor(cmd/run): synch all option files
    
    Ref #2003
---
 pkg/cmd/run.go           |  5 ++++-
 pkg/cmd/run_help.go      | 11 +++++++++++
 pkg/cmd/run_help_test.go | 17 +++++++++++++++++
 3 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index 6e4c373..fe6b209 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -407,7 +407,10 @@ func (o *runCmdOptions) syncIntegration(cmd 
*cobra.Command, c client.Client, sou
        // Let's watch all relevant files when in dev mode
        var files []string
        files = append(files, sources...)
-       files = append(files, o.Resources...)
+       files = append(files, filterFileLocation(o.Resources)...)
+       files = append(files, filterFileLocation(o.Configs)...)
+       files = append(files, filterFileLocation(o.Properties)...)
+       files = append(files, filterFileLocation(o.BuildProperties)...)
        files = append(files, o.PropertyFiles...)
        files = append(files, o.OpenAPIs...)
 
diff --git a/pkg/cmd/run_help.go b/pkg/cmd/run_help.go
index c7f80e7..a1ab41e 100644
--- a/pkg/cmd/run_help.go
+++ b/pkg/cmd/run_help.go
@@ -200,3 +200,14 @@ func binaryOrTextResource(fileName string, data []byte, 
contentType string, base
        }
        return resourceSpec, nil
 }
+
+func filterFileLocation(maybeFileLocations []string) []string {
+       filteredOptions := make([]string, 0)
+       for _, option := range maybeFileLocations {
+               if strings.HasPrefix(option, "file:") {
+                       localPath, _ := parseFileValue(strings.Replace(option, 
"file:", "", 1))
+                       filteredOptions = append(filteredOptions, localPath)
+               }
+       }
+       return filteredOptions
+}
diff --git a/pkg/cmd/run_help_test.go b/pkg/cmd/run_help_test.go
index 5eab301..abae91d 100644
--- a/pkg/cmd/run_help_test.go
+++ b/pkg/cmd/run_help_test.go
@@ -50,3 +50,20 @@ func TestParseConfigOption(t *testing.T) {
        assert.Equal(t, "my-file.txt", location.Value)
        assert.Equal(t, "/tmp/another-name.xml", location.DestinationPath())
 }
+
+func TestFilterFileLocation(t *testing.T) {
+       optionFileLocations := []string{
+               "file:/path/to/valid/file",
+               "file:app.properties",
+               "configmap:my-configmap",
+               "secret:my-secret",
+               "file:/validfile@/tmp/destination",
+       }
+
+       filteredOptions := filterFileLocation(optionFileLocations)
+
+       assert.Equal(t, 3, len(filteredOptions))
+       assert.Equal(t, "/path/to/valid/file", filteredOptions[0])
+       assert.Equal(t, "app.properties", filteredOptions[1])
+       assert.Equal(t, "/validfile", filteredOptions[2])
+}

Reply via email to