@@ -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