1
1
import (" net.http.download" )
2
2
import (" utils.archive.extract" )
3
3
4
- local function movefilesinfolder (src , dest )
4
+ local function movefilesinfolder (src , dest , callback )
5
5
print (' create folder :' .. dest )
6
6
os .mkdir (dest )
7
7
print (' move folder :' .. src .. " to folder:" .. dest )
@@ -10,13 +10,15 @@ local function movefilesinfolder(src, dest)
10
10
11
11
if os .isdir (luafile ) then
12
12
-- print('folder:' .. luafile)
13
- movefilesinfolder (luafile , path .join (dest , path .filename (luafile )))
13
+ movefilesinfolder (luafile , path .join (dest , path .filename (luafile )),
14
+ callback )
14
15
15
16
else
16
17
-- print('file:' .. luafile)
17
18
print (' move file :' .. luafile .. " to folder:" .. dest )
18
19
19
20
os .mv (luafile , dest )
21
+ callback (path .join (dest , path .filename (luafile )))
20
22
21
23
end
22
24
@@ -28,26 +30,33 @@ function main()
28
30
local name = " leetcode-treenode-cpp"
29
31
local version = " 1.1.8"
30
32
local folder = name .. " -" .. version
31
- local file = path .join (' downloads' , folder .. ' .tar.gz' )
32
- if not os .exists (file ) then
33
+ local archivefile = path .join (' downloads' , folder .. ' .tar.gz' )
34
+ if not os .exists (archivefile ) then
33
35
local url = ' https://ghproxy.com/https://github.com/masx200/' .. name ..
34
36
' /archive/' .. version .. ' .tar.gz'
35
- print (' download url:' .. url .. " to file:" .. file )
36
- download (url , file )
37
+ print (' download url:' .. url .. " to file:" .. archivefile )
38
+ download (url , archivefile )
37
39
end
38
40
local outputdir = path .join (' downloads' , folder )
39
41
if os .exists (outputdir ) then
40
42
print (" remove folder:" .. outputdir )
41
43
os .rmdir (outputdir )
42
44
end
43
- print (' extract file:' .. file .. " to folder:" .. outputdir )
44
- extract (file , outputdir )
45
+ print (' extract file:' .. archivefile .. " to folder:" .. outputdir )
46
+ extract (archivefile , outputdir )
45
47
local src = path .join (' downloads' , folder , folder )
46
48
if os .exists (name ) then
47
49
print (" remove folder:" .. name )
48
50
os .rmdir (name )
49
51
end
50
-
51
- movefilesinfolder (src , name )
52
-
52
+ local installedlistfile = io.open (archivefile .. ' .list' , " w" )
53
+ if nil == installedlistfile then
54
+ print (" open file: " .. archivefile .. ' .list' .. " fail" )
55
+ return
56
+ end
57
+ movefilesinfolder (src , name , function (installedfile )
58
+ installedlistfile :write (installedfile )
59
+ installedlistfile :write (" \n " )
60
+ end )
61
+ installedlistfile :close ()
53
62
end
0 commit comments