223 path = base_path..module.path; |
223 path = base_path..module.path; |
224 end |
224 end |
225 print_debug("Packing "..modulename.." ("..path..")..."); |
225 print_debug("Packing "..modulename.." ("..path..")..."); |
226 local data, err = fetch.filesystem(path); |
226 local data, err = fetch.filesystem(path); |
227 if (not data) and module.url then |
227 if (not data) and module.url then |
228 print_debug("Fetching: ".. module.url:gsub("%?", module.path)) |
228 local url = module.url:gsub("%?", module.path); |
229 data, err = fetch.http(module.url:gsub("%?", module.path)); |
229 print_debug("Fetching: ".. url) |
|
230 if url:match("^https?://") then |
|
231 data, err = fetch.http(url); |
|
232 elseif url:match("^file://") then |
|
233 local dataf, dataerr = io.open((url:gsub("^file://", ""))); |
|
234 if dataf then |
|
235 data, err = dataf:read("*a"); |
|
236 dataf:close(); |
|
237 else |
|
238 data, err = nil, dataerr; |
|
239 end |
|
240 end |
230 end |
241 end |
231 if data then |
242 if data then |
232 f:write("package.preload['", modulename, "'] = (function (...)\n"); |
243 f:write("package.preload['", modulename, "'] = (function (...)\n"); |
233 f:write(data); |
244 f:write(data); |
234 f:write(" end)\n"); |
245 f:write(" end)\n"); |