From 6db527483dec048fbcc5735c41b137a8eb6508e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 19 Dec 2022 15:50:53 +0100 Subject: Add any configured Go Workspace file to the config watcher Fixes #10556 --- modules/collect.go | 13 +++++++++++-- modules/config.go | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/collect.go b/modules/collect.go index 7d92e3045..ae6df9be9 100644 --- a/modules/collect.go +++ b/modules/collect.go @@ -107,9 +107,15 @@ func (h *Client) collect(tidy bool) (ModulesConfig, *collector) { } }*/ + var workspaceFilename string + if h.ccfg.ModuleConfig.Workspace != WorkspaceDisabled { + workspaceFilename = h.ccfg.ModuleConfig.Workspace + } + return ModulesConfig{ - AllModules: c.modules, - GoModulesFilename: c.GoModulesFilename, + AllModules: c.modules, + GoModulesFilename: c.GoModulesFilename, + GoWorkspaceFilename: workspaceFilename, }, c } @@ -122,6 +128,9 @@ type ModulesConfig struct { // Set if this is a Go modules enabled project. GoModulesFilename string + + // Set if a Go workspace file is configured. + GoWorkspaceFilename string } func (m *ModulesConfig) setActiveMods(logger loggers.Logger) error { diff --git a/modules/config.go b/modules/config.go index 86166300a..c08d2a4ab 100644 --- a/modules/config.go +++ b/modules/config.go @@ -15,6 +15,7 @@ package modules import ( "fmt" + "os" "path/filepath" "strings" @@ -261,6 +262,9 @@ func decodeConfig(cfg config.Provider, pathReplacements map[string]string) (Conf workingDir := cfg.GetString("workingDir") c.Workspace = filepath.Join(workingDir, c.Workspace) } + if _, err := os.Stat(c.Workspace); err != nil { + return c, fmt.Errorf("module workspace %q does not exist", c.Workspace) + } } } -- cgit v1.2.3