| ... | ... | @@ -9,18 +9,32 @@ const aq = @import("./../aq.zig"); |
| 9 | 9 | |
| 10 | 10 | pub fn execute(args: [][]u8) !void { |
| 11 | 11 | const pkg_id = args[0]; |
| 12 | _ = try do(std.fs.cwd(), pkg_id); |
| 13 | std.log.info("Successfully added package {s}", .{pkg_id}); |
| 14 | } |
| 12 | 15 | |
| 16 | pub fn do(dir: std.fs.Dir, pkg_id: []const u8) ![]const u8 { |
| 13 | 17 | const url = try std.mem.join(gpa, "/", &.{ aq.server_root, pkg_id }); |
| 14 | 18 | const val = try aq.server_fetch(url); |
| 15 | 19 | |
| 16 | | const file = try std.fs.cwd().openFile("zig.mod", .{ .read = true, .write = true }); |
| 17 | | try file.seekTo(try file.getEndPos()); |
| 18 | | |
| 19 | | const file_w = file.writer(); |
| 20 | | try file_w.print(" - src: git https://{s}/{s}\n", .{ |
| 20 | const pkg_url = try std.fmt.allocPrint(gpa, "https://{s}/{s}", .{ |
| 21 | 21 | val.get(.{ "repo", "domain" }).?.String, |
| 22 | 22 | val.get(.{ "pkg", "remote_name" }).?.String, |
| 23 | 23 | }); |
| 24 | 24 | |
| 25 | | std.log.info("Successfully added package {s}", .{pkg_id}); |
| 25 | const m = try u.ModFile.from_dir(gpa, dir); |
| 26 | for (m.devdeps) |d| { |
| 27 | if (std.mem.eql(u8, d.path, pkg_url)) { |
| 28 | return pkg_url; |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | const file = try dir.openFile("zig.mod", .{ .read = true, .write = true }); |
| 33 | defer file.close(); |
| 34 | try file.seekTo(try file.getEndPos()); |
| 35 | |
| 36 | const file_w = file.writer(); |
| 37 | try file_w.print(" - src: git {s}\n", .{pkg_url}); |
| 38 | |
| 39 | return pkg_url; |
| 26 | 40 | } |