summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-10-25 12:18:00 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-10-25 19:50:18 +0200
commit64e1613fb390bd893900dc0596e5c3f3c8e1cd8c (patch)
tree455ff496e478b906039edd3ebdd523b88d438060 /modules
parentb959ecbc8175e2bf260f10b08965531bce9bcb7e (diff)
Fix panic when specifying multiple excludeFiles directives
Fixes #9076
Diffstat (limited to 'modules')
-rw-r--r--modules/collect.go6
-rw-r--r--modules/config.go6
2 files changed, 9 insertions, 3 deletions
diff --git a/modules/collect.go b/modules/collect.go
index 8798f45b1..44d714a67 100644
--- a/modules/collect.go
+++ b/modules/collect.go
@@ -149,13 +149,13 @@ func (m *ModulesConfig) finalize(logger loggers.Logger) error {
func filterUnwantedMounts(mounts []Mount) []Mount {
// Remove duplicates
- seen := make(map[Mount]bool)
+ seen := make(map[string]bool)
tmp := mounts[:0]
for _, m := range mounts {
- if !seen[m] {
+ if !seen[m.key()] {
tmp = append(tmp, m)
}
- seen[m] = true
+ seen[m.key()] = true
}
return tmp
}
diff --git a/modules/config.go b/modules/config.go
index f80a456cf..fc4d617f9 100644
--- a/modules/config.go
+++ b/modules/config.go
@@ -15,6 +15,7 @@ package modules
import (
"fmt"
+ "path"
"path/filepath"
"strings"
@@ -386,6 +387,11 @@ type Mount struct {
ExcludeFiles interface{}
}
+// Used as key to remove duplicates.
+func (m Mount) key() string {
+ return path.Join(m.Lang, m.Source, m.Target)
+}
+
func (m Mount) Component() string {
return strings.Split(m.Target, fileSeparator)[0]
}