3
3
using installer . Services ;
4
4
using System . Collections . Concurrent ;
5
5
using System . Diagnostics ;
6
+ using System . IO . Compression ;
6
7
7
8
Logger Log = LoggerProvider . FromConsole ( ) ;
8
9
17
18
d . Log . Partner . Add ( Log ) ;
18
19
// 每次更新需要更新默认值
19
20
d . CurrentVersion = new TVersion ( ) ;
20
- File . Create ( Path . Combine ( "D:\\ a\\ publish" , d . CurrentVersion . InstallerVersion . ToString ( ) ) ) ;
21
21
22
- if ( d . CheckUpdate ( ) )
22
+ switch ( args [ 2 ] )
23
23
{
24
- foreach ( var r in d . Data . MD5Update )
25
- {
26
- Log . LogInfo ( $ "{ r . state } , { r . name } ") ;
27
- }
24
+ case "check" :
28
25
29
- d . Data . SaveMD5Data ( ) ;
30
- List < Task > l = new List < Task > ( ) ;
31
- foreach ( var r in d . Data . MD5Update )
32
- {
33
- var n = r . name . Replace ( '\\ ' , '/' ) ;
34
- n = n . TrimStart ( '.' ) . TrimStart ( '/' ) ;
35
- if ( r . state == System . Data . DataRowState . Added || r . state == System . Data . DataRowState . Modified )
26
+ if ( d . CheckUpdate ( ) )
36
27
{
37
- l . Add ( Cloud . UploadFileAsync ( Path . Combine ( d . Data . Config . InstallPath , r . name ) , n ) ) ;
28
+ foreach ( var r in d . Data . MD5Update )
29
+ {
30
+ Log . LogInfo ( $ "{ r . state } , { r . name } ") ;
31
+ }
32
+
33
+ d . Data . SaveMD5Data ( ) ;
34
+ List < Task > l = new List < Task > ( ) ;
35
+ foreach ( var r in d . Data . MD5Update )
36
+ {
37
+ var n = r . name . Replace ( '\\ ' , '/' ) ;
38
+ n = n . TrimStart ( '.' ) . TrimStart ( '/' ) ;
39
+ if ( r . state == System . Data . DataRowState . Added || r . state == System . Data . DataRowState . Modified )
40
+ {
41
+ l . Add ( Cloud . UploadFileAsync ( Path . Combine ( d . Data . Config . InstallPath , r . name ) , n ) ) ;
42
+ }
43
+ else if ( r . state == System . Data . DataRowState . Deleted )
44
+ {
45
+ l . Add ( Cloud . DeleteFileAsync ( n ) ) ;
46
+ }
47
+ }
48
+ Task . WaitAll ( l . ToArray ( ) ) ;
38
49
}
39
- else if ( r . state == System . Data . DataRowState . Deleted )
50
+ else
40
51
{
41
- l . Add ( Cloud . DeleteFileAsync ( n ) ) ;
52
+ Log . LogInfo ( "Nothing to update" ) ;
42
53
}
43
- }
44
- Task . WaitAll ( l . ToArray ( ) ) ;
45
- }
46
- else
47
- {
48
- Log . LogInfo ( "Nothing to update" ) ;
49
- }
50
54
51
- d . Data . SaveMD5Data ( ) ;
52
- Cloud . UploadFile ( d . Data . MD5DataPath , "hash.json" ) ;
55
+ d . Data . SaveMD5Data ( ) ;
56
+ Cloud . UploadFile ( d . Data . MD5DataPath , "hash.json" ) ;
53
57
54
- Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "CAPI" , "cpp" , "API" , "src" , "AI.cpp" ) ,
55
- $ "Templates/t.{ d . CurrentVersion . TemplateVersion } .cpp") ;
56
- Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "CAPI" , "python" , "PyAPI" , "AI.py" ) ,
57
- $ "Templates/t.{ d . CurrentVersion . TemplateVersion } .py") ;
58
- Log . LogInfo ( "User code uploaded." ) ;
58
+ Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "CAPI" , "cpp" , "API" , "src" , "AI.cpp" ) ,
59
+ $ "Templates/t.{ d . CurrentVersion . TemplateVersion } .cpp") ;
60
+ Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "CAPI" , "python" , "PyAPI" , "AI.py" ) ,
61
+ $ "Templates/t.{ d . CurrentVersion . TemplateVersion } .py") ;
62
+ Log . LogInfo ( "User code uploaded." ) ;
59
63
60
- var list = ( from i in d . Data . MD5Data
61
- select i . Key . Replace ( Path . DirectorySeparatorChar , '/' ) . TrimStart ( '.' ) . TrimStart ( '/' ) ) . ToArray ( ) ;
62
- Log . LogInfo ( list [ 0 ] ) ;
63
- using ( FileStream s = new FileStream ( Path . Combine ( d . Data . Config . InstallPath , "compress.csv" ) , FileMode . Create , FileAccess . Write ) )
64
- using ( StreamWriter w = new StreamWriter ( s ) )
65
- {
66
- foreach ( var item in list )
67
- {
68
- w . WriteLine ( "https://thuai7-1319625962.cos.ap-beijing.myqcloud.com/" + item ) ;
69
- }
70
- }
71
- Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "compress.csv" ) , "compress.csv" ) ;
72
- Log . LogInfo ( "Compress csv generated." ) ;
64
+ var list = ( from i in d . Data . MD5Data
65
+ select i . Key . Replace ( Path . DirectorySeparatorChar , '/' ) . TrimStart ( '.' ) . TrimStart ( '/' ) ) . ToArray ( ) ;
66
+ Log . LogInfo ( list [ 0 ] ) ;
67
+ using ( FileStream s = new FileStream ( Path . Combine ( d . Data . Config . InstallPath , "compress.csv" ) , FileMode . Create , FileAccess . Write ) )
68
+ using ( StreamWriter w = new StreamWriter ( s ) )
69
+ {
70
+ foreach ( var item in list )
71
+ {
72
+ w . WriteLine ( "https://thuai7-1319625962.cos.ap-beijing.myqcloud.com/" + item ) ;
73
+ }
74
+ }
75
+ Cloud . UploadFile ( Path . Combine ( d . Data . Config . InstallPath , "compress.csv" ) , "compress.csv" ) ;
76
+ Log . LogInfo ( "Compress csv generated." ) ;
77
+ break ;
78
+ case "upload" :
79
+ d . UpdateMD5 ( ) ;
80
+ if ( d . Data . FileHashData . TVersion . InstallerVersion < d . CurrentVersion . InstallerVersion )
81
+ {
82
+ Cloud . DownloadFile ( @"D:\a\publish\Secret.csv" , "Secret.csv" ) ;
83
+ ZipFile . CreateFromDirectory ( @"D:\a\publish" , @$ "D:\a\Installer_v{ d . CurrentVersion . InstallerVersion } .zip", CompressionLevel . SmallestSize , false ) ;
84
+ Cloud . UploadFile ( @$ "D:\a\Installer_v{ d . CurrentVersion . InstallerVersion } .zip", $ "Setup/Installer_v{ d . CurrentVersion . InstallerVersion } .zip") ;
85
+ }
86
+ else
87
+ {
88
+ Log . LogInfo ( "No installer version update found." ) ;
89
+ }
90
+ break ;
91
+ }
0 commit comments