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


The following commit(s) were added to refs/heads/main by this push:
     new 819dda0  fix(cli): make sure kamel local run clean up dirs at ctrl+c
819dda0 is described below

commit 819dda04fe37f6f3aaaec5772936c11ab8805c4c
Author: Tadayoshi Sato <sato.tadayo...@gmail.com>
AuthorDate: Tue Mar 8 17:26:16 2022 +0900

    fix(cli): make sure kamel local run clean up dirs at ctrl+c
    
    Fix #3029
---
 pkg/cmd/local_run.go             | 16 ++++++++++++++++
 pkg/cmd/util_containerization.go |  6 +++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/pkg/cmd/local_run.go b/pkg/cmd/local_run.go
index a1cf21a..f886dc3 100644
--- a/pkg/cmd/local_run.go
+++ b/pkg/cmd/local_run.go
@@ -19,6 +19,9 @@ package cmd
 
 import (
        "fmt"
+       "os"
+       "os/signal"
+       "syscall"
 
        "github.com/pkg/errors"
        "github.com/spf13/cobra"
@@ -43,6 +46,19 @@ func newCmdLocalRun(rootCmdOptions *RootCmdOptions) 
(*cobra.Command, *localRunCm
                        if err := options.init(); err != nil {
                                return err
                        }
+
+                       // make sure cleanup is done when process is stopped 
externally
+                       cs := make(chan os.Signal, 1)
+                       signal.Notify(cs, os.Interrupt, syscall.SIGTERM)
+                       go func() {
+                               <-cs
+                               if err := options.deinit(); err != nil {
+                                       fmt.Println(err)
+                                       os.Exit(1)
+                               }
+                               os.Exit(0)
+                       }()
+
                        if err := options.run(cmd, args); err != nil {
                                fmt.Println(err.Error())
                        }
diff --git a/pkg/cmd/util_containerization.go b/pkg/cmd/util_containerization.go
index aae4f13..c7eac73 100644
--- a/pkg/cmd/util_containerization.go
+++ b/pkg/cmd/util_containerization.go
@@ -95,7 +95,7 @@ func createAndBuildBaseImage(ctx context.Context) error {
        cmd := exec.CommandContext(ctx, "docker", args...)
 
        // Output executed command.
-       fmt.Printf("Executing: " + strings.Join(cmd.Args, " ") + "\n")
+       fmt.Printf("Executing: %s\n", strings.Join(cmd.Args, " "))
 
        // Run the command.
        if err := cmd.Run(); err != nil {
@@ -192,7 +192,7 @@ func createAndBuildIntegrationImage(ctx context.Context, 
containerRegistry strin
        cmd.Stdout = stdout
 
        // Output executed command.
-       fmt.Printf("Executing: " + strings.Join(cmd.Args, " ") + "\n")
+       fmt.Printf("Executing: %s\n", strings.Join(cmd.Args, " "))
 
        // Run the command.
        if err := cmd.Run(); err != nil {
@@ -225,7 +225,7 @@ func runIntegrationImage(ctx context.Context, image string, 
stdout, stderr io.Wr
        cmd.Stdout = stdout
 
        // Output executed command.
-       fmt.Printf("Executing: " + strings.Join(cmd.Args, " ") + "\n")
+       fmt.Printf("Executing: %s\n", strings.Join(cmd.Args, " "))
 
        // Run the command.
        if err := cmd.Run(); err != nil {

Reply via email to