| ... | ... | @@ -89,8 +89,9 @@ fn get_moddir(basedir: []const u8, d: u.Dep, parent_name: []const u8, options: * |
| 89 | 89 | const p = try std.fs.path.join(gpa, &.{ basedir, try d.clean_path() }); |
| 90 | 90 | const pv = try std.fs.path.join(gpa, &.{ basedir, try d.clean_path_v() }); |
| 91 | 91 | |
| 92 | | if (u.list_contains(options.already_fetched.items, p)) return p; |
| 93 | | if (u.list_contains(options.already_fetched.items, pv)) return pv; |
| 92 | const nocache = d.type == .local or d.type == .system_lib; |
| 93 | if (!nocache and u.list_contains(options.already_fetched.items, p)) return p; |
| 94 | if (!nocache and u.list_contains(options.already_fetched.items, pv)) return pv; |
| 94 | 95 | |
| 95 | 96 | const tempdir = try std.fs.path.join(gpa, &.{ basedir, "temp" }); |
| 96 | 97 | if (options.log and d.type != .local) { |
| ... | ... | @@ -199,7 +200,10 @@ pub fn get_module_from_dep(d: *u.Dep, dir: []const u8, parent_name: []const u8, |
| 199 | 200 | } |
| 200 | 201 | } |
| 201 | 202 | const moddir = try get_moddir(dir, d.*, parent_name, options); |
| 202 | | try options.already_fetched.append(moddir); |
| 203 | |
| 204 | const nocache = d.type == .local or d.type == .system_lib; |
| 205 | if (!nocache) try options.already_fetched.append(moddir); |
| 206 | |
| 203 | 207 | switch (d.type) { |
| 204 | 208 | .system_lib => { |
| 205 | 209 | return u.Module{ |