Skip to content

Commit 0e8efc1

Browse files
committed
allow tools with same name and different vendor
1 parent 12b7628 commit 0e8efc1

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/arduino.cc/builder/tools_loader.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ func collectAllToolsFolders(from string) ([]string, error) {
111111
return folders, i18n.WrapError(err)
112112
}
113113

114-
func toolsSliceContains(tools *[]*types.Tool, name, version string) bool {
114+
func toolsSliceContains(tools *[]*types.Tool, name, version string, vendor string) bool {
115115
for _, tool := range *tools {
116-
if name == tool.Name && version == tool.Version {
116+
if name == tool.Name && version == tool.Version && vendor == tool.Vendor {
117117
return true
118118
}
119119
}
@@ -138,7 +138,7 @@ func loadToolsFrom(tools *[]*types.Tool, builtinToolsVersionsFilePath string) er
138138
toolName := strings.Split(rowParts[0], ".")[1]
139139
toolVendor := strings.Split(rowParts[0], ".")[0]
140140
toolVersion := rowParts[1]
141-
if !toolsSliceContains(tools, toolName, toolVersion) {
141+
if !toolsSliceContains(tools, toolName, toolVersion, toolVendor) {
142142
*tools = append(*tools, &types.Tool{Name: toolName, Vendor: toolVendor, Version: toolVersion, Folder: folder})
143143
}
144144
}
@@ -182,7 +182,7 @@ func loadToolsFromFolderStructure(tools *[]*types.Tool, folder string) error {
182182
return i18n.WrapError(err)
183183
}
184184
toolVendor := filepath.Base(strings.Replace(folder, filepath.Base(folder), "", -1))
185-
if !toolsSliceContains(tools, toolName.Name(), toolVersion.Name()) {
185+
if !toolsSliceContains(tools, toolName.Name(), toolVersion.Name(), toolVendor) {
186186
*tools = append(*tools, &types.Tool{Name: toolName.Name(), Vendor: toolVendor, Version: toolVersion.Name(), Folder: toolFolder})
187187
}
188188
}

0 commit comments

Comments
 (0)