From dce44ed55290439976c99cb147ed38563deb3bef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz=20Sm=C3=B3=C5=82ka?= Date: Tue, 26 Aug 2025 13:35:55 +0200 Subject: [PATCH] Skip "go work" commands on systems with no Go installed --- trainings/init.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/trainings/init.go b/trainings/init.go index 58c96fc..23fa278 100644 --- a/trainings/init.go +++ b/trainings/init.go @@ -178,6 +178,10 @@ func writeGitignore(trainingRootFs *afero.BasePathFs) error { } func createGoWorkspace(trainingRoot string) error { + if !hasGo() { + return nil + } + cmd := exec.Command("go", "work", "init") cmd.Dir = trainingRoot @@ -201,6 +205,10 @@ func hasGoWorkspace(trainingRoot string) bool { } func addModuleToWorkspace(trainingRoot string, modulePath string) error { + if !hasGo() { + return nil + } + if !hasGoWorkspace(trainingRoot) { return nil } @@ -217,6 +225,11 @@ func addModuleToWorkspace(trainingRoot string, modulePath string) error { return nil } +func hasGo() bool { + _, err := exec.LookPath("go") + return err == nil +} + func (h *Handlers) showTrainingStartPrompt(trainingDir string) error { fmt.Printf( "This command will clone training source code to %s directory.\n",