@@ -133,12 +133,6 @@ func (c *Tools) Installed(ctx context.Context) (tools.ToolCollection, error) {
133
133
// Install crawles the Index folder, downloads the specified tool, extracts the archive in the Tools Folder.
134
134
// It checks for the Signature specified in the package index.
135
135
func (c * Tools ) Install (ctx context.Context , payload * tools.ToolPayload ) (* tools.Operation , error ) {
136
- path := filepath .Join (payload .Packager , payload .Name , payload .Version )
137
-
138
- if payload .URL != nil {
139
- return c .install (ctx , path , * payload .URL , * payload .Checksum )
140
- }
141
-
142
136
list , err := c .Indexes .List (ctx )
143
137
if err != nil {
144
138
return nil , err
@@ -159,9 +153,7 @@ func (c *Tools) Install(ctx context.Context, payload *tools.ToolPayload) (*tools
159
153
if tool .Name == payload .Name &&
160
154
tool .Version == payload .Version {
161
155
162
- sys := tool .GetFlavourCompatibleWith (runtime .GOOS , runtime .GOARCH )
163
-
164
- return c .install (ctx , path , sys .URL , sys .Checksum )
156
+ return c .install (ctx , payload .Packager , tool )
165
157
}
166
158
}
167
159
}
@@ -172,9 +164,12 @@ func (c *Tools) Install(ctx context.Context, payload *tools.ToolPayload) (*tools
172
164
payload .Packager , payload .Name , payload .Version ))
173
165
}
174
166
175
- func (c * Tools ) install (ctx context.Context , path , url , checksum string ) (* tools.Operation , error ) {
167
+ func (c * Tools ) install (ctx context.Context , packager string , tool Tool ) (* tools.Operation , error ) {
168
+ sys := tool .GetFlavourCompatibleWith (runtime .GOOS , runtime .GOARCH )
169
+ path := filepath .Join (packager , tool .Name , tool .Version )
170
+
176
171
// Download
177
- res , err := http .Get (url )
172
+ res , err := http .Get (sys . URL )
178
173
if err != nil {
179
174
return nil , err
180
175
}
@@ -199,7 +194,7 @@ func (c *Tools) install(ctx context.Context, path, url, checksum string) (*tools
199
194
sum := sha256 .Sum256 (buffer .Bytes ())
200
195
sumString := "SHA-256:" + hex .EncodeToString (sum [:sha256 .Size ])
201
196
202
- if sumString != checksum {
197
+ if sumString != sys . Checksum {
203
198
os .RemoveAll (path )
204
199
return nil , errors .New ("checksum doesn't match" )
205
200
}
0 commit comments