Changes
3 changed files (+27/-14)
-
-
@@ -26,5 +26,5 @@ };vendorHash = "sha256-p6gqavG8fbTdAy91VCViwP8/e03vlzCegvAdSGH+dtg="; meta.mainProgram = "custom-elements-compiler"; meta.mainProgram = "custom_elements_compiler"; }
-
-
-
@@ -123,14 +123,14 @@ allocator: std.mem.Allocator,elm_json: std.json.Parsed(ElmJson), license: []const u8, fn init(allocator: std.mem.Allocator, homeDir: *const std.fs.Dir, name: []const u8, version: []const u8) !Library { fn init(allocator: std.mem.Allocator, elm_home: *const std.fs.Dir, name: []const u8, version: []const u8) !Library { var read_buf: [1024]u8 = undefined; std.log.debug("Reading {s}@{s}", .{ name, version }); const path = try std.fs.path.join(allocator, &.{ ".elm/0.19.1/packages", name, version }); const path = try std.fs.path.join(allocator, &.{ "0.19.1/packages", name, version }); defer allocator.free(path); var project_dir = try homeDir.openDir(path, .{}); var project_dir = try elm_home.openDir(path, .{}); defer project_dir.close(); const elm_json = elm_json: {
-
@@ -196,20 +196,31 @@ std.log.err("Unsupported Elm version: {s}", .{project_elm_json_parsed.value.@"elm-version"});return BuildError.UnsupportedElmVersion; } const homeDirPath = switch (builtin.os.tag) { .windows => try std.process.getEnvVarOwned(allocator, "APPDATA"), else => try std.process.getEnvVarOwned(allocator, "HOME"), var elm_home = elm_home: { if (std.process.getEnvVarOwned(allocator, "ELM_HOME")) |elm_home| { defer allocator.free(elm_home); break :elm_home try std.fs.openDirAbsolute(elm_home, .{}); } else |_| { const homeDirPath = switch (builtin.os.tag) { .windows => try std.process.getEnvVarOwned(allocator, "APPDATA"), else => try std.process.getEnvVarOwned(allocator, "HOME"), }; defer allocator.free(homeDirPath); std.log.debug("Opening home directory ({s})", .{homeDirPath}); var homeDir = try std.fs.openDirAbsolute(homeDirPath, .{}); defer homeDir.close(); break :elm_home try homeDir.openDir(".elm", .{}); } }; defer allocator.free(homeDirPath); std.log.debug("Opening home directory ({s})", .{homeDirPath}); var homeDir = try std.fs.openDirAbsolute(homeDirPath, .{}); defer homeDir.close(); defer elm_home.close(); // TODO: Sort dependencies var direct_deps = project_elm_json_parsed.value.dependencies.direct.map.iterator(); while (direct_deps.next()) |dep| { const lib = try Library.init(allocator, &homeDir, dep.key_ptr.*, dep.value_ptr.*); const lib = try Library.init(allocator, &elm_home, dep.key_ptr.*, dep.value_ptr.*); defer lib.deinit(); try lib.write(out);
-
@@ -217,7 +228,7 @@ }var indirect_deps = project_elm_json_parsed.value.dependencies.indirect.map.iterator(); while (indirect_deps.next()) |dep| { const lib = try Library.init(allocator, &homeDir, dep.key_ptr.*, dep.value_ptr.*); const lib = try Library.init(allocator, &elm_home, dep.key_ptr.*, dep.value_ptr.*); defer lib.deinit(); try lib.write(out);
-
-
-
@@ -45,6 +45,8 @@ ./src./build.zig ./build ./elm.json ./LICENSES ./vendor ]; };
-