-
Notifications
You must be signed in to change notification settings - Fork 2
/
test.lua
92 lines (87 loc) · 2.05 KB
/
test.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--[[
test
]]
local file = debug.getinfo(function() end)['short_src']
local folder = string.gsub(file, "%a+%.%a+", "")
package.path = package.path .. ";" .. folder .. "/?.lua;"
local folder = "./files/"
local orders = {
"lua",
"number",
"math",
"string",
"table",
"json",
"yaml",
"plist",
"class",
"Path",
"files",
"bit",
"encryption",
"time",
"timer",
"http",
"package",
"tools",
"console",
"shell",
"Point",
"Object",
"Events",
"Storage",
"Log",
"Graphic",
"dialog",
"canvas",
"bmp",
"colors",
--
"libs/log30",
"libs/deflate",
"libs/stream",
"libs/qrcode",
"libs/png_decode",
"libs/png_encode",
'library',
}
for i,v in ipairs(orders) do
require(folder .. v)
end
local function build()
local target = "./tools.lua"
local content = string.format("\n-- tools:[%s]\n", os.date("%Y-%m-%d_%H:%M:%S", os.time()))
print('pure-lua-tools:')
print('building:')
for i,name in ipairs(orders) do
local path = string.format("%s%s.lua", folder, name)
assert(files.is_file(path), 'file not found:' .. name)
--
print('including:' .. path)
content = content .. string.format("\n-- file:[%s]", path) .. "\n\n"
local code = ""
local skip = false
files.read(path):explode("\n"):foreach(function(k, v)
local text = string.trim(v)
if #text == 0 then
return
elseif string.match(text, "^%s*%-%-%[%[.*") then
skip = true
return
elseif skip and string.match(text, ".*%]%]%s*$") then
skip = false
return
elseif skip then
return
elseif string.match(text, "^%s*%-%-.*") then
return
end
code = code .. v .. "\n"
end)
content = content .. code
end
print('writing:' .. target)
files.write(target, content)
print('finished!')
end
-- build()