From a5ce21de4272e69e4895a5fcc8cedf709027b6fb Mon Sep 17 00:00:00 2001 From: robin Date: Wed, 27 May 2026 20:53:55 +0200 Subject: [PATCH] fix: reload luagen on runtime dir changes --- build.zig | 1 + gen/lua_modules.zig | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/build.zig b/build.zig index 01717da..4b5f454 100644 --- a/build.zig +++ b/build.zig @@ -97,6 +97,7 @@ pub fn build(b: *std.Build) !void { luagen.root_module.addImport("zlua", zlua.module("zlua")); const luagen_step = b.addRunArtifact(luagen); + luagen_step.addDirectoryArg(b.path("runtime")); const luagen_path = luagen_step.addOutputDirectoryArg("luagen"); const luagen_tar_cmd = b.addSystemCommand(&.{ diff --git a/gen/lua_modules.zig b/gen/lua_modules.zig index e5914f0..712ff10 100644 --- a/gen/lua_modules.zig +++ b/gen/lua_modules.zig @@ -4,8 +4,6 @@ const Allocator = std.mem.Allocator; const zlua = @import("zlua"); -const DLUA = "runtime"; - var root: []const u8 = undefined; pub fn main(init: std.process.Init) !void { @@ -14,18 +12,18 @@ pub fn main(init: std.process.Init) !void { const args = try init.minimal.args.toSlice(arena); - if (args.len != 2) fatal("wrong number of arguments", .{}); + if (args.len != 3) fatal("wrong number of arguments", .{}); - const output_dir_path = args[1]; + const lua_modules_path = args[1]; + const lua_modules_dir = try Io.Dir.cwd().openDir(io, lua_modules_path, .{ .access_sub_paths = true, .iterate = true }); + const output_dir_path = args[2]; Io.Dir.createDirAbsolute(io, output_dir_path, .default_dir) catch |err| switch (err) { error.PathAlreadyExists => {}, else => return err, }; const output_dir = try Io.Dir.openDirAbsolute(io, output_dir_path, .{ .access_sub_paths = true }); std.debug.print("using output dir: {s}\n", .{output_dir_path}); - - const lua_modules_dir = try Io.Dir.cwd().openDir(io, DLUA, .{ .access_sub_paths = true, .iterate = true }); var real_path: [std.posix.PATH_MAX]u8 = undefined; const i = try lua_modules_dir.realPath(io, &real_path); root = real_path[0..i]; -- 2.51.2