| ... | ... | @@ -30,13 +30,16 @@ pub const ModFile = struct { |
| 30 | 30 | defer file.close(); |
| 31 | 31 | const input = try file.reader().readAllAlloc(alloc, mb); |
| 32 | 32 | const doc = try yaml.parse(alloc, input); |
| 33 | return from_mapping(alloc, doc.mapping); |
| 34 | } |
| 33 | 35 | |
| 34 | | const id = doc.mapping.get_string("id"); |
| 35 | | const name = doc.mapping.get("name").?.string; |
| 36 | | const main = doc.mapping.get_string("main"); |
| 36 | pub fn from_mapping(alloc: *std.mem.Allocator, mapping: yaml.Mapping) anyerror!Self { |
| 37 | const id = mapping.get_string("id"); |
| 38 | const name = mapping.get("name").?.string; |
| 39 | const main = mapping.get_string("main"); |
| 37 | 40 | |
| 38 | 41 | const dep_list = &std.ArrayList(u.Dep).init(alloc); |
| 39 | | if (doc.mapping.get("dependencies")) |dep_seq| { |
| 42 | if (mapping.get("dependencies")) |dep_seq| { |
| 40 | 43 | if (dep_seq == .sequence) { |
| 41 | 44 | for (dep_seq.sequence) |item| { |
| 42 | 45 | var dtype: []const u8 = undefined; |
| ... | ... | @@ -74,11 +77,11 @@ pub const ModFile = struct { |
| 74 | 77 | .id = if (id.len == 0) try u.random_string(48) else id, |
| 75 | 78 | .name = name, |
| 76 | 79 | .main = main, |
| 77 | | .c_include_dirs = try doc.mapping.get_string_array(alloc, "c_include_dirs"), |
| 78 | | .c_source_flags = try doc.mapping.get_string_array(alloc, "c_source_flags"), |
| 79 | | .c_source_files = try doc.mapping.get_string_array(alloc, "c_source_files"), |
| 80 | .c_include_dirs = try mapping.get_string_array(alloc, "c_include_dirs"), |
| 81 | .c_source_flags = try mapping.get_string_array(alloc, "c_source_flags"), |
| 82 | .c_source_files = try mapping.get_string_array(alloc, "c_source_files"), |
| 80 | 83 | .deps = dep_list.items, |
| 81 | | .yaml = doc.mapping, |
| 84 | .yaml = mapping, |
| 82 | 85 | }; |
| 83 | 86 | } |
| 84 | 87 | }; |