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 {