#include "build.h" #include "package.h" #include "paths.h" #include "lauxlib.h" #include "lua.h" #include "lualib.h" #include "stdio.h" #include "unistd.h" int pow_package_build(pow_package *pkg) { if (pkg->pkg_ref == LUA_NOREF) { printf("error! pkg_ref is equal to LUA_NOREF\n"); return 1; } lua_rawgeti(pkg->L, LUA_REGISTRYINDEX, pkg->pkg_ref); char *tmp_path = NULL; int err = pow_create_dir_for_package(&tmp_path); if (err) { printf("error creating temp dir for package\n"); return 1; } printf("%s\n", tmp_path); if ((err = chdir(tmp_path))) { printf("uh oh oops %d\n", err); } lua_getfield(pkg->L, -1, "build"); if (lua_pcall(pkg->L, 0, 0, 0) != LUA_OK) { printf("error running script: %s\n", lua_tostring(pkg->L, -1)); return 1; } fflush(stdout); return 0; }