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